封装 | 继承 | 多态 | Python

Posted 胡说八道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了封装 | 继承 | 多态 | Python相关的知识,希望对你有一定的参考价值。

面对对象
1.封装
    # 什么是python中的封装?
    # 使用构造方法将内容封装到对象中,然后通过对象直接或者self间接获取被封装的内容;
    class Oop(object):
        def __init__(self):
            self.name = name
            self.age = age
        
        def get_attrs(self):
            print(self.name)
            print(self.age)
        
    obj = Oop(Mic, 18)
    # 直接获取
    print(obj.name, obj.age)
    # 间接获取
    obj.get_attrs()
附:函数式变成与面对对象变成之间有什么区别?
    # 如果要传入固定参数完成几个不同的事情,对于函数式,每次都要传入同样的参数,
    # 而OOP只需要将不同的事情作为方法写到一个类中,传入的参数保存到创建的对象里,
    # 只需要在对象实例化的时候传入参数,接着执行每一个方法都可以用self间接去取;
2.继承
    # 什么是继承?
    # 就是将多个类共有的方法,方法父类中,子类只需要继承父类,
    # 不需要每个方法在每个类中都写一次;
    # 多继承
    # 新式类与经典类的区别:
    1.经典类
        class Grandpa:
            def say(self):
                print(Grandpa)
        
        class Father(Grandpa):
            def say(self):
                print(Father)

        class Mother(Grandpa):
            def say(self):
                print(Mother)

        class Child(Father, Mother):
            def say(self):
                print(Child)
        # 在创建一个son对象之后,执行say()方法,先到Father类中找say()方法,
        # 找不到就到上一个父类Grandpa中找,找不到再开始从Mother类中找,
        # 再找不到就报错;
        son = Child()
        a.say()
    2.新式类
        # 代码与上面基本一致,只是将Grandpa:修改成:‘Grandpa(object):‘;
        # 执行顺序不同:Father-> Mother-> Granpa -> 报错;
3.多态
    # 什么是多态?什么是多态性?
    # 多态指的是同一事物的多种形态;
    # 多态性是指一种调用方法,不同执行效果;
    # 好处:不论对象怎么变,使用者不需要自己修改代码,都是同一形式调用执行;
    class Mic(object):
        def write():
            print(Mic)

    class Tom(object):
        def write():
            print(Tom)

    def exe_func(obj):
        obj.write()

    obj1 = Mic()
    obj2 = Tom()
    # 调用同一个函数,但是执行效果不同,即便修改了write方法,也不需要更换接口;
    exe_func(obj1)
    exe_func(obj2)

 

以上是关于封装 | 继承 | 多态 | Python的主要内容,如果未能解决你的问题,请参考以下文章

19.Python面向对象之:三大特性:继承,封装,多态。

Python进阶(十六)----面向对象之~封装,多态,鸭子模型,super原理(单继承原理,多继承原理)

继承 多态 封装 Python面向对象的三大特性

Python3-2020-测试开发-20- 面向对象之封装,继承,多态

Python面向对象之类的封装继承与多态

Python 面向对象的三大特性:封装,继承,多态