C++对象模型笔记之程序设计模型
2013-11-24 15:07
435 查看
C++程序设计模型支持三种程序设计模型
1.程序模型(procedural model)
可以理解为过程化模型,就像C一样
2.抽象数据类型模型(ADT)
数据结构教材里有说过,查了下资料也不是很明确ADT的定义,(可以大致认为是一种封装了数据,以及基于数据的操作不明确的类型)就把它和面向对象模型对比来讲好了
3.面向对象模型(OO)
这种模型中彼此有一些相关的类型,通过一个抽象的基类(用以提供共同的接口)被封装起来,其它类都继承该父类。想像以下C++或者MFC的类库就明白了,都有一个共同的父类,ADT的话大概就是用户自定义的一个独立存在的没有继承和派生的孤立的类。
注意:纯粹以一种模型写程序有助于整体行为的稳固,然而如果混合了不同的模型,就可能带来让人惊吓的后果,例如将继承类的对象赋值给基类对象,而妄想实现多态,便是一种ADT模型和面向对象模型
混合编程带来严重后果的例子.
1.程序模型(procedural model)
可以理解为过程化模型,就像C一样
2.抽象数据类型模型(ADT)
数据结构教材里有说过,查了下资料也不是很明确ADT的定义,(可以大致认为是一种封装了数据,以及基于数据的操作不明确的类型)就把它和面向对象模型对比来讲好了
3.面向对象模型(OO)
这种模型中彼此有一些相关的类型,通过一个抽象的基类(用以提供共同的接口)被封装起来,其它类都继承该父类。想像以下C++或者MFC的类库就明白了,都有一个共同的父类,ADT的话大概就是用户自定义的一个独立存在的没有继承和派生的孤立的类。
注意:纯粹以一种模型写程序有助于整体行为的稳固,然而如果混合了不同的模型,就可能带来让人惊吓的后果,例如将继承类的对象赋值给基类对象,而妄想实现多态,便是一种ADT模型和面向对象模型
混合编程带来严重后果的例子.
相关文章推荐
- 深度探索C++对象模型 Data语意学笔记
- 深入C++对象模型学习笔记 第3章 Data 语意学
- C++学习笔记:c++模型设计和实现 经典案例
- c++对象模型笔记:指针类型转换
- 深度探索C++对象模型之C++对象模型笔记
- C++对象模型学习笔记
- 设计模式C++学习笔记之二十(完结篇 & 面向对象原则)设计模式C++实例下载
- 《深度探索C++对象模型(Inside The C++ Object Model )》学习笔记
- 深入探索C++对象模型笔记之四 —— 构造函数语意学 (Copy Constructor的建构操作)
- C++对象模型(三):Program Transformation Semantics (程序转换语义学)
- C++对象模型 学习笔记01
- PKU C++程序设计实习 学习笔记3 多态与虚函数
- C++ 对象模型 学习笔记(1)
- C++对象模型-笔记一
- 深度探索C++对象模型 关于对象的笔记
- C++基础学习笔记----第十一课(类的静态成员、对象模型初步认识)
- 深度探究C++对象模型第0章笔记
- 深入探索C++对象模型笔记
- C++对象模型(三):Program Transformation Semantics (程序转换语义学)
- 深度探索C++对象模型学习笔记——Function语意学