1. 程式人生 > 其它 >面向物件程式設計--類--物件--單繼承

面向物件程式設計--類--物件--單繼承

部落格內容對於類的介紹較少,重點在實踐,定義可以查詢其它資料

1、類--物件

  通過類生成物件(例項化)

    學習繼承之前我們先看一下 經典類和新式類

    經典類:預設沒有繼承任何父類

    新式類:預設繼承了object

    python3中預設會繼承object(內建),所以python3中全部都是新式類

 1 '''定義一個學生類'''
 2 class Student:#類名建議使用駝峰體去命名
 3     def __init__(self,name,age,gender):#__init__()例項化(建立物件)時自動執行
 4         self.name=name,#
__init__()中定義類的預設屬性 5 self.age=age, 6 self.gender=gender 7 8 '''定義一個修改名字的功能''' 9 def set_info(self,value): 10 self.name=value 11 12 '''通過類建立物件==例項化''' 13 stu_obj=Student('alex',18,'female') 14 print(stu_obj.__dict__)#{'name': ('alex',), 'age': (18,), 'gender': 'female'}
15 '''通過字典去檢視屬性''' 16 print(stu_obj.__dict__['name'])#('alex',) 17 '''還有更簡單的方式去檢視屬性''' 18 print(stu_obj.name)#('alex',) 19 '''修改學生名字 屬性修改有兩種方式 20 1、通過定義功能修改(此程式定義了一個set_info的函式,2、物件訪問屬性然後賦值修改)''' 21 stu_obj.set_info('engo')#只需要給函式傳一個引數,因為預設會把物件本身傳入 22 '''檢視是否已經修改''' 23 print(stu_obj.name)#engo

2、繼承

 1 '''
 2 類的繼承
 3 1、單繼承
 4 2、多繼承
 5 '''

13 '''建立一個'人'的類''' 14 class People: 15 def __init__(self,name,age,gender): 16 self.name=name, 17 self.age=age, 18 self.gender=gender 19 '''修改名字的函式''' 20 def set_info(self,value): 21 self.name=value 22 23 class Student(People):#繼承 people 這個類的屬性 24 def choose_course(self): 25 print('%s正在選課'%self.name)#此處就會呼叫父類的屬性 26 27 stu_obj=Student('alex',18,'female') 28 #print(stu_obj.__dict__)#{'name': ('alex',), 'age': (18,), 'gender': 'female'} 29 stu_obj.choose_course()#alex正在選課 30 '''如果父類和子類有同名數據,訪問屬性以自己的為主''' 31 32 class Teacher(People): 33 def __init__(self,name,age,gender,selary,level): 34 People.__init__(self,name,age,gender)#部分屬性可以使用父類中的,需要拓展 35 self.selary=selary, 36 self.level=level 37 38 teacher_obj=Teacher('lisa',19,'femal',20000,5) 39 print(teacher_obj.__dict__)#{'name': ('lisa',), 'age': (19,), 'gender': 'femal', 'selary': (20000,), 'level': 5}

本文來自部落格園,作者:{落葉給樹的留言},轉載請註明原文連結:https://www.cnblogs.com/luoyegeishudeliuyan/p/15354623.html