- 前言
- 一、封装
- 1.封装的意义
- 2.访问权限
- 3.struct和class区别
- 4.成员属性私有化
前言
我们程序员是最不缺对象!!因为我们自己会写
谨记: 世间万事万物都可以成为对象,只要它具有行为和属性
对象的三大特征:封装,继承,多态。
比如:
一辆车一个对象,它的属性是,重量,颜色,型号;行为是能跑,载人,装13.
这样就满足了成为对象的条件
提示:以下是本篇文章正文内容,下面案例可供参考
把行为和属性封装为一个整体,并将其设置权限控制
代码如下(示例):
#include
using namespace std;
//设计一个类
class yuan
{
//进行访问权限设置
public: //public是公共权限
//定义一个属性 半径r
int r;
//行为设置
void zhouchang(int r)
{
int c;
c=2*r*3.14;
cout<<c;
}
};
int main()
{ //定义一个对象
yuan c1;
c1.r=10;
c1.zhouchang(c1.r);
return 0;
}
2.访问权限
为了防止数据被肆意更改,c++的类要用权限加以控制
访问权限分为三种:
public 共有权限 类内可以访问,类外可以访问
protected 保护权限 类内可以访问,类外可以访问
private 私有权限 类内可以访问,类外可以访问
如何区分呢
public 是租赁的车,你能用别人也能用
protected
private
这两个别人可就不能用
代码如下(示例):
#include
using namespace std;
class person
{
//进行访问权限设置
public: //public是公共权限
string name="afana";
protected:
string car ="laosilaisi";
private:
string password="123456";
public:
void fun()
{
cout<<name<<endl;
cout<<car<<endl;
cout<<password<<endl;
}
};
int main()
{ person s1;
s1.name="ayuana";
s1.fun();
return 0;
name是公有权限下的,在类外也可以访问修改,其他的都不行
你可以叫我名字,叫我绰号无所谓,名字随便改
但不能改我的密码!!!
想必大家都看出来了,类和结构体长的简直一模一样
但区别是
struct 默认权限为共有
class 默认权限为私有,除非自定义,否则类外无法访问
代码如下(示例):
自己手握控制权限
可以检测数据的有效性
代码如下(示例):
#include
using namespace std;
class person
{
private:
int age;
string name;
string car;
public:
//让名字即可读又可写,定义的参量名和之前定义的实参名区别开
void setname(string mname){
name=mname;
}
string getname(){
return name;
}
//输入年龄
int setage(int age){
age=age;
}
//输入车
string setcar(string car){
car=car;
}
};
int main()
{ person s1;
s1.setname("sanye");
cout<<"名字 "<<s1.getname()<<endl;
s1.setage(18);
s1.setcar("lanbojini");
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)