在python中,類別是一種藍圖,它定義了物件的行為和屬性。物件是類別的實例,它具有類別定義的所有屬性和方法。
我們可以透過class
關鍵字來定義一個類,如下所示:
class Person: def __init__(self, name, age): self.name = name self.age = age def greet(self): print(f"Hello, my name is {self.name} and I am {self.age} years old.")
在這個例子中,Person
是一個類,它定義了兩個屬性name
和age
,以及一個方法greet()
。
我們可以在Person
類別上建立對象,如下所示:
person = Person("John", 25) person.greet()
這樣,我們就建立了一個名為person
的對象,並且呼叫了它的greet()
方法。
類別可以擁有任意數量的屬性和方法,屬性是類別的狀態,方法是類別的行為。
類別的屬性可以透過點運算子.
來訪問,如下所示:
print(person.name) print(person.age)
類別的屬性也可以透過賦值運算子=
來修改,如下所示:
person.name = "Jane" person.age = 30
類別的屬性和方法可以用self
關鍵字來訪問,self
代表目前物件的參考。
類別的屬性和方法都是公共的,這意味著它們可以在類別的任何地方存取。
#繼承是一種建立一個新類別(衍生類別)的方法,該類別從一個現有類別(基底類別)繼承屬性和方法。
衍生類別可以重寫基底類別的方法,以提供不同的實作。
衍生類別可以透過class
關鍵字和()
運算子來創建,如下所示:
class Student(Person): def __init__(self, name, age, major): super().__init__(name, age) self.major = major def study(self): print(f"{self.name} is studying {self.major}.")
在這個例子中,Student
類別繼承自Person
類,Student
類別增加了major
屬性和study ()
方法。
#多態是物件導向程式設計的一個重要特性,它允許我們使用統一的方式來處理不同類型的物件。
實作多態的一種方法是使用抽象類,抽象類別是不能被實例化的類,它只能被繼承。
抽象類別可以使用abc
模組來定義,abc
模組提供了許多用於定義抽象類別的裝飾器。
抽象類別中的方法可以被子類別重寫,以提供不同的實作。
多態的另一個實作方法是使用接口,接口是一種定義了一組方法的規範,它不能被實例化,但它可以被類別實作。
實作介面的類別必須實作介面中定義的所有方法。
介面可以使用typing
模組來定義,typing
模組提供了許多用於定義介面的類型註解。
#類別與物件是物件導向程式設計的基礎,它們可以幫助我們建立更清晰、更易於維護的程式碼。
繼承和多態是物件導向程式設計的重要特性,它們可以幫助我們重複使用程式碼和創建更靈活的程式。
以上是從零開始探索Python類別與對象,揭開物件導向程式設計的神秘面紗的詳細內容。更多資訊請關注PHP中文網其他相關文章!