亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

類的繼承和類繼承運用

發布時間:2020-07-28 17:12:03 來源:網絡 閱讀:306 作者:堅持和學習 欄目:編程語言


```通過繼承創建的新類稱為“子類”或“派生類”。
被繼承的類稱為“基類”、“父類”或“超類”。

繼承概念的實現方式主要有2類:實現繼承、接口繼承。
1、實現繼承是指使用基類的屬性和方法而無需額外編碼的能力;
2、接口繼承是指僅使用屬性和方法的名稱、但是子類必須提供實現的能力(子類重構爹類方法);

## 最簡單的繼承
class person(object):
    def talk(self):
        print('talk english....')

class ypeople(person):
    # def talk(self):   #要是沒有重新定義talk會調用父類里的talk
         print("talk chinese")
    def walk(self):
        print("yperson is runing....")

b=ypeople()
b.talk()
b.walk()

## 先繼承再重構
class person(object): 父類
    def __init__(self,name,age):
        self.name=name
        self.age=age
        self.sex="normal"

    def talk(self):
        print('talk english....')

class bperson(object):
    pass

class ypeople(person):
    def __init__(self,name,age,strength): #先繼承,再重構
        person.__init__(self,name,age)
        self.www="www"
        print(self.name,self.age,self.sex)
    def talk(self):   #要是沒有重新定義talk會調用父類里的talk
        person.talk(self) #繼承方法(一般不這么做,重復執行)
        print("talk chinese")
    def walk(self):
        print("yperson is working...")

b=ypeople("王東",30,"strong")
b.talk()
b.walk()

## 類的繼承運用例子
class School(object):
    """"學校成員基類"""
    number=0
    def __init__(self,name,age,sex):
        self.name=name
        self.age=age
        self.sex=sex
        self.enroll() #在基類里內部調用(相當于子類默認調用)

    def enroll(self):
        """注冊"""
        print("%s歡迎加入我們學院!"%self.name)
        School.number+=1 #把值賦給公有屬性(變成全局的)直接self.number只是在實例里面創建了一個變量number=0然后加1
    def tell(self):
        """打印自己的信息"""
        print("------info:%s-------"%self.name)
        for k,v in self.__dict__.items():
            print("\t",k,v)
        print("------end-------" )

    def __del__(self):  # 析構
        print("[%s] 被開除了!"%self.name)
        School.number-=1

class newschool(object):
    def openschool(self,addr):
        print("open in the %s"%addr)

class Teacher(School,newschool): # 多繼承(繼承多個類)
    """講師類"""
    def __init__(self,name,age,sex,salary,course):
        #School.__init__(self,name,age,sex) #經典類
        super(Teacher,self).__init__(name,age,sex) # 新式類
        self.salary=salary
        self.coures=course

    def teaching(self):
        print("Teacher [%s] is teaching [%s]"%(self.name,self.coures))

class Student(School):
    """學生類"""
    def __init__(self,name,age,sex,course,fee):
        School.__init__(self,name,sex,age)
        self.course=course
        self.fee=fee
        self.amount=0

    def pay_fee(self,amount):
        print("student [%s] has just paid [%s]"%(self.name,self.amount))
        self.amount+=amount
t1=Teacher("王肖",29,'F*M',20000,"Python")
s1=Student("王鼎",26,"N/A",'Python',30000)
s2=Student("蘇曉",22,"F","Python",5000)

print(School.number) #輸出總共創建次數
print(t1.number) #輸出t1實例本身創建次數
print(School.number) #輸出總共創建次數
del s1 #刪除s1
print(School.number) #輸出總共創建次數
a=s1.__dict__ #把信息轉換成列表
print(a)
t1.tell()
t1.openschool("上海") #多繼承測試
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴青县| 绥化市| 临颍县| 昌都县| 西安市| 织金县| 长汀县| 马公市| 衡东县| 竹溪县| 板桥市| 德保县| 丹东市| 清镇市| 昌平区| 津市市| 蒲城县| 辽宁省| 广德县| 新密市| 平塘县| 原平市| 泗阳县| 彭泽县| 青岛市| 项城市| 罗山县| 溧水县| 调兵山市| 闽侯县| 邯郸县| 双城市| 石景山区| 舟曲县| 万州区| 洛宁县| 怀远县| 新疆| 湖北省| 青阳县| 当雄县|