分享

python的多态与封装

 youxd 2016-12-08

一、多态

多态(Polymorphism):意味着可以对不同类的对象使用相同的操作。

python的多态与封装

count()的作用是数一数某个元素在对象中出现的次数


python的多态与封装

lambda函数中,我们没有限制参数的类型,也一定不能限制,因为如果限制了,就不是pythonic了。在使用的时候,可以给参数任意类型,都能到的不报错的结果。当然,这样做之所以合法,更多的是来自于+的功能强悍。


repr()函数,针对输入的任何对象返回一个字符串。

python的多态与封装


python的多态与封装

代码中有Cat和Dog两个类,都继承了类Animal,它们都有talk()方法,输入不同的动物名称,会得出相应的结果。

多态问题,最后还要告诫,类型检查是毁掉多态的利器,比如type、isinstance以及isubclass函数,所以,一定要慎用这些类型检查函数。


二、封装

封装(Encapsulation): 即对外部世界隐藏对象的工作细节。

python中私有化的方法也比较简单,就是在准备私有化的属性(包括方法、数据)名字前面加双下划线。

python的多态与封装

用上面的方法,的确做到了封装。但是,我如果要调用那些私有属性,怎么办?

可以使用property函数

python的多态与封装

用了@property之后,在调用那个方法的时候,用的是p.name的形式,就好像在调用一个属性一样,跟前面p.me的格式相同。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多