17:類對象、實例對象、類屬性、實例屬性、類方法、實例方法、靜態方法


本章內容:

類與實例

實例屬性與靜態屬性

實例方法與靜態方法

01:面向對象的語言VS面向對象的設計

面向對象的設計:是一種設計思路

面向對象的語言:提供對面向對象設計的語言支持

非面向對象的語言也能實現面向對象的設計思路

02:類與實例

類-一類具有相同特征的食物的統稱

現實不存在-抽象的概念-人類-鳥類

03:關鍵字 class 類名(通常首字母大寫)

class Tiger:

classname=‘tiger’

classname是一個屬性

04:實例

在這個類里面實際存在的個體

實例是類的具體實例化體現

05:創建實例

類名()

class Person()

#創建實例 類名()

P1= Person()

06:類--

1-特征--屬性--變量

2-行為--方法--函數

07:類屬性--這個類所有的實例都是一樣的--共有的

name= ‘人類’

靜態(類)屬性--可以實例.屬性,類.屬性

實例屬性-有些屬性每一個實例不一樣

初始化方法--創建實例會自動調用

def __init(self):
print('我執行了')​

08:對象的方法

實例方法

def eat(self):

p1.eat()

image.png

image.png

09:具體總結概念:

類對象、類屬性、實例對象、實例屬性

類是一個特殊的對象即類對象

描述類的屬性成為類屬性

類屬性在內存中只有一份,在_init_外部定義

實例方法、類方法、靜態方法的區別

①實例方法是由對象調用,至少一個self參數。self代表對象的引用

②類方法有類調用,至少一個cls參數,並且需要裝飾器@classmethod裝飾

③靜態方法由類調用,不需要參數,需要裝飾器@staticmethod裝飾

創建原則:

①只要訪問了成員變量的方法都叫實例方法

②只要訪問類變量的方法叫類方法

③既不訪問成員變量,也不訪問類變量的方法叫靜態方法

image.png

靜態方法:@staticmethod

不能訪問實例屬性,,參數不能傳入self

與類相關但不是不依賴類與實例的方法

類方法:@classmethod

不能訪問實例屬性,參數必須傳入cls

必須傳入cls參數(即代表了此類對象--區別--self代表實例對象)

靜態方法和類方法都可以通過類或者實例來調用。其兩個的特點都不能夠調用實例屬性


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM