Polymorphism . Who, when behavior varies by type? 当相关的分支或行为(X)随 type(class) (Y)变化时,用多态操作将X的职责分 配给Y
Polymorphism Who, when behavior varies by type? 当相关的分支或行为(X)随type (class) (Y)变化时,用多态操作将X的职责分 配给Y
● class Shape{ ●pub|ic virtual void drawl e class Circle: public Shape I public virtual void draw
class Shape { public: virtual void draw(); }; class Circle: public Shape { public: virtual void draw(); // … };
举例 NextGen POS application必须支持多个外界第 三方计税系统。不同计税系统接口或AP不 同,需要类似但又有变化的行为来适应之 (都需要计算税值,但有的可能要通过 Socket,有的通过SOAP或RMI)。 行为: getTaxes随着类型 Taxcalculatortype变
举例 NextGen POS application,必须支持多个外界第 三方计税系统。不同计税系统接口或API不 同,需要类似但又有变化的行为来适应之 (都需要计算税值,但有的可能要通过 Socket,有的通过SOAP或RMI)。 行为: getTaxes随着类型TaxCalculatortype变 化
Interface> ITax Calculator Adapter get Taxes( Sale ) List of TaxLineltems TaxMasterAdapter GoodAs Gold T ax Pro <???>Adapter Adapter get T axes( Sale ): List of TaxLineltems getT axes( Sale): List of T axLineltems