进入总结阶段:可以自己尝试回答一下
- 公有和私有定义:
- 类的派生与继承:
- 类的继承public,private和protect的区别:
- 子类的构造函数:
- 实现相同函数执行不同内容的三种方式:
- 什么是多态:
- 什么是抽象类:
- 面向对象的三大法宝:
回答:
- 公有和私有定义:
- 公有:外部可以随意调用
- 私有:外部无法直接调用,需要借用公有外壳来调用。
- 在公有中定义一个调用函数:通过该函数实现对私有的调用
- 私有的作用----体现封装性
- 类的派生与继承:
- 子类可以继承父类的成员和方法,还可以增加自己的成员和方法
- 派生是相对父类而言---简单可以理解为 生出一个后代
- 继承相对子类而言---继承父辈的内容,并加入创新
- 类的继承public,private和protect的区别:
- public:子类可以全部继承父类的public成员
- private:子类无法继承父类的private成员
- protect:子类可以继承父类的protect成员
- private个protect区别:外部均无法访问,但是protect可以被子类继承,private无法被子继承
- 子类的构造函数:
- 构造函数:没有参数,也没有返回值,与类名字相同
- 带参数构造函数:有参数,也没有返回值,与类名字相同
- 子类不会继承父类的构造函数,但是在子类被创建时会先调用父类的构造函数,再调用子类自己的构造函数
- 什么是多态:
- 虚函数:使用的其核心目的是通过基类访问派生类定义的函数。 virtual关键词
- 在父类子类所有函数声明加入virtual(虚函数),并定义父类指针
- 随着指针指向不同的对象,程序会自动找到不同类里的同名的方法
- 实现相同函数执行不同内容的三种方式(以study函数为例):
- 重载:在同一个作用域内,定义多个同名函数,但是参数列表不相同,在编译阶段,编译器会根据传入参数不同,自动当做两个不同函数处理(编译器可以识别出来)
- 隐藏:同名函数,参数可相同也可不相同。子类没有办法调用父类的study函数,因为子类中重新定义了study函数,会导致父类的中的study此时被隐藏起来。但是父类自己的对象可以正确的被调用
- 覆盖(多态---依靠虚函数实现---指针实现):通过一个父类指针动态的调用虚函数,由于编译器无法识别出来,会将虚函数都存在内存当中,并建立一个虚函数列表,程序会根据指针指向调用
- 什么是抽象类:
- 父类只用于一些共有的属性和方法,但不能建立自己的对象,依靠子类实现建立对象
- 面向对象的三大法宝:继承,封装,多态
185

被折叠的 条评论
为什么被折叠?



