用你已经学过的属性和构造方法知识来修改凯瑟琳的聚会计划程序。
①怎么修改聚会计划计算器
要想修改DinnerParty类,我们需要有办法让CalculateCostOfDecorations()方法在每次NumberOfPeople改变时都得以执行。
②添加属性和构造方法
想要修复凯瑟琳的问题,确保DinnerParty类被良好的封装就可以了。从把NumberOfPeople修改为每次被调用时都调用CalculateCostOfDecorations()的属性开始吧。然后添加一个构造方法来确保实例被适当的初始化。最后,修改窗体让它使用新的构造方法。如果你做的对的话,这就是窗体唯一需要改变的地方。
*你要创建一个新的属性,叫做NumberOfPeople,它有一个set访问器,调用CalculateCostOfDecorations()。它的后备字段叫做numberOfPeople。
*NumberOfPeople的set访问器需要有一个值来作为参数传递给CalculateCostOfDecorations()方法。所以添加一个叫做fancyDecorations的bool字段,它在每次CalculateCostOfDecorations()被调用的时候都被设置。
*添加一个构造方法。它接受三个参数,分别是给人数、健康选择、高级装饰的。现在,窗体在初始化DinnerParty对象的时候会调用两个方法--把它们移动到构造方法里面去。
*这是窗体的构造方法--窗体中其他的东西都保持不变: