封装
把对象的属性和方法结合成一个独立的整体,隐藏实现细节,并且提供对外访问的接口。
封装的优点:
1、隐藏实现细节。
2、安全性。比如set,get方法中设置校验,调用者就不能随意赋值。
3、增加代码的复用性。
4、模块化,有利于代码调试。
继承
从已知的一个类中派生出一个新类,叫做子类。子类实现了父类所有非私有化的属性和方法,并根据实际需求扩展出新的行为。
继承的优点:
1、继承是传递的,易于基础上的构造和扩充。
2、简化对事物的描绘,使层次更加清晰。
3、减少代码冗余。
4、提高可维护性。
多态
面向对象而言,多态分为编译时多态和运行时多态。
编译时多态是静态的,主要是指方法的重载(方法名相同,参数不同,返回值可以相同或者不同)。
运行时多态的动态的,一般由动态绑定实现。
多态只有在程序运行时才能知道引用变量所指的具体实例对象。