java學習筆記2015-6-6,學習筆記2015-6-6
類和對象 (理念型 Demo示範)
物件導向 java C++ 封裝 繼承 多態 類 對象
面向過程 C 結構體
1、擷取使用者輸入 2、邏輯判斷 3、運算 輸出結果
面向過程 C 結構體 內容:指標 結構體 標頭檔
類是物件導向程式設計語言的基礎
類? 人 電腦 只要是一群共同事物(具有共同特徵和動作的)集合 物以類聚
集合/模版
描述是描述整個類。(描述共同動作 共同特徵 不負責具體指代的實現)
對象 從集合/模版 中構造了一個具體指代 (賦值/描述一些具體的值 或者操作)
調用時 通過對象調用 (static)
關聯
屬性建義用private
方法建議用public
作業:
//德瑪跟寒冰對戰 PK遊戲 回合制的
//每個回合 德瑪和寒冰互相攻擊一次 德瑪攻擊了寒冰一次 寒冰攻擊了德瑪一次
//不停地打 打到一方血量低於0為止!
總結:
類 描述幾個類 一個執行類
描述類 屬性 方法
執行類: 主函數 調用代碼 商務程序控制
形參,他是函數與外界互動的橋樑 本類與外部類
下次課 構造器 this
//需求分析:XX汽車在道路上行駛的狀態 看到前進 後退 停車
//根據需求 抽離名詞 品牌 型號 汽車 道路 狀態 距離裡程
//1、哪些名詞可以歸為一類 歸類到不能歸為止 2、哪些名詞又是屬於哪些名詞中的
//汽車:品牌 型號 狀態 道路: 名詞要麼是類 要麼是屬性 要麼是多餘的
//抽離動詞 行駛 前進 後退 停車 動詞必然是類的方法 (函數)
//汽車:行駛 前進 後退 停車
//建立一個類:Car 汽車類
//市場調研-》需求分析-》概要設計-》詳細設計-》代碼設計-》代碼編寫-》測試-》Demo->上線
//汽車類:品牌 型號 狀態
//直接能夠寫在類的程式碼片段中的 只有 屬性 方法
public class Car{
//屬性 (是一種全域變數) 屬性的命名也盡量要有含義
//因為屬性是描述該類特徵的名詞
String brand; //品牌 屬性的命名和變數的命名規則一樣 全小寫
String model; // 型號 限定符 資料類型 屬性名稱(分析得來)
String statu;
int length; //裡程
//***********************************************************
//方法是描述該類動作的動詞
//*限定符* 返回值類型 方法名(形參列表){程式碼片段}
public void drive(){
// length++;
System.out.print(brand+"品牌的"+model+"型號的汽車狀態為:"+statu+"狀態!");
}
public void ahead(){
length++;
System.out.print(brand+"品牌的"+model+"型號的汽車狀態為:"+statu+"狀態!");
}
public void back(){
length--;
System.out.print(brand+"品牌的"+model+"型號的汽車狀態為:"+statu+"狀態!");
}
public void stop(){
System.out.print(brand+"品牌的"+model+"型號的汽車狀態為:"+statu+"狀態!");
}
}
/* 擇善教育第2課作業
* 類和對象
* 寒冰和德瑪的對戰遊戲 Dema類的實現
* 指導老師 Bear
* 學生 曹昆
* 2015-6-6
*/
/* 需求分析
* 德瑪跟寒冰對戰 PK遊戲 回合制的
* 每個回合 德瑪和寒冰互相攻擊一次 德瑪攻擊了寒冰一次 寒冰攻擊了德瑪一次
* 不停地打 打到一方血量低於0為止!
*/
public class Dema{
//定義類的屬性和方法
private String dname;
private int dblood; //生命值
private int dattackpower; //攻擊力 攻擊一次給對方的生命值造成的損害
public void setDName(String dname){
this.dname = dname;
}
public String getDName(){
return this.dname;
}
public void setDBlood(int dblood){
this.dblood = dblood;
}
public int getDBlood(){
return this.dblood;
}
public void setDAttackpower(int dattackpower){
this.dattackpower = dattackpower;
}
public int getDAttackpower(){
return this.dattackpower;
}
public void DAttack(Hanbing hanbing){
hanbing.setHBlood(hanbing.getHBlood()-this.getDAttackpower());
//System.out.println("名字叫:"+this.getDName()+"的德瑪戰士給予名字叫:"+hangbing.getHName()+"寒冰戰士一次猛擊的攻擊,造成寒冰戰士"+hanbing.getHName()+"損失掉生命值:"+this.getDAttackpower()+",寒冰戰士:"+dema.getHName()+"還剩下生命值:"+hbpower);
}
}
/* 擇善教育第2課作業
* 類和對象
* 寒冰和德瑪的對戰遊戲 Hanbing類的實現
* 指導老師 Bear
* 學生 曹昆
* 2015-6-6
*/
/* 需求分析
* 德瑪跟寒冰對戰 PK遊戲 回合制的
* 每個回合 德瑪和寒冰互相攻擊一次 德瑪攻擊了寒冰一次 寒冰攻擊了德瑪一次
* 不停地打 打到一方血量低於0為止!
*/
public class Hanbing{
//定義類的屬性和方法
private String hname;
private int hblood; //生命值
private int hattackpower; //攻擊力 攻擊一次給對方的生命值造成的損害
public void setHName(String hname){
this.hname = hname;
}
public String getHName(){
return this.hname;
}
public void setHBlood(int hblood){
this.hblood = hblood;
}
public int getHBlood(){
return this.hblood;
}
public void setHAttackpower(int hattackpower){
this.hattackpower = hattackpower;
}
public int getHAttackpower(){
return this.hattackpower;
}
public void HAttack(Dema dema){
dema.setDBlood(dema.getDBlood() - this.getHAttackpower());
//System.out.println("名字叫:"+this.getHName()+"的寒冰戰士給予名字叫:"+dema.getDName()+"德瑪戰士一次猛擊的攻擊,造成德瑪戰士"+dema.getDName()+"損失掉生命值:"+this.getHAttackpower()+",德瑪戰士:"+dema.getDName()+"還剩下生命值:"+demapower);
}
}
/* 擇善教育第2課作業
* 類和對象
* 寒冰和德瑪的對戰遊戲 執行類的實現
* 指導老師 Bear
* 學生 曹昆
* 2015-6-6
*/
/* 需求分析
* 德瑪跟寒冰對戰 PK遊戲 回合制的
* 每個回合 德瑪和寒冰互相攻擊一次 德瑪攻擊了寒冰一次 寒冰攻擊了德瑪一次
* 不停地打 打到一方血量低於0為止!
*/
public class Manager{
public static void main(String args[]){
Hanbing hb = new Hanbing();
Dema dm = new Dema();
hb.setHName("張三");
hb.setHBlood(1000);
hb.setHAttackpower(95);
dm.setDName("李四");
dm.setDBlood(900);
dm.setDAttackpower(108);
while(true){
hb.HAttack(dm);
System.out.println("寒冰戰士:"+hb.getHName()+" 給予德瑪戰士:"+dm.getDName()+" 一次攻擊,造成德瑪戰士:"+dm.getDName()+" 損失掉生命值:"+hb.getHAttackpower()+",德瑪戰士:"+dm.getDName()+" 還剩下生命值:"+dm.getDBlood());
if(hb.getHBlood()<=0 || dm.getDBlood()<=0)
break;
dm.DAttack(hb);
System.out.println("德瑪戰士:"+dm.getDName()+" 給予寒冰戰士:"+hb.getHName()+" 一次攻擊,造成寒冰戰士:"+hb.getHName()+" 損失掉生命值:"+dm.getDAttackpower()+",寒冰戰士:"+hb.getHName()+" 還剩下生命值:"+hb.getHBlood());
if(hb.getHBlood()<=0 || dm.getDBlood()<=0)
break;
}
if(hb.getHBlood()<=0){
System.out.println("德瑪戰士:"+dm.getDName()+"勝利!");
}else{
System.out.println("寒冰戰士:"+hb.getHName()+"勝利!");
}
}
}