面向对象
面向对象就是一种程序设计规范(paradigm).其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。
面向对象的基本特征就是封装、继承、多态。
封装
将对象的属性和实际细节隐藏起来,只提供公共的访问方式.
优点:将外界的变化隔离开来,使程序具有独立,安全和稳定性。
继承
继承就是从已有的类中派生出新的类,新的类可以继承已有类的数据属性和行为,并可以扩展新的功能.
特点:父类具备的方法子类可以细节继承过来,不用再重新去书写,提高了代码的复用性.
多态
一种事物的多种存在形态,也就是相同的消息使得不同的类做出不同的相应.
实现多态有三个必要条件:继承、重写、向上转型。
Java实现多态有三个必要条件:继承、重写、向上转型。
继承:在多态中必须存在有继承关系的子类和父类。
重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。
向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。
只有满足了上述三个条件,我们才能够在同一个继承结构中使用统一的逻辑实现代码处理不同的对象,从而达到执行不同的行为。
对于Java而言,它多态的实现机制遵循一个原则:当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法。