以定义一个人类来举例:
//类的定义
/*
* 语法: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;
}
封装就是将抽象的属性和行为结合,形成一个整体,形成一个类。通过上面的例子可以看出来:通过封装是一部分的成员充当类的外部接口,将其他的成员给隐藏起来,这样就达到了对成员的合理控制,使类和类之间的相互影响降低,增进了数据的安全性和程序的编写工作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)