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):

    例如:

  • 相关阅读:
    BadgeView使用
    设计模式(一)单例模式的七种写法
    Android 之使用LocalBroadcastManager解决BroadcastReceiver安全问题
    AsyncTask源码分析
    Android微信支付—注意事项
    Android微信支付SDK开发
    Android支付宝SDK开发笔记
    onInterceptTouchEvent与onTouchEvent默认返回值
    线程间的通信方式3--Handler
    Android应用程序启动过程(二)分析
  • 原文地址:https://www.cnblogs.com/Yanjy-OnlyOne/p/10005272.html
Copyright © 2011-2022 走看看