類和對象的基本理解與使用


概念:

類:具有相同特征(屬性)和功能、行為(方法)的對象歸為一類。

對象:一類事物的某個具體實例。

格式:類的創建   public class 類名 {}

   類的屬性的定義 public 屬性類型 屬性名;

   類的方法的定義  public 方法返回值類型 方法名 (類型參數 參數名,....){ 方法體,方法執行的內容}         參數:方法需要使用的外部條件。

使用:對象名.屬性       對象名.方法體(參數值,......);

采用面向對象開發優點:符合程序員開發思維,便於開發。

難點:從場景中建模,提取需要的類,以及類的屬性和方法。

例子:

  場景:學生在學習java課程,每次學習讓課程的課時減少1,重復學習,直到課程的課時減少為0結束,學習完成,學生的學分增加java課程的學分。

  第一步:分析場景中的對象:   Java課程   學生

  第二步:分析對象的屬性和方法:    Java課程   屬性:課時,學分,課程名     方法:\

                  學生           屬性:姓名,學分      方法:學習     參數:課程對象    方法體:1.讓課程課時減少1     2.判斷是否完成學習    3.獲得學分

  第三步:創建類

  第四步:在主方法中創建對象,按場景調用方法。

 

例子:

 

Hero.java文件

public class Hero {
private String name;
private int blood;
private int attackValue;

public int getBlood() {
return blood;
}
public void setBlood(int blood) {
this.blood = blood;
}
public int getAttackValue() {
return attackValue;
}
public void setAttackValue(int attackValue) {
this.attackValue = attackValue;
}

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Hero() {

}

public Hero(String name,int blood,int attackValue) {
this.name = name;
this.blood = blood;
this.attackValue = attackValue;
}

public void attack(Hero h) {
this.blood = blood - h.attackValue;
if(blood<=0) blood = 0;
System.out.println(h.name+"攻擊了"+name+","+name+"減少了"+h.attackValue+"血量,"+name+"當前血量為"+blood);
if(blood==0) {
System.out.println(name+"死亡了。"+h.name+"勝利,當前血量 為"+h.blood);
return;
}
}
}

 

TestHero.java文件

public class TestHero {

public static void main(String[] args) {
Hero h1 = new Hero("韓信",110,10);
Hero h2 = new Hero("蓋倫",100,10);

while(h1.getBlood()>0 && h2.getBlood()>0) {
h1.attack(h2);
if(h1.getBlood()<=0) break;
h2.attack(h1);
}
}

}

 

輸出:

蓋倫攻擊了韓信,韓信減少了18血量,韓信當前血量為92
韓信攻擊了蓋倫,蓋倫減少了20血量,蓋倫當前血量為80
蓋倫攻擊了韓信,韓信減少了18血量,韓信當前血量為74
韓信攻擊了蓋倫,蓋倫減少了20血量,蓋倫當前血量為60
蓋倫攻擊了韓信,韓信減少了18血量,韓信當前血量為56
韓信攻擊了蓋倫,蓋倫減少了20血量,蓋倫當前血量為40
蓋倫攻擊了韓信,韓信減少了18血量,韓信當前血量為38
韓信攻擊了蓋倫,蓋倫減少了20血量,蓋倫當前血量為20
蓋倫攻擊了韓信,韓信減少了18血量,韓信當前血量為20
韓信攻擊了蓋倫,蓋倫減少了20血量,蓋倫當前血量為0
蓋倫死亡了。韓信勝利,當前血量 為20

 

總結:采用面向對象,便於開發,要會提取場景中的對象,屬性,方法。從面向過程思維向面向對象思維過渡。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM