ssd3实验完整答案一二.docx
《ssd3实验完整答案一二.docx》由会员分享,可在线阅读,更多相关《ssd3实验完整答案一二.docx(15页珍藏版)》请在冰豆网上搜索。
ssd3实验完整答案一二
ssd3-实验完整答案-一、二
ImplementingtheGourmetCoffeeSystem
代码
publicclassProduct{
privateStringcode;
privateStringdescription;
privatedoubleprice;
publicProduct(StringinitialCode,StringinitialDescription,
doubleinitialPrice){
this.code=initialCode;
this.description=initialDescription;
this.price=initialPrice;
publicStringgetCode(){
returncode;
publicStringgetDescription(){
returndescription;
publicdoublegetPrice(){
returnprice;
publicbooleanequals(Objectobject){
return(objectinstanceofProduct)
&&((Product)object).getCode()==this.getCode();
publicStringtoString(){
returngetCode()+"_"+getDescription()+"_"+getPrice();
publicclassCoffeeextendsProduct{
privateStringorigin;
privateStringroast;
privateStringflavor;
privateStringaroma;
privateStringacidity;
privateStringbody;
publicCoffee(StringinitialCode,StringinitialDescription,
doubleinitialPrice,StringinitialOrigin,StringinitialRoast,
StringinitialFlavor,StringinitialAroma,StringinitialAcidity,
StringinitialBody){
super(initialCode,initialDescription,initialPrice);
this.origin=initialOrigin;
this.roast=initialRoast;
this.flavor=initialFlavor;
this.aroma=initialAroma;
this.acidity=initialAcidity;
this.body=initialBody;
publicStringgetOrigin(){
returnorigin;
publicStringgetRoast(){
returnroast;
publicStringgetFlavor(){
returnflavor;
publicStringgetAroma(){
returnaroma;
publicStringgetAcidity(){
returnacidity;
publicStringgetBody(){
returnbody;
publicStringtoString(){
returngetCode()+"_"+getDescription()+"_"+getPrice()+"_"
+getOrigin()+"_"+getRoast()+"_"+getFlavor()+"_"
+getAroma()+"_"+getAcidity()+"_"+getBody();
publicclassCoffeeBrewerextendsProduct{
privateStringmodel;
privateStringwaterSupply;
privateintnumberOfCups;
publicCoffeeBrewer(StringinitialCode,StringinitialDescription,
doubleinitialPrice,StringinitialModel,
StringinitialWaterSupply,intinitialNumberOfCups){
super(initialCode,initialDescription,initialPrice);
this.model=initialModel;
this.waterSupply=initialWaterSupply;
this.numberOfCups=initialNumberOfCups;
publicStringgetModel(){
returnmodel;
publicStringgetWaterSupply(){
returnwaterSupply;
publicintgetNumberOfCups(){
returnnumberOfCups;
publicStringtoString(){
returngetCode()+"_"+getDescription()+"_"+getPrice()+"_"
+getModel()+"_"+getWaterSupply()+"_"+getNumberOfCups();
publicclassOrderItem{
Productproduct;
privateintquantity;
publicOrderItem(ProductinitialProduct,intinitialQuantity){
this.product=initialProduct;
this.quantity=initialQuantity;
publicProductgetProduct(){
returnproduct;
publicintgetQuantity(){
returnquantity;
publicvoidsetQuantity(intnewQuantity){
this.quantity=newQuantity;
publicdoublegetValue(){
returnproduct.getPrice()*this.getQuantity();
publicStringtoString(){
returngetQuantity()+""+product.getCode()+""
+product.getPrice();
importjava.util.ArrayList;
importjava.util.Iterator;
publicclassCatalogimplementsIterable{
privateArrayListproducts;
publicCatalog(){
products=newArrayList();
publicvoidaddProduct(Productproduct){
products.add(product);
publicIteratorgetProductsIterator(){
returnproducts.iterator();
publicProductgetProduct(Stringcode){
for(Productpro:
products){
if(pro.getCode().equals(code))
returnpro;
returnnull;
publicintgetNumberOfProducts(){
returnproducts.size();
publicIteratoriterator(){
returnthis.getProductsIterator();
importjava.util.ArrayList;
importjava.util.Iterator;
publicclassOrderimplementsIterable{
privateArrayListitems;
publicOrder(){
items=newArrayList();
publicvoidaddItem(OrderItemorderItem){
items.add(orderItem);
publicvoidremoveItem(OrderItemorderItem){
items.remove(orderItem);
publicIteratorgetItemsIterator(){
returnitems.iterator();
publicOrderItemgetItem(Productproduct){
for(OrderItemord:
items){
if(ord.getProduct().equals(product))
returnord;
returnnull;
publicintgetNumberOfItems(){
returnitems.size();
publicIteratoriterator(){
returnthis.getItemsIterator();
publicdoublegetTotalCost(){
doubletotalCost=0;
for(OrderItemord:
items){
totalCost+=ord.getValue();
returntotalCost;
importjava.util.ArrayList;
importjava.util.Iterator;
publicclassSalesimplementsIterable{
privateArrayListorders;
publicSales(){
orders=newArrayList();
publicvoidaddOrder(Orderorder){
orders.add(order);
publicIteratorgetOrdersIterator(){
returnorders.iterator();
publicintgetNumberOfOrders