授業で書いたソースコード
April 22, 2009,
tags:
java
1つの商品しか扱えないプログラムです。
暇があれば今週末あたりにコレクションフレームワークをつかって何個も商品扱えるようにしてみたい。。
実装パターンのテキストとか見て自分なりにがんばって書いたのですが・・・なんかうまく実装パターン(Composed Methodパターン)っぽく書けないス。。
Cartって名前になってるけど、クラス名変えたほうがいいね・・・。
/**
* 一つの商品を扱うプログラム
*
*/
class Cart{
int itemNumber; //商品番号
String itemName; //名称(商品名)
int itemPrice; //商品価格
int salesPrice; //売上額
int itemStockNumber; //在庫数
public static void main(String[] args){
Cart c = new Cart(12,"アメリカンソフトクッキー",100);
c.stockItem(20);
c.sellItem(10);
c.show();
System.out.println(c.salesPrice);
}
Cart(int itemNumber, String itemName, int itemPrice){
setItemNumber(itemNumber);
setItemName(itemName);
setItemPrice(itemPrice);
setDefaultSalesPrice();
stockDefaultItem();
}
/**
* 商品の在庫を追加する(入荷)
*/
void stockItem(int s){
itemStockNumber = s;
}
/*
* 商品の在庫のデフォルト値
*/
void stockDefaultItem(){
stockItem(0);
}
/*
* 商品番号を追加する
*/
void setItemNumber(int s){
itemNumber = s;
}
/*
* 名前を設定する
*/void setItemName(String s){
itemName = s;
}
/*
* 価格を設定する
*/
void setItemPrice(int s){
itemPrice = s;
}
/*
* 売上を設定
*/
void setSalesPrice(int s){
salesPrice = s;
}
/*
* 売上デフォルト値
*/
void setDefaultSalesPrice(){
setSalesPrice(0);
}
/*
* 売上を取得する
*/
int getSalesPrice(){
return salesPrice;
}
/*
* 商品番号を取得
*/
int getItemNumber(){
return itemNumber;
}
/*
* 名前を取得する
*/
String getItemName(){
return itemName;
}
/*
* 価格を取得
*/
int getItemPrice(){
return itemPrice;
}
/*
* 在庫数の取得
*/
int getItemStock(){
return itemStockNumber;
}
/*
* 販売した数だけ在庫数を減らす
*/
void sellItemStock(int s){
itemStockNumber -= s;
}
/*
* 販売した数だけ売上を増やす
*/
void sellSalesPrice(int s){
salesPrice += itemPrice * s;
}
/*
* 販売
*/
void sellItem(int s){
if(s > 0 || itemStockNumber > 0){
sellItemStock(s);
sellSalesPrice(s);
}
}
/*
* 表示
*/
void show(){
System.out.println("商品番号:" + getItemNumber());
System.out.println("名称:" + getItemName());
System.out.println("価格:" + getItemPrice());
System.out.println("在庫:" + getItemStock());
}
}