程序设计的三种典范

程序设计的三种典范(c++对象模型)
1.程序模型
就像c中那也的str*系列的函数如:
char boy[] = "wcfsf";
char p = new char[strlen(boy) + 1];
strcpy(p, boy);
感觉这个就是在函数内部实现的,没有什么封装的概念
2.抽象数据类型(ADT)对应于OB设计
感觉这个就是class内部对于数据进行了一层封装,然后提供public方法给外部程序,stl里面的很多都是这个样子吧
3.面向对象的模型oo,这个是最难的
讨论的是基类的指针和引用动态调用派生类的函数的问题
当把派生类赋值给基类指针时,受到改变的只是所指向内存的"大小和内容的解释方式"而已

OO设计比OB的弹性要好,因为OB在编译时期就决定了调用的函数,OO在运行时确定
但OO的内存的读取和对象的推断,所有OB比OO的效率高

 

你可能感兴趣的:(程序设计的三种典范)