面向对象三大特性:“封装”、“继承”、“多态”。
万事万物皆可作为对象,每个对象有其属性和行为。
1、封装
将属性和行为看做一个整体,并加以权限控制。
class Circle//圆类
{
//访问权限
//公共权限
public:
//属性
//半径
int m_r;
//行为
//获取圆的周长
double calculate()
{
return 2*3.14* m_r;
}
} ;
int main()
{
//调用,创建具体对象(实例化)
Circle c1;
//赋值
c1.m_r = 10;
}
类的访问权限有三种,
public 公共权限 类内外均可以访问。
protected 保护权限 类内可以访问,类外不可以访问。子可以访问父的保护内容。
private 私有权限 类内可以访问,类外不可以访问。子不可以访问父的私有内容。
struct 和 class 的区别:
唯一区别:默认的访问权限不同。
struct 默认为公共权限。
class 默认为私有权限。
成员属性设置为私有的优点:
可以自己控制读写权限(设置共有的方法,来控制私有权限。)。对于写权限,可以检测数据的有效性。
1.2、构造函数与析构函数
完成对象的初始化和清理工作,是必须有的实现,如果自己不提供,编译器会提供一个空实现的构造和析构。