面向对象三大特性
封装,继承,多态
- 封装 : 封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法。
- 继承 : 继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新
的功能,也可以用父类的功能,但不能选择性地继承父类。通过使用 继承我们能够非常方便地复用
以前的代码。(简而言之:实现了IS-A关系,遵循里式替换原则,子类对象必须能够替换所有父类对象)
关于继承如下 3 点请记住:
1.子类拥有父类非 private 的属性和方法。
2.子类可以拥有自己属性和方法,即子类可以对父类进行扩展。
3.子类可以用自己的方式实现父类的方法。 - 多态 : 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到 底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的 方法,必须在由程序运行期间才能决定。
多态分为两种:
1.编译时多态,主要指方法的重载
2.运行时多态,指程序中定义的对象引用所指向的具体类型在运行期间才确定,有三个条件:a.继承 b.覆盖(重写)c.向上转型
多态的实现机制遵循一个原则:当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法。