深入探索C与Vala的Unix编程世界
面向对象编程术语与概念
面向对象编程中有许多重要的术语和概念。在这个领域里,struct现在被称作类。例如, student 是基类(也叫超类), research_fellow 是派生类(也叫子类)。超类可以派生出任意数量的子类,而每个子类又能作为超类继续派生新的子类。
每个类都有一些隐式函数,像构造函数和析构函数。构造函数在实例初始化时自动运行,析构函数在实例销毁时自动运行,它们都可以手动编写,若不编写,编译器会插入空实现。构造函数不能声明为虚函数,因为对象构造必须从基类初始化开始;而析构函数可以声明为虚函数,这样能让最具体的析构函数运行。构造函数的名称是类名加上参数列表,析构函数则是在类名前加 ~ 且参数列表为空。
类的成员至少有三种类型:
| 类型 | 访问范围 |
| ---- | ---- |
| private | 只能被类自身的代码访问 |
| protected | 能被类自身和子类的代码访问 |
| public | 可以在任何地方被访问,包括 main() 中的客户端代码 |
C++ 只包含这三种类型,而Vala引入了第四种类型 internal ,它适用于基于包的特性,只能在其包内访问,不能全局访问。
在函数重载方面,C++允许在一个类中使用相同名称 fx() 的多个函数,只要每个版本的参数列表唯一。但Vala禁止重载,如果要实现类似功能,需要在
超级会员免费看
订阅专栏 解锁全文
2

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



