Python面向对象之五:封装和多态

Python面向对象之五:封装和多态

python面向对象的三大特性:继承(已学习),封装,多态。

一、封装

封装是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。

封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

1、简单理解封装

顾名思义,封装属性就是把已有的属性封装到一个类里面去:

class Person():

    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex

jack = Person('jack', 18, '男')
#将jack、 18、 男 封装到jack对象(self)的name、age、sex中
#name、age、sex又封装在了Person类中
print(jack.__dict__)
#{'name': 'jack', 'age': 18, 'sex': '男'}

分析:self是一个形式参数,创建什么对象,它就代表那个对象

2、调用封装的属性

通过对象直接调用:

class Person():

    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex

jack = Person('jack', 18, '男')
print(jack.name, jack.sex, jack.age)
#jack 男 18

分析:在这里,我们可以用对象名随意调用到自身的属性,并进行属性修改,从安全的角度来看,这样是很不安全的,所以需要将属性隐藏起来,也就是私有化。

私有化属性的方法:类中定义私有的,只有类内部使用,外部无法访问(比如_(杠) __(杠杠) )

class Person():

    def __init__(self, name, age, sex):
        self.__name = name
        self.__age = age
        self.__sex = sex

jack = Person
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值