什么是面向对象?
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
面向对象的特点:
1.抽象:抓住本质,而不是内部具体细节或是具体实现
2.封装:把对象的属性和操作结合在一起,构成一个独立的对象。通过限制对属性和操作的访问权限,将属性隐藏在对象内部,对外提供一定的接口,对象之外只能通过接口对对象进行操作。
3.继承:当定义了一个类之后,又要定义一个新类,这个新类只是在之前定义的类的基础上增加或是修改了一部分的属性和操作,这时可以用之前的类派生出新类,新类中只需描述一下自己所特有的属性和操作。继承大大简化了对问题的描述,大大提高了程序的可重用性,从而提高了程序设计,修改扩充的效率。
4.多态:同一个消息被不同的对象接收时,产生不同的结果,即实现同一接口,不同方法。
类的访问控制
在C++中可以给成员变量和成员函数定义访问级别。
public修饰成员变量和成员函数可以在类的内部和类的外部被访问。
private修饰成员变量和成员函数只能在类的内部被访问。
没有权限修饰的成员和函数默认是private的。
struct和class关键字的区别
在用struct定义类时,所有成员的默认属性为public。
在用class定义类时,所有成员的默认属性为private。
类的声明和类的实现分开
类的声明放在头文文件中。
类的实现放在源文件中。