抽象:将相同的类的共同特征总结出来,构造成类的过程。包括数据抽象以及行为抽象。
数据抽象变成类的成员变量,行为抽象变成类的成员函数。抽象只关心成员变量以及成员函数,并不关系具体的实现细节。
继承是从已有的类得到继承信息创建新的类的过程,继承可以表示为 is-a 关系 。
封装其实可以理解为:“装”与“封”,就是把数据以及操作方法封装在函数里/类,然后再装起来。也就是把数据以及操作数据的方法绑定起来,对外界提供已经定义好的接口进行访问。面向对象的本质就是将现实世界描绘成一系列的完全自治,封闭的对象。可以理解为我们无论内部实现有多复杂,使用者可以完全不用理,只需要知道怎么使用就可以了。
方法重载(Overload):编译时的多态性(也就是前绑定),方法可以根据不同参数类型进行不同的调用,方法名字一致。
方法重写(Override):运行时的多态(也称为后绑定)。
要实现方法重写需要做:1.方法重写,也就是子类继承父类并重写了父类已经有的方法。 2.用父类型引用来引用子类型对象,这样可以实现调用同样的方法会根据子类对象的不同表示出不一样的行为。