面向对象程序设计(Object-oriented programming,OOP)是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。
面向对象特性
面向对象的三大特征——封装、继承、多态性
封装
将客观事物封装在抽象的类中,类可以只让受信任的类或对象操作自己的数据和方法,而将信息隐藏在不可靠的东西中。 关键词: public,protected,private。 默认不写private。
公共成员:可从任何实体访问
•protected成员:只有子类和此类的成员函数可以访问
•private成员:只有该类的成员函数可以访问
继承
基类(父类) ——派生类(子类)子类)
多态
多态性,即多种状态(形态)。 简单来说,将多态性定义为消息以各种形式显示的能力。
多态性是基于封装和继承的。
•C++ 多态分类及实现:
1 .重载多态性(Ad-hoc Polymorphism,编译期) :函数重载,算子重载
2 .亚型多态性(Subtype Polymorphism,运行时) :虚函数
3 .参数多态性(Parametric Polymorphism,编译期) :类模板、函数模板
4 .强制多态性(Coercion Polymorphism,编译期/运行时) :基本类型转换、自定义类型转换