一、封裝
封裝是OOP(面向對象編程)中最基本、最重要的概念之一。封裝用於隱藏對象的狀態和行為,防止外部直接訪問和修改對象的屬性和方法。在Python中,我們可以使用屬性和方法對類進行封裝。
下面是一個簡單的例子:
class Dog: def __init__(self, name, breed): self.name = name self.breed = breed def bark(self): print("汪汪!") dog = Dog("旺財", "哈士奇") dog.bark()
在上面的例子中,我們定義了一個名為Dog的類,有兩個屬性name和breed以及一個方法bark。其中,__init__方法是Python特有的構造器方法,用於初始化對象的屬性。bark方法用於打印狗叫聲。我們創建了一個名為dog的實例,並調用了它的bark方法。
二、繼承
繼承是面向對象編程中另一個重要的概念,它允許我們創建一個類,它從另一個類中繼承屬性和方法。被繼承的類稱為父類或基類,繼承的類稱為子類或派生類。
下面是一個簡單的例子:
class Animal: def __init__(self, name): self.name = name def speak(self): pass class Dog(Animal): def speak(self): return "汪汪!" class Cat(Animal): def speak(self): return "喵喵!" dog = Dog("旺財") cat = Cat("咪咪") print(dog.speak()) # "汪汪!" print(cat.speak()) # "喵喵!"
在上面的例子中,Animal是一個基類,它有一個屬性name和一個方法speak,但是方法speak不會做任何操作。Dog和Cat是Animal的子類,它們都有一個speak方法,但是實現方式不同。我們創建了一個名為dog的Dog實例和一個名為cat的Cat實例,分別調用它們的speak方法。
三、多態
多態是OOP中的另一個概念,它指的是同一個方法可以在不同的類中擁有不同的實現方式。多態使得我們可以用相同的代碼來處理不同的對象,從而減少代碼的複雜性。
下面是一個簡單的例子:
class Animal: def __init__(self, name): self.name = name def speak(self): pass class Dog(Animal): def speak(self): return "汪汪!" class Cat(Animal): def speak(self): return "喵喵!" def speak(animal): print(animal.speak()) dog = Dog("旺財") cat = Cat("咪咪") speak(dog) # "汪汪!" speak(cat) # "喵喵!"
在上面的例子中,我們定義了一個名為speak的函數,它接受一個Animal類型的參數,並調用該參數的speak方法。因為Dog和Cat都繼承自Animal,並實現了自己的speak方法,所以我們可以用相同的函數來處理不同的實例。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/303121.html