开始学习C++,先从最基本的概念开始,让自己有一个系统的知识概念。
1、对象:
在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。对象可以认为是:数据+操作(对象所能完成的操作表示它的动态行为,也成为方法)。
2、类:
在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,类是对具有相同数据结构和相同操作的一类对象的描述。
3、消息:
在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。当对象接收到发向它的消息时,就调用相应的方法,执行相应的操作。
4、方法:
前面在对象中介绍过什么是方法,那么消息和方法的关系是:对象根据接收到的消息,调用相应的方法;反过来,有了方法,对象才能响应相应的消息。
面向对象程序设计的基本特征:
1、抽象:
对于一组具有相同属性和行为的对象,可以抽象成一种类型,在C++中这中类型就称为类,类是对象的抽象,而对象是类的实例。
2、封装:
封装具有两方面的含义:一是将有关的数据和操作代码封装在一个对象中,各个对象相互独立互不干扰。
二是将对象昂某些数据与操作代码对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接收外界的消息。封装的好处是可以将对象的使用者和设计者分开,大大降低了人们操作对象的复杂程度。
3、继承:
继承所表达的是对象类之间相关的关系。这种关系使得某一类可以继承另外一个类的特征和能力。具体地说,继承机制允许派生类继承基类的数据和操作(即数据成员和成员函数),也就是说,允许派生类使用基类的数据和操作。同时,派生类还可以增加新的操作和数据。
举个例子:假设有两个类A和B,若类B继承类A,则类B包含了类A 的特征,同时也加入自己自己所特有的新特性。这时,我们称被继承类A为基类或父类,而称继承类B为A的派生类或子类。同时,还可以说类B是从类A中派生出来的。
4、多态:
面向对象系统的多态性是指不同的对象收到相同的消息时产生多种不同的行为方式。
C++语言支持两种多态性,即编译时的多态性和运行时的多态性。编译时的多态性是通过重载来实现的,运行时的多态是通过虚函数来实现的。