面向对象程序设计有三大特征:封装、继承和多态。
类
类的声明使用class关键字来声明,类的成员包括字段、属性、方法、构造函数等。
1)字段就是程序开发中常见的变量或者常量,字段属于类级别的变量,未初始化时,C#将其初始化为默认值,但不会将局部变量初始化为默认值,例如下面的第一个变量会初始化,第二个局部变量不会初始化。
2)属性就是对现实实体特征的抽象,提供对类或者对象的访问。类的属性描述的是状态信息,主要用途是限制外部类对类中成员 的访问权限,用来保护数据的合法性,定义在类中,属性的声明语法如下:
【权限修饰符】【类型】【属性名】
{
get {get访问器体}
set {set访问器体}
}
在汽车类中创建name属性,属性名的第一个字母通常要大写
get访问器:相当于一个具有属性类型返回值的无参数方法,需要用return来返回,
set访问器:相当于一个具有单个属性类型值参数和void返回类型的方法,其隐式参数始终命名为value。
可读可写包含set与get访问器,只读只包含set访问器,只写只包含set访问器。
C#中支持自动实现的属性,使用自动属性要同时包含set与get访问器
3)构造函数,构造函数是一个特殊的函数,它是在创建对象时执行的方法,构造函数具有与类相同的名称,它通常用来初始化对象的数据成员,构造函数没有返回值,构造函数的名称与本类的名称相同,例如,构造函数与类名是一致的,一般可用来给属性进行初始化
构造函数可以是有参构造函数和无参构造函数(默认构造函数),这两种也叫作实例构造函数,在定义类时,使用有参构造函数时,在创建类的对象时也要有参数例如 Car car=new Car("牧马人");
构造函数也有静态构造函数,这种构造函数在引用类之前执行一次,且静态构造函数不能设置访问修饰符,要添加static静态构造函数不能带任何参数且一个类中只能有一个静态构造函数,它能访问类的静态成员,不能访问实例成员。