物件導向中的方法 裝飾器的應用

2021-10-06 18:20:41 字數 1064 閱讀 1899

"""

普通方法: 可以有引數,或者無引數,當場正常的函式呼叫

繫結方法: (1) 繫結到物件(自動傳遞引數為物件) (2) 繫結到類(自動傳遞引數為類)

靜態方法: 無論是物件還是類,都可以呼叫,不會預設傳遞任何引數

"""class dog():

name = "旺財"

# 普通方法

def jiao():

print("小狗哇哇哇的叫喚")

# 繫結方法(物件)

def eat(self):

print("小狗喜歡吃骨頭")

# 繫結方法(類)

@classmethod

def tail(cls):

print(cls)

print("小狗看到主任喜歡搖尾巴")

#靜態方法

@staticmethod

def jump(num):

print("小狗喜歡接飛盤")

obj = dog()

普通方法 (無參方法只能類呼叫)

obj.jiao() error

dog.jiao()

繫結方法 (一般用物件呼叫)

obj.eat() #(推薦)

dog.eat(12356)

繫結方法(類)

"""系統自己把類當成引數進行傳遞"""

dog.tail() #(推薦)

obj.tail()

靜態方法 (不會預設傳遞任何引數,如果有引數,當成普通方法呼叫即可.)

obj.jump(1)

dog.jump(2)

在類外,為物件新增成員方法,預設皆是靜態方法.

obj.func = lambda : print(123)

obj.func()

"""

property 可以把方法變成屬性使用

作用: 控制屬性的獲取,設定,刪除操作,

變相的增加成員的安全性.可以通過自定義邏輯對成員進行控制

自動觸發: 要求:是同乙個名字

python中物件導向的類和裝飾器

class demomthd 定義乙個類 staticmethod 靜態方法裝飾器 defstatic method 定義乙個靜態方法 print 此處呼叫了靜態方法 classmethod 定義乙個類方法裝飾器 defclass method cls 定義乙個類方法 print 此處呼叫了類方法 ...

物件導向之類裝飾器

property是一種特殊的屬性,訪問它時會執行一段功能 函式 然後返回值 class student def init self,name,birth self.name name self.birth birth property 將乙個方法偽裝成屬性 defage self import ti...

物件導向之裝飾器

可以通過 property的getter和setter方法修改物件的屬性值。class person object def init self,name,age self.name name self.age age 訪問器 getter方法 property def name self retur...