• 售前

  • 售后

热门帖子
入门百科

python基础知识之私有属性和私有方法

[复制链接]
penguinzhuyun 显示全部楼层 发表于 2021-10-26 13:06:04 |阅读模式 打印 上一主题 下一主题
私有权限

面向对象三大特性:封装、继承、多态
封装的意义:
      
  • 将属性和方法放到一起做为一个整体,然后通过实例化对象来处理;  
  • 潜伏内部实现细节,只需要和对象及其属性和方法交互就可以了;  
  • 对类的属性和方法增加 访问权限控制。
私有权限:在属性名和方法名 前面 加上两个下划线 __
      
  • 类的私有属性 和 私有方法,都不能通过对象直接访问,但是可以在本类内部访问;  
  • 类的私有属性 和 私有方法,都不会被子类继承,子类也无法访问;  
  • 私有属性 和 私有方法 每每用来处理类的内部事变,不通过对象处理,起到安全作用。
私有属性
  1. """
  2. 私有属性,只需要在原属性名前加上两个下划线,即可
  3. 目的: 保证数据的相对安全,
  4. 想要访问和使用私有属性: 定义一个公有的方法,通过这个方法使用
  5. """
  6. # 案例需求: 定义People 类, 定义属性 ICBC_money , 钱不能随便被修改,必须是合法的终端才可以操作
  7. class People(object):
  8.   def __init__(self):
  9.     # python中的私有本质是 修改属性的名字, 在创建对象的时候,会自动的修改属性名
  10.     # 在属性名的前边加上 _类名前缀
  11.     self.__ICBC_money = 0 # 定义私有属性
  12.   # 定义公有的方法,提供接口,修改余额
  13.   def get_money(self):
  14.     return self.__ICBC_money
  15.   def set_money(self, money):
  16.     num = input('输入金额:')
  17.     self.__ICBC_money += int(num)
  18.     # self.__ICBC_money += money
  19. # 创建People类对象
  20. xw = People()
  21. # 实例对象.__dict__ 可以查看对象具有的属性信息,类型是字典,字典的key是属性名, 字典的value是属性值
  22. print('赋值之前:', xw.__dict__)
  23. # print(xw.__ICBC_money)
  24. xw.__ICBC_money = 1000 # 不是修改私有属性,是重新添加一个公有属性
  25. print('赋值之后:', xw.__dict__)
  26. print(xw.__ICBC_money)
  27. print('=' * 20)
  28. print(xw.get_money()) # 0
  29. xw.set_money(1000)
  30. print(xw.get_money()) # 1000
  31. xw.set_money(-500)
  32. print(xw.get_money()) # 500
复制代码
私有方法
  1. """
  2. 私有方法: 在方法的前边加上两个__ ,就为私有方法
  3. 私有方法,不能在类外部访问
  4. 作用: 一般作为类内部的方法使用,不让在外部直接调用, 保证业务逻辑不被破坏
  5. """
  6. class Dog(object):
  7.   def born(self):
  8.     """生小狗的方法, 生一个小狗,休息30天"""
  9.     print('生了一只小狗...')
  10.     self.__sleep()
  11.   def __sleep(self):
  12.     print('休息30天')
  13. dog = Dog()
  14. # dog.__sleep()
  15. dog.born()
复制代码
到此这篇关于python基础知识之私有属性和私有方法的文章就先容到这了,更多相关python私有属性和私有方法内容请搜刮草根技术分享从前的文章或继续欣赏下面的相关文章希望大家以后多多支持草根技术分享!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作