一、面向对象的基本特征——封装、继承、多态
抽象
抽象是人们认识事物的一种方法。
抓住事物本质,而不是内部具体细节或具体实现。
从具体到一般的过程被称为抽象。
对象 - > 类(归类) 大类->小类(分类)
从特殊到一般的过程
封装
封装是按照信息屏蔽的原则,把对象的属性和操作结合起在一起,构成一个独立的对象。
通过限制对属性和操作的访问权限,可以将属性“隐藏”在对象的内部,对外提供一定的接口,在对象之外只能通过接口对对象进行操作;
封装性增加了对象的独立性,从而保证了数据的可靠性。
外部对象不能直接操作对象的属性,只能使用对象提供的服务。
例如:人控制电视
可以使使用者更加专注,封装是对使用者更好的服务;
继承
继承表达了对象一般与特殊的关系。特殊类的对象具有一般类的全部属性和服务;
当定义了一个类以后,有需要定义另一个类,这个新类与原来的类相比只是增加或修改了部分属性和操作,这个时候可以用原来的类派生出新类,新类中只需描述自己所持有的属性和操作;
继承性大大简化了对问题的描述,大大提高了程序的重用性,从而提高了程序设计、修改、扩充的效率;
从一般到特殊的过程
多态
多态性:同一个消息被不同对象接收时,产生不同结果,即实现同一接口,不同方法。
一般类中定义的属性和服务,在特殊类中不改变其名字,但通过各自不同的实现后,可以具有不同的数据类型或具体不同的行为;
多态使得我们能够以一致的观点来看待不同的(但大相径庭的)对象;
同一个消息发送给不同的对象,就会呈现不同的行为。
继承和多态
继承和多态的组合,可以生成很多相似但又独一无二的对象。继承使得这些对象可以共享许多相似的特性,而多态又使同一个操作对不同的对象产生不同的表现形式。这样不仅提升了程序设计的灵活性,而且减轻了分别设计的负担。
面向对象是一种认识世界的方法,也是一种程序设计方法。
面向对象的观点认为,客观世界是由各种各样的实体,也就是对象组成的。每种对象都有自己的内部规律和运动规律。不同的对象间的相互联系和相互作用就构成了各种不同的系统,并进而构成了整个客观世界。