类的访问限定符及封装

1 访问限定符
C++实现封装的方式:用类将对象的属性与方法结合在一块,让对象更加完善,通过访问权限选择性的将其
接口提供给外部的用户使用。

int main()
{
	//Student 是类名,可以将其看成是学生的一个群体
	//s 是用Student类定义出来的对象

	Student s;

	//编译报错:因为Student不是一个具体的学生,我们不能将名字,性别,年龄放到Student中
	//Student.InitStudent("Perter","男",18);

	//s 是一个具体存在的学生,我们才可以将名字,性别,年龄放到具体的学生对象中
	//报错:无法访问private的成员
	//s.InitStudent("Perter", "男",18);
	return 0;
	//注意:
//类:是对对象(实体)来进行描述的,但是类不是对象(实体)
//学生类别--不等于某个具体学生
//类也可以看成是新定义了一种数据类型
}

【访问限定符说明】

  1. public修饰的成员在类外可以直接被访问
  2. protected和private修饰的成员在类外不能直接被访问(此处protected和private是类似的)
  3. 访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止
  4. class的默认访问权限为private,struct为public(因为struct要兼容C)
    注意:访问限定符只在编译时有用,当数据映射到内存后,没有任何访问限定符上的区别

问题:C++中struct和class的区别是什么?
解答:C++需要兼容C语言,所以C++中struct可以当成结构体去使用。另外C++中struct还可以用来定义类。
和class是定义类是一样的,区别是struct的成员默认访问方式是public,class是struct的成员默认访问方式
是private。

4.2 封装
面向对象的三大特性:封装、继承、多态。
在类和对象阶段,我们只研究类的封装特性,那什么是封装呢?
封装:将数据和操作数据的方法进行有机结合—(class),隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互----(访问限定符:限定类中那些成员可以在类外来进行使用)
访问限定符:
private:修饰的成员在类外不能直接被访问
protected:修饰的成员在类外不能直接被访问(暂且这么理解)
public:修饰的成员在类外可以直接被访问
注意:
struct定义的类默认情况下的访问权限是public(共有的)
class定义的类默认情况下的访问权限是private (私有的)
一般情况下,数据是私有的,函数是共有的(共有的可以在类外被访问,共有的和保护的不能被直接访问)
为什么要封装?
不想让其他人看到我自己的一些隐私

函数:实际就是将一些语句包装到一块
C语言:数据+操作数据的函数=程序
C++:各种不同的对象,对象之间相互交互完成事情
对象:有对象的属性(数据),还有对象所有的功能(方法)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值