12 类和对象--封装
2020-10-23 本文已影响0人
ca8519be679b
封装
将具有相同性质的事物抽象为一类,这个过程就是封装,将属性和行为作为事物的表现
1快速上手定义个类,比如圆Circle类如上,我们里面定义属性和权限,其中公有的为半径和方法,我们定义了类就可以main里声明变量,并使用属性和方法,注意类定义有分号
封装的访问权限
我们知道,类声明权限方法是要声明权限的,如上个是public
访问权限有3种public,protected,private
public 类内外都可以访问
protected 类内可以访问,类外不能访问
private 类内可以访问,类外不可以访问
有人会说了,后两个我们看着一样啊,其实是在继承部分有区别,当子类继承时,protected可以访问父类,而private不能访问
2如上,我们定义的属性,3种都可以在类内方法访问,但是在类外protected和private都不可以
c++中struct和class区别
我们虽然没有给struct写方法,但是是可以的,struct和class很像,都可以定义属性和方法,但是是有区别的,区别在于class的不写权限默认是private的,而struct默认是public的
3如上,我们可以看到效果,struct默认可以访问,我们当然之前都这么做,但是class是不可以的
将类属性私有化的好处
可以自己控制访问权限,同时设置方法可以做输入校验,将属性设为私有时,设置public方法访问
4类似Java的setter和getter,
当然可以玩只读权限,不定义set方法,get方法里返回默认值,