python面向对象三大特性

面向对象三大特性:

封装 / 继承 / 多态

1.封装:将数据进行封装到对象中,以供其他函数进行调用

class ags:
    def __init__(self,k1,k2,k3):
        self.k1=k1
        self.k2=k2
        self.k3=k3
def awe(arg):
    print(arg.k1)
    print(arg.k2)
    print(arg.k3)


obj = ags(220,333,334)
awe(obj)
<<<220
333
334

2.继承:提高代码复用性

  1.先在自己里面找,找不到再去找父级,父级找不到再找父级的父级依次进行查找

class foo:         # 父类 基类
    def f1(self):
        print(1)
class fa(foo):           # 子类  派生类
    def f2(self):          
        print(2)
class fc(fa):
    def f3(self): # 子类  派生类
        print(3)

obj = fc()  
obj.f2()   # 先从自己里面去找,找不到就往父级去找
<<<2
obj.f1()
<<<1   
obj.f3()
<<<3
第一种单继承
class foo:   # 父类 基类
    def f1(self):
        print(1)
class fa:  # 父类 基类
    def f1(self):
        print(2)
class fc(fa,foo):
    def f3(self): # 子类  派生类
        print(3)


obj = fc()
obj.f1()
<<<2
多继承

  2.多继承只有python支持,其他不支持

  多继承是先在自己里面找,找不到就按照括号里的顺序依次进行查找

3.多态:多种形态或多种状态

在python中由于原生支持多态,所有没有了特殊性,崇尚鸭子模型,python函数传参时无需指定类型

posted @ 2019-08-22 15:55  tiwe  阅读(439)  评论(0编辑  收藏  举报