面向物件程式設計--類--物件--單繼承
阿新 • • 發佈:2021-09-30
部落格內容對於類的介紹較少,重點在實踐,定義可以查詢其它資料
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