1、什么是类?
类是一种抽象的数据类型,是对一类对象的统一描述。在生活中,我们常把具有相同特性的事物归为一类。
类用class来声明 语法如下:
<访问修饰符> class 类名
{
//类的主体
}
所有执行代码必须包含在类中,不存在类之外的代码,这是C#的要求。
例如:创建一个汽车的类的时候:public class But
{
//汽车的属性和方法
}
2、访问修饰符
C#规定,默认情况下类的访问修饰符为internal,类成员的默认访问修饰符为private
访问修饰符的作用是用来规定被修饰的类、属性和方法被访问的权限
3、类和对象的关系
类和对象时密不可分的,有类就有对象,有对象就有类,世界万物都可以看做对象。用面向对象的思想来思考问题,就要把一切都看成对象。
对象时不能脱离类存在的。类是一组拥有共同特性的对象的描述,由对象归纳为类,对象是类的具体表现。
在不同的情况下,我们思考的角度不同,分类的标准不同,对象也是不同的。在编程中,针对不同的需求,对象也是变化的。
从抽象到具体的过程就是将类的属性和行为实例化的过程
4、构造函数
构造函数名与类同名,不返回任何值
每次创建类的实例都会自动调用构造函数
用于初始化变量成员
5、new关键字
可以实例化一个新的对象
制定对某个参数的构造函数
6、方法调用的步骤
实例化
对象名.方法名([参数])
7、不能被子类继承的类称之为密封类
8、属性
有时候将类中的字段公开是不安全的
如果把类中的属性设为私有成员 无法正常赋值 无法获得数据
C#通过属性来读取和写入字段,而不直接读取和写入,以此来提供对类中字段的保护。
属性可用于类内部封装字段。
属性石C#面向对象技术中封装性的有效体现。
属性通常能通过访问器访问(get,set)来操作字段
属性分为三种不同的类型:读/写属性、只读属性、只写属性
静态属性 加static 静态属性应用于整个类而不是类的实例
静态属性的访问方式:类名.静态属性名
属性是逻辑字段
属性是字段的扩展
与字段不同,属性不直接对应于存储位置
属性本质上是方法,只是和方法表示不同,属性不适用园括号
<对象初始化器>
9、封装
封装是面向对象的三大特性之一
封装的优点:避免非法数据的访问 保证数据的完整性
10、索引器
索引器是C#中的一种特殊属性
为数组创建索引器后,可以通过实例对象指定索引来直接访问数组元素
可以用索引数组的方式索引对象
索引器不指向内存位置
索引器可以有非整数的下表(索引)
可以重载索引器
定义索引器的规则是:必须指定至少一个索引器参数 应当为索引器参数赋值