Python是一種面向?qū)ο蟮恼Z(yǔ)言,它的面向?qū)ο螅∣O)特性使得它成為一種非常靈活的編程語(yǔ)言。下面我們來(lái)了解Python中的OO特性。
封裝(Encapsulation)
class Car: def __init__(self, model, color, price): self.model = model self.color = color self.price = price def get_info(self): return "Model: {0}, Color: {1}, Price: {2}".format(self.model, self.color, self.price)
在這個(gè)例子中,我們定義了一個(gè)名為“Car”的類,它包含有三個(gè)屬性:model、color和price。我們還定義了一個(gè)名為“get_info”的方法,用來(lái)獲取這個(gè)對(duì)象的信息。這就是封裝 —— 將屬性和方法包裝在一起以使其更易于使用。
繼承(Inheritance)
class Animal: def __init__(self, name): self.name = name def speak(self): pass # this will be overridden in the child classes class Dog(Animal): def speak(self): return "Woof!" class Cat(Animal): def speak(self): return "Meow!"
在這個(gè)例子中,我們定義了一個(gè)名為“Animal”的基類,它包含一個(gè)名為“name”的屬性和一個(gè)名為“speak”的方法。我們還定義了兩個(gè)派生類“Dog”和“Cat”,它們繼承了“Animal”的所有屬性和方法。派生類可以通過(guò)覆蓋父類方法來(lái)自定義行為,這就是繼承。
多態(tài)(Polymorphism)
for animal in [Dog("Rufus"), Cat("Whiskers"), Dog("Fido"), Cat("Missy")]: print(animal.name + ": " + animal.speak())
在這個(gè)例子中,我們創(chuàng)建了一個(gè)名為“animal”的列表,里面包含了不同的動(dòng)物對(duì)象。我們遍歷這個(gè)列表,打印每個(gè)動(dòng)物的名字和它的“speak”方法的返回值。不同類型的對(duì)象可以使用共同的接口,這就是多態(tài)。
總之,Python中OO的特性使得我們能夠把程序抽象成一個(gè)類的集合,使其更加模塊化、可擴(kuò)展和易于維護(hù)。