python中的類和繼承
阿新 • • 發佈:2022-04-01
1.面向物件
什麼是面向物件:
所謂面向物件就是說:站在上帝的視角下,世界萬物一切皆物件。把擁有共同的屬性歸為一類,這就是class的由來。
類的定義:
關鍵字:class
類的名稱首字母必須是大寫的
類裡面有哪些東西?
1.屬性:分為類屬性(類屬性又叫資料屬性)和例項屬性
2.方法(其實就是之前學習過的函式)
類裡面的屬性及方法,呼叫的前提是首先要對類進行例項化處理
下面我們建立一個簡單的類
class Person(object):#object是所有類的父類,可以說是類的祖先
# 構造方法:針對類初始化的時候必須要對構造方法裡面的例項屬性賦值
def __init__(self, name, age): # init:初始化
# 例項屬性的過程
self.name= name
self.age = age
def show(self):
print('my name is {0},and my age is {1}'.format(self.name,self.age))
obj=Person(name='lm',age=20)#obj:1.它是一個變數 2.他是類的物件
obj.show()
呼叫方法的執行順序:
1.執行構造方法
2.執行真正呼叫的方法
3.執行析構方法
在方法當中增加例項屬性sex
在類裡使用動態引數,可以調動多個物件
1.普通方法,如show(),info()
2.特性方法,只具備只讀屬性,不能寫(這個方法裡面不能有形式引數)
呼叫特性方法的時候,沒有括號
3.靜態方法:理解為全域性變數,但是不能等價於全域性變數,靜態方法的特點是使用類名來直接呼叫,在靜態方法裡面不能呼叫例項屬性
靜態方法主要是用來存放邏輯性的程式碼,主要是一些邏輯屬於類,但是和類本身沒有互動
"""java與python的繼承區別:
1.python是一個類可以繼承N個類
2.Java只能繼承一個類"""
概念:
1.基類(父類):被繼承的類
2.派生類(子類):繼承其他的類
繼承的原則:
1.從左到右
2.從下到上
前提條件:子類重寫了父類的方法,那麼呼叫父類以及子類共同擁有的方法的時候,優先呼叫子類自己的方法
錯誤的繼承方法示例: