面向对象:
面向对象是一种符合人类思维习惯的编程思想。现实生活中存在各种形态不同的事物,这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实中的事物,使用对象的关系来描述事物之间的联系,这种思想就是面向对象。
面向对象主要由三大特性:
-
封装
-
继承
-
多态
封装性:
封装是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想。例如:用户使用电脑只需要用手指敲键盘就行了,无须知道电脑内部是如何工作的,即使用户可能碰巧知道电脑的工作原理,但在使用时,并不完全依赖电脑工作原理这些细节。
封装的好处:
- 只能通过规定的方法访问数据。
- 隐藏类的实例细节,方便修改和实现。
封装的实现步骤:
需要注意:对封装的属性不一定要通过get/set方法,其他方法也可以对封装的属性进行操作。当然最好使用get/set方法,比较标准。
继承性:
继承性主要描述的是类与类之间的关系,通过继承,可以在无须重新编写原有类的情况下,对原有类的功能进行扩展。
例如:有一个汽车类,该类中描述了汽车的普通特性和功能,而轿车的类中不仅应该包含汽车的特性和功能,还应该增加轿车特有的功能,这时,可以让轿车继承汽车类,在轿车类中单独增加轿车特性的方法就可以了,继承不仅增强了代码复用性,提高了开发效率,而且为程序的修改补充提供了便利。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或类从父 类继承方法,使得子类具有父类相同的行为。
特点:
继承鼓励类的重用
继承可以多层继承
一个类只能继承一个父类
父类中private修饰的不能被继承
构造方法不能被继承
生活中的继承:
多态性:
多态性指的是程序中允许出现重名现象,它指在一个类中定义的属性和方法被其他类继承后,它们可以具有不同的数据类型或表现出不同的行为,这使得同一个属性和方法在不同的类中具有不同的语义。例如:当听到“Cut”这个单词的时候,理发师的行为是剪发,演员的行为是停止表演,不同的对象,使表现的行为是不一样的。
面向对象的思想光靠上面的介绍是无法真正理解的,只有通过大量的实践去学习和理解,才能将面向对象真正领悟。