基本概念
类、对象、成员变量、成员函数
面向对象三大概念:封装、继承、多态
类的封装
封装
封装有两层含义:
面向对象程序设计最基本的特性。把数据(属性)和函数(操作)合成一个整体,这在计算机世界中是用类与对象实现的。
把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
C++中类的封装:
成员变量,C++中用于表示类属性的变量
成员函数,C++中用于表示类行为的函数
访问控制
C++中 public,protected, private 访问标号小结,即访问标号使用限制。
private:只能由.该类中的函数和其友元函数访问。不能被任何其他访问,该类的对象也不能访问。
protected:可以被该类中的函数,子类的函数、以及其友元函数访问。但不能被该类的对象访问。
public:可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问。
注:友元函数包括3种:设为友元的普通的非成员函数;设为友元的其他类的成员函数;设为友元类中的所有成员函数。
类的继承后方法属性变
private 属性不能够被继承。
使用private继承,父类的protected和public属性在子类中变为private;
使用protected继承,父类的protected和public属性在子类中变为protected;
使用public继承,父类中的protected和public属性不发生改变;
public | protected | private | |
---|---|---|---|
public继承 | public | protected | 不可用 |
protected继承 | protected | protected | 不可用 |
private继承 | private | private | 不可用 |
protected继承和private继承能降低访问权限。
struct和class的区别
在用struct定义类时,所有成员的默认属性为public
在用class定义类时,所有成员的默认属性为private
操练
main.cpp:
1 |
|
MyCircle.cpp:
1 |
|
MyCube.cpp
1 |
|
MyPoint.cpp
1 |
|
MyTree.cpp
1 |
|
MyCircle.h
1 |
|
MyCube.h
1 |
|
MyPoint.h
1 |
|
MyTree.h
1 |
|