zoukankan      html  css  js  c++  java
  • python继承与多继承

    1、类与对象里的父类与子类(继承):

    类的继承主要是指自子类对于之前父类的方法的继承,如果子类里面写了父类里的方法,则它会将父类里的方法覆盖掉从而不能再调用到父类的方法。

    2、为了解决父类与子类里的同方法覆盖问题,可以有以下两种方法:

    (1)调用未绑定的父类方法:

    在同方法下面添加:

    父类名称.__init__(self)

    (2)使用super函数:

    在同方法下面添加:

    super().__init__()

    举例如下:

    方法2:

    import random as r

    class Fish:

        def __init__(self):

            self.x=r.randint(0,10)

            self.y=r.randint(0,10)

        def move(self):

            self.x-=1

            print("我的位置是:",self.x,self.y)

    class Gold(Fish):

        pass

    class SIM(Fish):

        pass

    class Smart(Fish):

        def __init__(self):

            super().__init__()

            self.hungry=True

        def eat(self):

            if self.hungry:

                print("我的未来我做主")

                self.hungry=False

            else:

                print("告别了,我的过去")


    方法1:

    import random as r

    class Fish:

        def __init__(self):

            self.x=r.randint(0,10)

            self.y=r.randint(0,10)

        def move(self):

            self.x-=1

            print("我的位置是:",self.x,self.y)

    class Gold(Fish):

        pass

    class SIM(Fish):

        pass

    class Smart(Fish):

        def __init__(self):

            Fish.__init__(self)

            self.hungry=True

        def eat(self):

            if self.hungry:

                print("我的未来我做主")

                self.hungry=False

            else:

                print("告别了,我的过去")

    3、对于类与对象的多继承方法:

    如果一个类想要同时具备不同类的方法,则可以利用多继承的方法不过多继承方法会使得代码比较混乱,所以并不经常使用,其格式如下:

     class C(A,B):

    例如:

  • 相关阅读:
    Elasticsearch入门系列(一)
    清楚Chrome缓存
    解决IIS启动站点报错
    Input type="file"上传文件change事件只触发一次解决方案
    本地计算机上的XXX服务启动后停止,某些服务在未由其它服务或程序使用时将自动停止
    SQL Server Datetime类型为NULL不能用ISNULL(datetime,' ')来判断,会导致1900-01-01
    浏览指南
    谁发明的c++
    c++的用处
    不一样的二叉树遍历(小学生都会)
  • 原文地址:https://www.cnblogs.com/Yanjy-OnlyOne/p/10005272.html
Copyright © 2011-2022 走看看