面向对象的三个特性:封装,多态,继承
继承的三个结论:
1.如果你以一个基础类的指针去指向一个继承类,那么经由该指针只能够调用基础类所定义的函数。
2.如果你以一个继承类指针指向一个基础类的对象,你必须先做明显的类型转换,这种作法很危险,不符合真实生活经验,在程序设计上也会给程序员困惑。
3.如果基础类和继承类都定义了相同名称的成员函数,那么通过对象指针调用成员函数时,到底调用哪一个函数,必须视指针的原始类型而定,而不是视指针实际所指向的对象的类型而定。这与第一点其意义相通。
虚函数的理解:1.在基类与继承类中都有相同的函数时,根据对象指针而能够调用所指向的对象中基类声明为虚函数的函数。
2.虚函数(对象一般化操作): 如果你以一个基础类的指针指向一个继承类的对象,那么透过该指针你就能够调用指针所指向的对象的成员函数。
多态的概念: 我们以相同的指令却调用了不同的函数。
只要拥有纯虚函数的类,就是一个抽象类,它是不能被具体化,也就是说,你不能够根据它产生一个对象。但是我们可以拥有指向抽象类的指针,以便于操作抽象类的各个继承类。
虚函数继承下去仍为虚函数,而且可以省略vitual关键字。