class Decorator:public Beverage
{
public:
Decorator(Beverage * com);
virtual ~Decorator();
virtual string get_descrption();
protected:
Beverage * component;
};
而MilkDecorator繼承了Decorator,如果component 為私有的則MilkDecorator便不能訪(fǎng)問(wèn)。
如果milkDecorator 設(shè)計(jì)成這樣就不會(huì)違反了封裝的原則。
基本上只有一個(gè)區(qū)別,就是protect成員能被派生類(lèi)訪(fǎng)問(wèn)!而派生類(lèi)對(duì)private沒(méi)有特殊訪(fǎng)問(wèn)權(quán)!