面向对象
为什么:由于面向过程的程序不利于程序扩展和代码复用,所以用面向对象,把一系列相关的方法封装到一个类里,从而有利于扩展和复用。
面向对象主要是为了把程序设计从按照机器的思想来转到按照人的思想。
1.封装。将相关的函数组合到一起,来完成相应的功能。封装还有一层意思就是把函数的借口尽量设计的符合人的要求,而把具体细节封到实现里。
2.继承。为了设计某一种类,首先设计一个高度抽象的父类,规定这一类对象所必须具有的特性。而子类继承父类,然后通过自定义一些函数来实现自己特定的功能,从而实现扩展。同时子类也具有了必须的行为,实现了代码复用。
3.多态。相似的事物被相同的事件出发会做出不同的反应,即为多态。在程序设计中为了完成多态,首先在父类中声明对事件做出反应的函数,该函数为虚函数。各个子类分别实现自己的响应函数。用父类的指针指向子类的实例,则调用子类重写过的函数。
何时用到多态?在程序设计中,无法在编写程序时确定哪个特定的子类来响应函数,只能知道是这一种类的父类可以响应这个事件,所以只能用父类的指针来指向特定子类的实例,然后在运行时,在根据虚函数表调用子类特有的方法。