面向对象编程中的对象管理与相关概念解析
1. 接口与抽象类的进一步发展
接口关键字(interface)将抽象类的概念更进一步,它完全不允许有函数定义。接口是非常实用且常用的工具,它实现了接口与实现的完美分离。而且,你可以根据需要将多个接口组合在一起,然而继承多个普通类或抽象类是不可行的。
2. 对象的创建、销毁与生命周期
2.1 对象创建与存储的两种方式
在面向对象编程中,对象的创建和销毁方式是重要因素。有两种不同的哲学:
- C++ 的方式 :C++ 认为效率控制是最重要的问题,因此给程序员提供了选择。为了实现最大的运行时速度,可以在编写程序时确定对象的存储和生命周期,将对象放在栈(有时称为自动或作用域变量)或静态存储区中。这种方式优先考虑存储分配和释放的速度,在某些情况下,对这些的控制非常有价值。但缺点是牺牲了灵活性,因为在编写程序时必须确切知道对象的数量、生命周期和类型。如果要解决更通用的问题,如计算机辅助设计、仓库管理或空中交通管制,这种方式就过于受限。
- 动态创建对象(堆) :第二种方式是在称为堆的内存池中动态创建对象。在这种方式下,直到运行时才知道需要多少对象、它们的生命周期以及确切类型。在程序运行时根据需要在堆上创建新对象。由于存储是动态管理的,在运行时,在堆上分配存储所需的时间明显长于在栈上创建存储的时间(在栈上创建存储通常只需一条汇编指令来移动栈指针,另一条指令将其移回)。动态方式基于一个合理的假设,即对象往往比较复杂,因此寻找存储和释放存储的额外开销对对象的创建影响不大。此外,更大的灵活性对于解决通用编程问题至关重要。Java 专门采
超级会员免费看
订阅专栏 解锁全文

2417

被折叠的 条评论
为什么被折叠?



