封装 c++(类和对象内容太多了分开写)


前言

我们程序员是最不缺对象!!因为我们自己会写

谨记: 世间万事万物都可以成为对象,只要它具有行为和属性

对象的三大特征:封装,继承,多态。
比如:
一辆车一个对象,它的属性是,重量,颜色,型号;行为是能跑,载人,装13.
这样就满足了成为对象的条件


一、封装

1.封装的意义

把行为和属性封装为一个整体,并将其设置权限控制

代码如下(示例):

#include<bits/stdc++.h>
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<bits/stdc++.h>
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是公有权限下的,在类外也可以访问修改,其他的都不行
你可以叫我名字,叫我绰号无所谓,名字随便改
但不能改我的密码!!!

3.struct和class区别

想必大家都看出来了,类和结构体长的简直一模一样
但区别是
struct 默认权限为共有
class 默认权限为私有,除非自定义,否则类外无法访问
代码如下(示例):

4.成员属性私有化

自己手握控制权限
可以检测数据的有效性
代码如下(示例):

#include<bits/stdc++.h>
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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值