python_20200317封装 继承 多态



展开

python 中的 self 相当于c++ 中的this指针。。。
——  _init_(self)  init方法 构建方法,当你在初始化一个对象时 这个方法就会在对象被创建时 自动调用

class Ball:
    def  __init__(self,name):   # attention ' __ '
        self.name = name
    def kick(self):
        print("我叫%s,该死的,谁在踢我。。。"% self.name)

        
>>> b = Ball('kk')
>>> b.kick

python 中的私有变量 和 共有变量

>>> class Person:
    __name = "到付"  #私有变量 无法通过 >>> p = Person() p.name 或 p.__name() 访问获得 可在私有变量下方定义后通过a.getName() 访问
    def getName(self):   # 或者 p._Person__name 的方式访问
        return self.__name

    
>>> p = Person()
>>> p.getName()
'\xb5\xbd\xb8\xb6'
或者
p._Person__name 来访问

38---- 继承
>>> class Parent:
    def hello(self):
        print('zhegnzai diaoyong fulie d fangfa')

        
>>> class Child(Parent):    # 子类继承父类
    pass
    
>>> p = Parent()
>>> p.hello()
zhegnzai diaoyong fulie d fangfa

>>> c = Child()
>>> c.hello()               #  并继承父类的方法  
zhegnzai diaoyong fulie d fangfa

 class Child(Parent):               # 子类重新定义
    def hello(self):
        print("zhegnzai diaoyng zilei d fangfa ")

        
>>> c = Child()
>>> c.hello()
zhegnzai diaoyng zilei d fangfa    # 调用子类的方法 覆盖父类的方法
>>> p.hello()
zhegnzai diaoyong fulie d fangfa   # 继续调用父类自己的方法

多态:

class Base1:
    def foo1(self):
        print("我是fool,为base1 代言")


class Base2:
    def foo2(self):
        print("我是foo2,为base2 代言")

class C(Base1,Base2):
    pass
c = C()
c.foo1()
c.foo2()
————————————————
版权声明:本文为CSDN博主「qq_23183809」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_23183809/article/details/104953059

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值