封装


封装

1.封装的含义

  • 首先来一个简单的例子:假设你在注册一个QQ账号,其中需要你实名制上网,当你在“性别”一栏填入“武装直升机”时,系统会自动拒绝你的填写,并要求你重新填写,直到你填写“男”或者“女”后才能让你继续填写下一项信息→这就是一个封装案例:QQ的注册系统不会让你直接访问它的“性别”属性,这样避免了你随意填写自己的性别,相反的,它只会给你提供无数次“机会”:不合理的答案它会自动过滤并要求你再次填写,直到你填入了一个合理的答案。
  • 通过上面的例子,我们不难发现,封装其实是一个非常符合我们“偷懒且高效”性格的方法:它隐藏了那些令人头痛的属性设置、方法实现等一系列技术细节,它提前把这些难题都解决了并且让你无法接触到这些技术细节,它只会为你提供一个个窗口,让你在提前被划好的范围里去进行合理的操作:比如我们并不知道可乐是怎样生产的,售货员只是递给了我们一根吸管让我们去安心地享用。🥤🥤🥤
  • 总结:隐藏属性、方法或实现细节的过程称为封装

2.使用封装的好处

  • 提高了程序的安全性,保护数据(禁止了非法数据参与操作)
  • 隐藏代码的实现细节(使用起来更加方便)
  • 统一接口
  • 增强系统的可维护性(只需要你修改Set和Get方法,因为你已经统一了接口👆)

3.如何使用封装

  • 首先将对应的属性和易被感染的方法用”Private”隐藏起来,将其对应的Set与Get方法用”Public”公开,对外提供接口
  • 修饰符访问权限:
    修饰符访问权限
  • 在Set方法里设置相应的逻辑,对非法数据与操作进行过滤

4.封装的具体应用:单例模式

  • 产生原因:希望使用者不能自己随意创建该类的对象,只能获取一个类中自己产生的对象→即该类在内存中只有一个对象存在(系统日志、配置文件……)
  • 该类一般没有属性,无法继承,无法拓展,也无法被更改

文章作者: yangyang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yangyang !
  目录