- 面向对象(OOP)的基本概念
- 对象:现实世界中的一个实体,两个特征(状态和行为);
- 类:具有相似特征和行为的对象的集合,属于某个类的一个具体的对象为这个类的一个实例,类和实例的关系是抽象和具体的关系。
- 消息:一个对象发送消息包含三方面内容(接受消息的对象、接受对象才用的方法、方法所需要的参数)。
- 面向对象(OOP)的三大特征
- 封装性:
(1)把对象的状态(属性)和行为(方法)结合成一个独立的系统单位,并尽可能地隐藏对象的内部细节。
(2)封装使一个对象形成两个部分:接口部分和实现部分。对用户来讲,接口部分是可见的,而现实部分是不可见的。
(3)封装提供了两种保护:首先封装可以保护对象,防止用户直接存取对象的内部细节;其次封装也可以保护了客户端,防止对象实现部分的改变可能产生的副作用,即实现部分的改变不会影响到客户端的改变。 - 继承性:一个对象获得另一个对象属性的过程。继承性体现了类之间的是一种(IS-A)关系。类之间的关系还有组合,关联等。
- 多态性:
(1)方法重载:在同一个类中定义了多个名称相同的方法,为静态多态。
(2)方法覆盖:子类中定义与父类中的方法同名的方法,为动态多态。
- OOP的三大优势
- 易维护
- 可重用
- 可扩展