乙個小案例 物件導向思想

2021-10-03 21:23:09 字數 2195 閱讀 7758

這次我們來看乙個小案例,有player類、gun類、bullet類、clip類,還有乙個測試類。需求是人用槍攻擊另乙個人,我們需要用到物件導向的思想來進行。

首先看一下這個uml類圖:

然後我們來看具體的**實現:

package com.tedu.yadx.day17;

/** * 子彈類

* @author qwf91

* */

public class bullet

public bullet(int hurt)

//子彈擊中敵人

public void hitenemy(player enemy)

}

package com.tedu.yadx.day17;

/** * 彈夾類

* @author qwf91

* */

public class clip

public clip(int capacity)

//裝子彈

public void pushbullet(bullet bullet)

magazine[surplus] = bullet;

surplus++;

showclip();

}//卸子彈

public bullet popbullet()

bullet bullet = magazine[surplus - 1];

magazine[surplus - 1] = null;

surplus--;

showclip();

return bullet;

}//顯示彈夾資訊

public void showclip()

}

package com.tedu.yadx.day17;

/** * 槍類

* @author qwf91

* */

public class gun

public gun(clip clip)

//裝彈夾

public void loadclip(clip clip)

//開槍

public void shootenemy(player enemy)

bullet bullet = clip.popbullet();

if(bullet == null)

bullet.hitenemy(enemy);

}//顯示槍械資訊

public void showgun()else}}

package com.tedu.yadx.day17;

/** * 玩家類

* @author qwf91

* */

public class player

public player(string name)

public player(string name,int blood)

public void holdgun(gun gun)

public void shootenemy(player enemy)

gun.shootenemy(enemy);

}public void loadclip(clip clip)

gun.loadclip(clip);

}public void damage(int hurt)

blood-=hurt;

if(blood<=0)

showplayer();

}public void showplayer()

}

package com.tedu.yadx.day17;

/** * 測試類

* @author qwf91

* */

public class test

p1.loadclip(clip);

for(int i = 1;i <= 15;i++)}}

關於每乙個類,**裡面都寫的很清楚,唯一要說的就是最後乙個測試類,我們建立出來clip類的物件,然後彈夾需要裝子彈,子彈的數量由自己決定。

物件導向思想(一)

1.什麼是物件導向思想?2.類和物件 3.物件導向程式設計的三大特性 1.什麼是物件導向思想?確確的說,還沒有人能為物件導向給出乙個全面的定義 至少到目前為止我沒發現有,以後可能更難了定義,因為物件導向擴充套件涵蓋到領域越來越廣泛了。我是這麼理解的 物件導向思想就是把世界看作是由各種各樣具有自己內部...

使用物件導向程式設計思想實現乙個猜拳遊戲

今天的任務是通過控制台方式實現乙個人機對戰的猜拳遊戲,使用者通過輸入 1.剪刀 2.石頭 3.布 機器隨機生成 1.剪刀 2.石頭 3.布 勝者積分,n 局以後通過積分的多少判定勝負。思路 1 定義需要的各屬性 private static int person 0 使用者轉 數字 private ...

C 物件導向思想(一)

相比c,c 多出來一些東西來,類定義 繼承 過載 覆蓋 類動態編譯 抽象類虛函式 模板。這些東西非常有用,但怎麼用,像我這種小白,就有些難過了,世界最遙遠的距離就是雖然學習了物件導向,可是用起來還是如同面向過程一樣粗暴 首先我們需要了解什麼是物件導向思想 物件便是我們接觸的事物,有屬性有動作。而物件...