面向对象基础与术语
讲解了一些基本的概念,有的描述挺有启发性的。
- 面向对象是程序设计思想,而不是指具体的语言语法规则。所谓支持面向对象的语言,只是在语法层面提供了便利。在没有这些语法便利支持的编程语言中,我们也可以使用OOP的思想编程。
- 基础概念:
- 类:对象的模板,生产具体对象的蓝图。类是抽象的定义描述。
- 实例:具体的对象,占据实际内存空间的独立程序对象。
- 构造方法/函数:创建时调用。可重载。
- 析构方法/函数:销毁时调用,只允许一个。不可重载。
未定义构造/析构时,编译器会自行生成,不会语法报错。
- 属性修饰符:修饰属性方法的安全性。与程序的安全性完全无关,是用来限制开发者编码时的访问行为,为了避免一些人为的失误。
- OOP三要素:封装、继承、多态
- 继承描述了类之间的关系。
- 多态是为了能在在不同的类中对于相同的方法提供不同的逻辑。
- 虚函数?原理?
- 重载?重写?
- 抽象类?接口?
- 静态绑定?动态绑定?
(具体解答讨论详见DWHITE/3_编程与开发/CPP/Cpp_面向对象之多态)
比较有启发的描述:
引用 封装,从工程实践来说,能够避免人为因素导致的失误。 将最终产品中的问题在开发过程中发现;将运行时的问题提前到编译器中进行检查。