python基础 -29- 面向对象(封装-Encapsulation,多态-Polymorphism)

封装-Encapsulation

介绍

 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

 要访问该类的代码和数据,必须通过严格的接口控制。

 封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

 适当的封装可以让程式码更容易理解与维护,也加强了代码数据的安全性。

封装的优点
  • 良好的封装能够减少耦合。
  • 类内部的结构可以自由修改。
  • 可以对成员变量进行更精确的控制。
  • 隐藏信息,实现细节。
封装原则
  1. 将不需要对外提供的内容都隐藏起来;

  2. 把属性都隐藏,提供公共方法对其访问。


多态-Polymorphism

 有时一个对象会有多种表现形式,比如网站页面有个button按钮, 这个button的设计可以不一样(单选框、多选框、圆角的点击按钮、直角的点击按钮等),尽管长的不一样,但它们都有一个共同调用方式,就是onClick()方法。我们直要在页面上一点击就会触发这个方法。点完后有的按钮会变成选中状态、有的会提交表单、有的甚至会弹窗。这种多个对象共用同一个接口,又表现的形态不一样的现象,就叫做多态( Polymorphism )。

class Animal:
    def sound(self):
        print("叫唤呀...")

class Cat:
    def sound(self):
        print("喵喵喵...")

class Dog:
    def sound(self):
        print("汪汪汪...")




animal = Animal()
dog = Dog()
cat = Cat()

animals = (animal, dog, cat)
for a in animals:
    a.sound()

 输出

叫唤呀...
汪汪汪...
喵喵喵...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值