程序设计的三种典范
程序设计的三种典范(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的效率高