1
オブジェクト指向プログラミング 第4回 (担当:鈴木伸夫)
本日のキーワード:Unified Modeling Language(UML)、クラス図(UMLのひとつ) UMLはプログラムの設計に使用する統一モデリング言語。(教科書には無い話。)
(例題)銀行口座クラス(MyAccount) クラス名:MyAccount
フィールド:「money:int型」残高を記録
メソッド: 金を入出金する「void addMoney(int aMoney)」aMoneyの金を入金する。
aMoneyが負であれば、お金を引き出す。
現在の残高を答える「int getMoney()」
これをクラス図で記述すると以下のようになる。
MyAccount money:int
addMoney(aMoney:int):void getMoney():int
一段目にクラス名を記述する。中央寄せ。
二段目にフィールドを記述する。「変数名:型」と記述する。
三段目にメソッドを記述する「メソッド名(引数名:型...):戻り型」と記述する。
このクラス図をもとにJavaコードを作成すると以下のようになる。
class MyAccount{
int money;
void addMoney(int aMoney){
money += aMoney;
}
int getMoney(){
return money;
} }
2
演習課題:
課題1:前出のMyAccountクラスに以下のmain()メソッドを加えて動作を確認せよ。
class MyAccount{
// ここに前ページの内容を書く(int moneyやaddoMoney(),getMoney() )
public static void main(String[] args){
MyAccount a = new MyAccount();
a.addMoney(5000); //5000円入金
System.out.println("Money=" + a.getMoney() );
a.addMoney(-1000); //1000円出金
System.out.println("Money=" + a.getMoney() );
} }
課題2:以下のクラス図をもとにJavaコードを作成しなさい。
Card suit:String
number:int
set(aSuit:String, aNumber:int):void getSuit():String
getNumber():int
mainメソッドは以下の通りである。
public static void main(String args[]){
Card card = new Card(); // カードを作成
card.set("Spade", 5); // カードにスペードの5をセット
System.out.println("Card:" + card.getSuit() + card.getNumber() );
card.set("Heart", 3); // カードにハートの3をセット
System.out.println("Card:" + card.getSuit() + card.getNumber() );
}
3
課題 3:以下の Person(人間)クラス図をもとに Java コードを作成しなさい。適切な main()メソッドも自作すること。
Person name:String
age:int
setName(aName:String):void getName():String
setAge(anAge:int): void getAge():int
おまけ:前回のチェック問題の解答例 class 円{
double 中心のx座標;
double 中心のy座標;
double 半径;
void 移動する(double 上下方向, double 左右方向){
中心のx座標 += 左右方向;
中心のy座標 += 上下方向;
}
void 大きさを変える(double 倍率){
半径 *= 倍率;
}
double 面積を答える(){
return (半径*半径*π);
} }
4
今日のチェック問題(オブジェクト指向プログラミング 第4回)
学籍番号 名前
1.今日の課題はどこまで終了しましたか?
2.今日の授業の質問・感想などをお願いします。