摘要:
堆和栈的区别(转贴)非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一 阅读全文
摘要:
一、多态 面向对象的设计原则中有一条里氏代换原则:父类出现的地方,子类一定可以出现,反之则不一定;多态即是这一原则的具体表现形式,设有父类为A,含有方法g(),B1、B2、……、Bn是A类的子类,每个子类都以自己的方式实现了方法g(),当类A的对象向子类对象发出消息g()时,接收到此消息的各B子类对象将表现出不同的行为,这种现象即为多态。 多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。二、重载重载分为构造方法重载和方法重载,重载即指在同一类内,两个以上的构造方法或同名方法,使用不同类型或不同个数的参数.. 阅读全文