第1篇 类与对象
一 类与对象
类(class)是对一类具有共同特征的事物的抽象,或者说是一类具有相同数据结构和相同操作的对象的抽象。在开发过程中,类就好比是一个定型模具,通过这个模具,我们可以创造出无数的长成此模型样子的对象。
对象(object)是对客观世界事物的一种抽象,是由数据及操作所组成的封装体。
类是一种抽象的数据类型,是对具体对象的抽象,每一个对象是类的具体实例。类是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础。
打个比方:汽车是一种事物类型,他本身是个抽象的概念,而我们能够在大街上看到的一辆辆真实的车子就是对象,对象真实存在着。于是我们用类class Vehicle来描述汽车这种事物,并且用 Vehicle vehicle1=new Vehicle() 这样的构造方法去实例化一个个具体的对象,用来表示真实的汽车。
二 类的构成
类的成员包括类的常量,字段,属性,索引器,方法,事件,构造函数,析构函数等。其中与类的数据相关的数据成员有常量,字段和属性。
三 类的可访问性
访问修饰符 |
访问权限 |
public |
公共成员,访问不受限制 |
private |
私有成员,访问仅限于该类内部 |
internal |
内部成员,访问仅限于当前程序集 |
protected |
受保护成员,访问仅限于该类及其派生类 |
protected internal |
访问仅限于该类或者当前程序集的派生类 |
类成员默认的访问权限为private
四 对象的特点
- 自治性 对于给定的输入,经过状态转换,对象能产生输出。自治性反映了对象独立
计算的能力。
- 封闭性 对象的封闭性是指对象具有信息隐蔽的能力。
- 通信性 对象能够接收其它对象发来的消息,也能向其它对象发送消息。通信性反映
了不同对象间的联系。
封闭性和通信性说明对象是一个既封闭又开放的相对独立体
五 类的三大特性(也叫面向对象的三大特性)
封装:隐藏具体实现细节,对外提供公共的访问方式(接口)即为封装。将数据和操作封装为一个有机的整体,由于类中私有成员都是隐藏的,只向外部提供有限的接口。
继承:子类可以使用父类的属性和方法。(注意:父类中私有的属性,私有的方法不能被子类使用)
多态:指父类的引用类型变量指向了子类的对象或者是接口类型的引用类型变量指向了接口实现类的对象。我们将不同的子类对象都当做父类来看,屏蔽所有子类之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断改变。