Python封装

# 面向对象的三大特性:封装,继承,多态
#封装:指的试隐藏对象中一些不希望被外部所访问到的属性或者方法
# class XiaoLi:
#     name = 'liwenlong'    #类属性
# xl=XiaoLi()
# print(xl.name)
# XiaoLi.name='lwl'
# print(XiaoLi.name)

# 4.2隐藏属性(私有权限),只允许在类的内部使用,无法通过对象访问
# 在属性名或者方法名前面加上两个下划线
# class Person:
#     name = 'lgh'
#     age=55
#     __sex='男'   #隐藏属性
#     def introduce(self):
#         Person.__sex='女'
#         print(f'{Person.name}他的性别是{Person.__sex}')   #在实例方法中访问隐藏类属性
# lz=Person()
# print(lz.name)
# print(lz.age)
# print(lz.sex)
# 第一种:了解
# 隐藏属性实际上将名字改为:_类名__属性名  _Person__
# print(lz._Person__sex)
# 第二种方法:在类的内部访问  ----推荐使用,正规手段
# lz.introduce()

# 4.3 私有属性/方法
# xxx 无下划线  类中定义任何地方可以调用
# _xxx 单下划线  声明私有属性/方法,定义在类中,外部可以使用 子类可以继承
#  但是在另外一个py文件中通过from xxx import * 导入时 无法导入
# __xxx 双下划线 隐藏属性  子类无法继承,只能够通过间接的方式去调用
# 在另外一个py文件中通过from xxx import * 导入时 无法导入
#
# class Game:
#     cs='逆战'
#     lol='英雄联盟'
#     __cf='穿越火线'
#     _dnf='地下城'
#     def introduce(self):
#         print(f'{Game.__cf}')
# xl=Game()
# print(xl._dnf)
# xl.introduce()
# # print(xl._Game__cf)
# 4.4 隐藏方法
# class Stduy:
#     def __math1(self):
#         print('数学')
#     def _chinese(self):
#         print('语文')
#     def english(self):
#         print('英语')
#         # Stduy.__math1(self) #不推荐
#         # self.__math1() #推荐使用的方法
# al=Stduy()
# al.english()
# 4.5私有方法
# al._chinese()

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值