1. 程式人生 > 其它 >python中的類和繼承

python中的類和繼承

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

 

 在類裡使用動態引數,可以調動多個物件

 

 

呼叫方法(method):

1.普通方法,如show(),info()

2.特性方法,只具備只讀屬性,不能寫(這個方法裡面不能有形式引數)

呼叫特性方法的時候,沒有括號

 

 3.靜態方法:理解為全域性變數,但是不能等價於全域性變數,靜態方法的特點是使用類名來直接呼叫,在靜態方法裡面不能呼叫例項屬性

靜態方法主要是用來存放邏輯性的程式碼,主要是一些邏輯屬於類,但是和類本身沒有互動

 

 

二、繼承

"""java與python的繼承區別:
1.python是一個類可以繼承N個類
2.Java只能繼承一個類"""
概念:
1.基類(父類):被繼承的類
2.派生類(子類):繼承其他的類

 

 子類繼承父類,繼承了什麼?

1.資料屬性

2.例項屬性

3.方法

 

 

繼承的原則:

1.從左到右

2.從下到上

前提條件:子類重寫了父類的方法,那麼呼叫父類以及子類共同擁有的方法的時候,優先呼叫子類自己的方法

錯誤的繼承方法示例: