Python學習(七)物件導向 ——繼承和多態

來源:互聯網
上載者:User

標籤:

Python 類繼承和多態

 

  在OOP(Object Oriented Programming)程式設計中,當我們定義一個class的時候,可以從某個現有的class 繼承,新的class稱為子類(Subclass),而被繼承的class稱為基類、父類或超類(Base class、Super class)。

  我們先來定義一個class,名為Person,表示人,定義屬性變數 name 及 sex (姓名和性別);定義一個方法:當sex是male時,print he;當sex 是female時,print she

  參考如下代碼:

 1 class Person: 2     def __init__(self,name,sex): 3         self.name = name 4         self.sex = sex 5          6     def print_heorshe(self): 7         if self.sex == "male": 8             print("he") 9         elif self.sex == "female":10             print("she")11 12 May = Person("May","female")13 Peter = Person("Peter","male")14 15 May.print_heorshe()16 Peter.print_heorshe()

  當我們編寫 Student 類的時候,完全可以繼承 Person 類;使用 class subclass_name(baseclass_name) 來表示繼承;

  繼承有什麼好處?最大的好處是子類獲得了父類的全部功能。如下Student 類就可以直接使用父類的 print_heorshe 方法

  執行個體化Student的時候,子類需要提供父類Person要求的兩個屬性變數 name 及 sex

 1 class Person: 2     def __init__(self,name,sex): 3         self.name = name 4         self.sex = sex 5          6     def print_heorshe(self): 7         if self.sex == "male": 8             print("he") 9         elif self.sex == "female":10             print("she")11 12 class Student(Person):            # Student 繼承 Person13     pass14 15 May = Student("May","female")16 Peter = Student("Peter","male")17 18 print(May.name,May.sex,Peter.name,Peter.sex)19 May.print_heorshe()20 Peter.print_heorshe()

 

Python學習(七)物件導向 ——繼承和多態

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.