面向对象之封装

痛定思痛。 2022-01-07 01:23 453阅读 0赞

封装 隐藏细节 - 抽离共有

  1. 封装: 对外隐藏类中一些属性与方法的实现细节
  2. 优点:外界不能直接访问,让内部的属性与方法具有安全保障
  3. class A:
  4. 类的属性:__开头的属性,在外界不能通过 cord | __cord 直接访问:对外隐藏了
  5. __cord = '01012300'
  6. 类的方法:__开头的方法,在外界不能通过 get_money | __get_money 直接访问:对外隐藏了
  7. @classmethod
  8. def __get_money(cls):
  9. print('输入密码,取出100w零花钱')
  10. 对象的方法:一般的实现需求都是,这些方法只在内部使用
  11. def __test(self):
  12. pass
  13. 对象的属性:封装目的
  14. 1.对象的属性值一般都来源于外界,外界是有权力再次访问的
  15. 2.封装的目的不是让外界无法访问,而且不让其直接访问,可以在完成安全处理后再访问
  16. 3.如何做到外界还是通过变量名来对属性进行取值赋值,但是是走的方法间接拿到的值
  17. -- __money被封装,外界还是可以通过 对象.money 取值赋值
  18. def __init__(self, money)
  19. self.__money = money

property关键字

  1. 取值
  2. @property # 在外界可以 对象.money 进行取值
  3. def money(self):
  4. # print('走方法拿到的money')
  5. return self.__money
  6. 赋值
  7. @money.setter # 在外界可以 对象.money = 新值 进行赋值
  8. def money(self, money):
  9. self.__money = money
  10. 删除
  11. @money.deleter
  12. def money(self):
  13. del self.__money
  14. 封装:对外隐藏属性与方法的实现细节,类的内部均可以直接访问 __名字
  15. 方式:在属性或方法前用__修饰,将 __名字 更名为 _类名__名字
  16. 作用:有些属性或方法只提供给内部使用,所有采用封装处理
  17. 对象属性的封装,对外提供接口:
  18. @property
  19. def id(self):
  20. return self.__id
  21. @id.setter
  22. def id(self, id):
  23. self.__id = id
  24. @id.deleter
  25. def id(self):
  26. del self.__id

转载于:https://www.cnblogs.com/wangtenghui/p/10816231.html

发表评论

表情:
评论列表 (有 0 条评论,453人围观)

还没有评论,来说两句吧...

相关阅读

    相关 【JavaSE】面向对象封装

    封装的概念 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受

    相关 面向对象封装

    封装 该露的露,该藏的藏 我们程序设计要追求“高内聚,低耦合”。 高内聚就是类的内部数据操作细节自己完成,不允许外部干涉; 低耦合:仅暴露少量的方法给外部使用。

    相关 面向对象封装

    封装 隐藏细节 - 抽离共有 封装: 对外隐藏类中一些属性与方法的实现细节 优点:外界不能直接访问,让内部的属性与方法具有安全保障 clas

    相关 面向对象封装

    一、什么是封装 什么是封装,就是将复杂的丑陋的,隐私的细节隐藏到内部,对外提供简单的使用接口,对外隐藏内部实现细节,并提供访问的接口 二、为什么需要封装 两个目的:1.为