C#基础总结 • 【第2章 类与对象;修饰符】

全部章节 >>>>


01. 类的定义与对象的实例化

类的定义:文件名就是类名
在这里插入图片描述

给类中添加属性

  • 私有属性:String color;
  • 公有属性:public String color;

在这里插入图片描述

对象的实例化

  • 类名 变量名 = new 类名();

在这里插入图片描述

获取对象的属性值并修改

  • 对象.属性名=值

在这里插入图片描述

02. 定义方法并使用

定义方法格式:

  • 访问修饰符 返回值类型 方法名( 形参的类型 形参名称 ){方法执行内容}

返回值类型

  • 默认:void
  • 基本类型:如int
  • 数组:数组名[]
  • 字符串:String
  • 自定义的类:类名

调用方法

  • 对象调方法:对象.方法名( );
  • 例:a.method();
  • 方法调方法:方法名( );
  • 例:method();

调用带有返回值的方法

  • 用一个和返回值相同类型的变量 接收这个返回值
  • 返回值类型 变量名 = 对象.方法名( );
  • 例:String js = a.method( );

调用带有参数的方法

  • 对象.方法名( 实参1,实参n );
  • 例:a.method ( eee: “成功”, i: 5 );

03. 对象数组

与普通数组的区别

  • 对象数组可以存自定义对象
  • 普通数组存基本数据类型

对象数组的定义

  • 类名[] 变量名 = new 类名[长度];

对象数组中的方法调用

  • 遍历调用每一个数组成员的方法
for(int i=0; i<对象数组.length; i++){
	对象数组[ i ] . 方法名();
}

04. 修饰符

一、属性修饰符

Serializable:按值将对象封送到远程服务器。在按值封送对象时,就会创建一个该对象的副本,并将其序列化传送到服务器。 任何对该对象的方法调用都是在服务器上进行的。

STAThread:单线程套间、是一种线程模型

MTAThread:多线程套间、是一种线程模型

二、访问修饰符
类型代码作用
公有访问public不受任何限制
保护访问protected实例不能访问
私有访问private子类,实例都不能访问
内部访问internal只限本项目内访问,其他不能访问
内部保护访问protected internal只限于本项目或是子类访问,其他不能访问
三、类修饰符

public:不受限制

internal:只限本项目内访问

Partial:部分类,可以将一个类分成几部分写在不同文件中,最终编译时将合并成一个文件,且各个部分不能分散在不同程序集中。常见场景在Winform定义窗体或者控件时,自动生成的前端单元和逻辑单元。

Abstract:修饰类,表示不能够创建该类的实例。修饰方法,表示该方法需要由子类来实现,如果子类没有实现该方法那么子类同样是抽象类;且含有抽象方法的类一定是抽象类。

Sealed:修饰类,表示该类不能够被继承。修饰方法,表示该方法不能被覆写。

Static:修饰类,表示不能够实例化该类的对象,也不能含有对象成员;修饰类成员时,该成员为类成员,只能通过【类.成员名】的方式访问。

四、成员修饰符

公共修饰符:public

私有修饰符:private

保护修饰符:protected

内部修饰符:internal

Virtual:修饰方法成员,表示虚方法。父类可以含有该类的实现,子类可以覆写该函数。

Override:表示该方法为覆写了父类的方法。

Readonly:修饰字段,表示该字段为只读字段。

Const:修饰字段,表示该字段为只读字段。并且在编译时必须能够明确知道该字段的值,其值是硬编码到程序中去的,修改了该类型成员后需要重新编译才能使修改生效。
Readonly不能修饰局部变量,const可以。

abstract用来修饰抽象类,表示该类只能作为父类被用于继承,而不能进行对象实例化。抽象类可以包含抽象的成员,但这并非必须。abstract不能和new同时用。

sealed用来修饰类为密封类,阻止该类被继承。同时对一个类作abstract和sealed的修饰是没有意义的,也是被禁止的。

  • 注意:当一个类或方法没有被任何修饰符修饰时,默认为internal。

05. 访问器

作用

  • 在私有字段使用时,给读写权限

用法:封装字段,

  • public 类型 属性名{ get{} set{} }

get访问器

  • 取值时,会触发的代码、负责读权限
  • 用法:get { return 私有字段; }

set访问器

  • 赋值时,会触发的代码、负责写权限
  • 赋值:value
  • 用法:set { 私有字段 = value; }

06.关键词:this

相当于对象本身

  • 访问时,表示访问对象本身的值
  • 静态方法无法使用

07. 预处理器:#region、可折叠代码块

用法:

#region 折叠后的说明文字

	中间的代码
	
#endregion

例,折叠前:

在这里插入图片描述
折叠后:
在这里插入图片描述

08. 异常捕捉:Try-Catch

● 用法:

Try {
	有可能出现错误的代码写这里
}
Catch {
	出错后执行的代码
}

Try-Catch 作用:

  • 如果代码没有出错,则正常运行Try中的内容,不会执行Catch中的内容。
  • 如果代码一旦出错,立即执行Catch代码,Try后面的代码不再执行了
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值