动态方法绑定:原理、应用与性能分析
1. 析构函数与垃圾回收
在编程中,析构函数的主要作用是回收由构造函数在堆中分配的空间。以下是一个析构函数的示例:
~name_list_node() {
if (name != 0) {
delete[] name;
// reclaim space
}
}
在具有自动垃圾回收机制的语言中,对析构函数的需求就大大减少了。例如 Java 和 C# 允许程序员声明一个 finalize 方法,该方法会在垃圾回收器回收对象空间之前立即调用,但这个特性并不常用。
1.1 相关语言对析构的处理
| 语言 | 析构处理方式 |
|---|---|
| Java 和 C# | 允许声明 finalize 方法,但不常用 |
| 具有自动垃圾回收的语言 | 对析构函数需求少 |
2. 动态方法绑定基础
2.1 继承与子类型多态
继承和类型扩展使得派生类 D 拥有其基类 C 的所有成员(数据和子例程)。只要 D
超级会员免费看
订阅专栏 解锁全文
169万+

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



