面向对象——意图与逻辑
面向对象——意图与逻辑 (二)
面向对象——意图与逻辑(三)
面向对象——意图与逻辑(四)
- (1)纯虚函数(virtual = 0)最多为 protected,不可能为 private 类型
- (2)一个类如何与外界(外部的类)交互,作为其私有成员变量,或者作为其构造函数或者成员函数的参数传递进来。
类内出现的 typedef 类型重定义
一般用于类型的简洁表示,必然是用来做成员函数的返回值或者参数的类型,以及对私有成员变量的类型声明;
虚函数
基类指针指向派生类的对象,调用的其实是派生类的虚函数。这就使得我们可以以一致的观点来看待不同的派生类对象。
多态
多态性是指发出同样的消息被不同类型的对象接收时有可能导致完全不同的行为。
多态的实现:
(1)静态绑定(发生在编译阶段,意味着在编译阶段就确定要调用的函数)
- 函数重载
- 运算符重载
- 模板
(2)动态绑定(在程序运行时执行,也即在程序运行时才确定要调用的函数)
- 虚函数
构造函数
构造函数用于在外界实例化对象,构造函数的参数自然是在外界实例化时传递进来。这里的外部,也即该类的客户端,或叫调用端。
总论
- (0)面向对象和 git (分布式版本控制)、gdb(调试)等一样,也是一门技术
- (1)类是对私有成员变量的封装和抽象,
- (2)私有成员函数为公有成员函数服务,
- (3)一个公有成员函数如果不操纵私有成员变量是没必要放在一个类的内部的;
- (4)将一个成员函数声明为const型,说明的也是该成员函数与私有成员变量的关系(不可修改类的私有成员变量)