欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 繼承和組合

江奕云2年前9瀏覽0評論

Python作為一種面向對象語言,繼承和組合是其最基本的面向對象編程方式之一。這種方式通過把一些公共的屬性和方法提取出來,使代碼更加簡潔易讀,方便維護和擴展。

繼承是指一個類可以派生出子類,在子類中可以直接使用父類中的屬性和方法。例如以下代碼:

class Animal:
def __init__(self, name):
self.name = name
def info(self):
print("This is an animal. Its name is", self.name)
class Dog(Animal):
def __init__(self, name):
super().__init__(name)
def sound(self):
print(self.name, "barks.")
my_dog = Dog("Bobby")
my_dog.info()   # 輸出:"This is an animal. Its name is Bobby"
my_dog.sound()  # 輸出:"Bobby barks."

在這個例子中,Dog類繼承了Animal類,并且通過調用super()函數來調用父類的初始化方法,以便在實例化時能夠獲得基本屬性和方法。在子類中,我們還可以重寫父類中的方法以滿足特定的需求。

組合是指把不同類的對象放在一起,用來實現更復雜的功能。例如以下代碼:

class CPU:
def __init__(self, model):
self.model = model
def info(self):
print("This is a CPU. Its model is", self.model)
class Computer:
def __init__(self, brand, cpu):
self.brand = brand
self.cpu = cpu
def info(self):
print("This is a computer. Its brand is", self.brand)
self.cpu.info()
my_cpu = CPU("i7")
my_computer = Computer("Dell", my_cpu)
my_computer.info()  # 輸出:"This is a computer. Its brand is Dell",“This is a CPU. Its model is i7”

在這個例子中,我們定義了兩個類,一個是CPU類,一個是Computer類。在Computer類的初始化函數中,我們傳入了一個CPU的實例(也就是my_cpu對象),并將其保存在Computer類的一個屬性(也就是self.cpu)中。之后,在Computer類的info方法中,我們調用了cpu的info()方法。這就是組合的效果。我們將CPU對象與Computer對象組合在一起來實現更復雜的功能。