【boolan c++】面向对象的三大方式以及设计模式
2017-11-05 17:30
204 查看
c++的面向对象有三种实现方式:
1、复合 composition has-a class A 拥有class B
2、委托 delegation composition by reference class A 中有指针成员指向 class B
3、继承 Inheritance is-a class B 是class A的派生
继承与虚函数
成员函数分为 non-virtual , virtual , pure virtual 函数三种
non-virtual 函数 : 不希望派生类重新定义(override)它
vitual 函数 : 希望派生类重新定义它,但是拥有一个默认定义,也允许派生类使用默认定义而不定义它
pure virtual 函数: 派生类必须重新定义它,因为它没有默认定义
继承的访问控制:
public 公有继承 (struct的缺省继承方式) 基类的public成员变成派生类的public成员,基类的protected成员变成派生类的protected成员
private 私有继承 (class 的缺省继承方式)基类的public成员和protected成员变成派生类的private成员
protected 保护继承 基类的public和protected成员变成派生类中的protected成员
注意: 任何一种继承方式,派生类都不能直接access基类的private成员。
1、复合 composition has-a class A 拥有class B
2、委托 delegation composition by reference class A 中有指针成员指向 class B
3、继承 Inheritance is-a class B 是class A的派生
继承与虚函数
成员函数分为 non-virtual , virtual , pure virtual 函数三种
non-virtual 函数 : 不希望派生类重新定义(override)它
vitual 函数 : 希望派生类重新定义它,但是拥有一个默认定义,也允许派生类使用默认定义而不定义它
pure virtual 函数: 派生类必须重新定义它,因为它没有默认定义
继承的访问控制:
public 公有继承 (struct的缺省继承方式) 基类的public成员变成派生类的public成员,基类的protected成员变成派生类的protected成员
private 私有继承 (class 的缺省继承方式)基类的public成员和protected成员变成派生类的private成员
protected 保护继承 基类的public和protected成员变成派生类中的protected成员
注意: 任何一种继承方式,派生类都不能直接access基类的private成员。
相关文章推荐
- (Boolan)C++设计模式 <一> ——设计模式简介以及面向对象设计原则
- (Boolan)C++设计模式 <五> ——装饰模式(Decorator)
- 设计模式(3)-结构型-代理模式(proxy)以及java动态代理的两种方式
- 【设计模式】面向对象三大特性
- (Boolan)C++设计模式 <六> ——桥模式(Bridge)
- 设计模式(3)-结构型-代理模式(proxy)以及java动态代理的两种方式
- 设计模式——设计模式三大分类以及六大原则
- boolan——c++学习笔记之设计模式三
- 设计模式之代理模式 c++实现以及详解
- (Boolan)C++设计模式 <九> ——单例模式(Singleton)和享元模式(FlyWeight)
- 设计模式(3)-结构型-代理模式(proxy)以及java动态代理的两种方式
- (Boolan)C++设计模式 <十> ——状态模式(State)和备忘录(Memento)
- C++泛化设计模式以及泛化技法
- 通过例子学设计模式之--工厂方法模式以及使用场景说明(C++实现)
- 通过例子学设计模式之--外观模式以及使用场景说明(C++实现)
- [GeekBand] 面向对象的设计模式(C++)(1)
- (Boolan)C++设计模式 <十一> ——组合模式(Composite)、迭代器(Iterator)和责任链(Chain of Resposibility)
- Java设计模式(二):单例模式的5种实现方式,以及在多线程环境下5种创建单例模式的效率
- 设计模式——面向对象的三大特性
- (Boolan)C++设计模式 <十二> ——命令模式(Command)和访问器(Visitor)