设计健壮且灵活的面向对象程序
1. 理解多态性
多态性是面向对象编程中一个非常重要的概念。它不仅涉及在类层次结构中提供方法,更重要的是,它允许不同对象根据自身类型表现出不同的行为。例如,所有继承自 StockItem
类的对象都可以被要求检查其版本,但具体的行为取决于对象自身的类型。
示例: StockItem
和 Dress
class StockItem(object):
def __init__(self, stock_ref, price, color):
self.stock_ref = stock_ref
self.__price = price
self.__stock_level = 0
self.__StockItem_version = 1
self.color = color
def check_version(self):
# 这是版本 1 - 不需要更新任何内容
pass
class Dress(StockItem):
def __init__(self, stock_ref, price, color, pattern, size):
super().__init__(stock_ref, price, color)
se