python面向对象的封装

1.什么叫封装

就把东西 包裹起来,不被人看见。

目的:保护隐私

2.封装的格式

__属性名=值

例如:

class Girl():
    def __init__(self,name,age):
        self.name=name
        self.__age=age
    def show(self):
        print(self.name,self.__age)
s=Girl('小意',18)
s.show()
print(s.name)#在外部不能访问叫封装

结果:
报错

3.私有方法

私有方法:在方法前面添加__例如__send_message

私有方法的作用:就是开发的过程中保护核心代码

在类的外部不能使用

例如:

class Phone():
    def text(self):
        print('laal')
    def __text1(self):
        print('heheh')
p=Phone()
p.text()
p.__text1()#

结果:
报错,因为在类的外部不能使用

4.应用场景

例如:

class Phone():
    def __phone(self):
        print('正在打电话')
    def phone(self,m):
        if m>30:
            self.phone()
        else:
            print('请充值后在打')
p=Phone()
p.phone(22)

结果:
请充值后在打

5.私有化封装的限制

可以用__dict__,可以查看属性
例如:

class Girl():
    def __init__(self,name,age):
        self.name=name
        self.__age=age
    def setAge(self,age):
        if age<0 or age>99:
            print('来自星星的你')
            self.__age=18
        else:
            self.__age=age
    def getAg(self):
        return self.__age
s=Girl("小意",18)
s.setAge(21)
print(s.getAg())
print(s.__dict__)
s.__age=99
print(s.__dict__)

结果:
21
{‘name’: ‘小意’, ‘_Girl__age’: 21}
{‘name’: ‘小意’, ‘_Girl__age’: 21, ‘__age’: 99}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值