C++——封装
1、类的定义
以定义一个人类来举例:
//类的定义
/*
* 语法:class 类名 { 访问权限 : 属性 行为 }
* 类中属性和行为统一称为成员
* 属性又称成员属性和成员变量
* 行为又称成员函数和成员方法
*///人类
class Person
{
public: //外部接口//给Person属性进行赋值void setPerson(string name, int age) //行为 成员函数{//这里的this->name表示的是调用的时候调用对象的name属性,并不是函数参数//防止name=name编译器会认为第一个name是参数//若不用this,则在给参数和成员变量取名字的时候,起一个不一样的名字this->name = name;this->age = age;}//展示Person的信息 void showPerson() //行为 成员函数{cout << "姓名:" << this->name << " 年龄:" << this->age << endl;}private: //私有权限 string name;//姓名int age;//年龄
};
2、访问权限
访问权限有三种:公共权限(public)、保护权限(protected)、私有权限(private)
1)公共权限定义的成员是类的外部接口。公共权限的成员在类内可以访问,在类外也可以的访问。
2)私有权限定义的成员只能被本类的成员函数访问,类外的任何访问都是非法的。在上面的例子当中,人类的name和age都是私有类型。
3)保护权限定义的成员的性质和私有成员是相似的,同是本类内可以访问,类外不可以访问。两者的差别在于继承过程中。
另外,类中成员的默认权限是私有的。
3、对象
类是一种抽象的机制,描述了事物的行为和属性。类的对象就是该类的一种实体。例如,对于人类,每一个人就是人类的一个特定的实例,即对象。
声明一个对象和声明一个变量相同: 类名 对象名;
//声明一个Person类对象//类名 对象名Person p;
创建好对象,就可以通过对象来访问对象的成员,通过操作符“.”来访问:
//通过对象来访问成员//对象.成员名p.setPerson("张三", 20);p.showPerson();
4、类的成员函数
成员函数的声明是在类内完成,而成员函数的实现是在类外实现的,在类外实现需要给成员函数加上作用域,即说明这个成员函数是该类的。例如:
//成员函数的类外实现
/*
* 语法 返回值类型 类名::函数成员名(参数表)
* {
* 函数体;
* }
*/
//给Person属性进行赋值
void Person::setPerson(string name, int age)
{this->name = name;this->age = age;
}
//展示Person的信息
void Person::showPerson()
{cout << "姓名:" << this->name << " 年龄:" << this->age << endl;
}
封装就是将抽象的属性和行为结合,形成一个整体,形成一个类。通过上面的例子可以看出来:通过封装是一部分的成员充当类的外部接口,将其他的成员给隐藏起来,这样就达到了对成员的合理控制,使类和类之间的相互影响降低,增进了数据的安全性和程序的编写工作。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
