Python語言是一門面向對象編程(Object-Oriented Programming,OOP)的語言,通過OOP的思想可以提高代碼的復用性、可維護性和可擴展性。在Python中,每個對象都具有特定的數據和行為。
一、類與對象
在Python中,類是對象的模板,對象是類的實例。使用class關鍵字定義一個類,類中可以定義屬性和方法。下面是一個簡單的示例:
class Car: # 屬性 color = "" price = 0 # 方法 def __init__(self, color, price): self.color = color self.price = price def get_color(self): return self.color def get_price(self): return self.price
在上面的示例中,類Car有兩個屬性color和price,有三個方法__init__()、get_color()和get_price()。__init__()方法是一個特殊的方法,用於初始化類的實例。
創建類的實例需要使用類名和一對圓括弧,可以向構造函數__init__()傳遞參數。下面是一個簡單的示例:
car1 = Car("red", 20000) car2 = Car("blue", 30000) print(car1.get_color()) # 輸出 red print(car2.get_price()) # 輸出 30000
二、繼承
在Python中,子類可以繼承父類的屬性和方法,可以重寫父類的方法,並且可以新增屬性和方法。使用class關鍵字定義一個子類時,在類名後加上括弧,並在括弧中指定父類的名稱。下面是一個簡單的示例:
class SportsCar(Car): # 新增屬性 max_speed = 0 # 重寫父類方法 def get_price(self): return self.price * 2 # 新增方法 def get_max_speed(self): return self.max_speed # 創建子類的實例 car3 = SportsCar("black", 50000) car3.max_speed = 300 print(car3.get_color()) # 輸出 black print(car3.get_price()) # 輸出 100000 print(car3.get_max_speed()) # 輸出 300
三、多態
在Python中,不同的對象可以發送相同的消息,但是它們可以依據接收對象的不同而採用不同的行動,這就是多態。下面是一個簡單的示例:
def display(car): print("Color: " + car.get_color()) print("Price: " + str(car.get_price())) # 創建父類實例和子類實例 car4 = Car("green", 25000) car5 = SportsCar("yellow", 60000) car5.max_speed = 200 # 調用方法 display(car4) display(car5)
在上面的示例中,display()方法可以接收任意類型的Car對象作為參數,包括父類實例和子類實例。當傳遞父類實例時,結果與傳遞子類實例時不同。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/297774.html