package com.abs;//추상 클래스 기본틀 //추상 클래스 public abstract class Unit { protected String name; protected int energy; public int getEnergy(){ return energy; } //추상 메서드 abstract public void decEnergy(); // 에너지 소모 }
package com.abs; public class Zerg extends Unit{ boolean fly; public Zerg(String name, boolean fly){ this.name = name; this.energy = 100; this.fly = fly; } //unit의 추상메서드 구현 public void decEnergy(){ energy -= 6; } }
package com.abs; public class Protoss extends Unit{ boolean fly; public Protoss(String name, boolean fly){ this.name = name; this.energy = 100; this.fly = fly; } //unit의 추상메서드 구현 public void decEnergy(){ energy--; } }
package com.abs; public class Terran extends Unit{ boolean fly; public Terran(String name, boolean fly){ this.name = name; this.energy = 100; this.fly = fly; } //unit의 추상메서드 구현 public void decEnergy(){ energy -= 3; } }
package com.abs; public class UnitTest { public static void main(String[] args){ Zerg z1 = new Zerg("승리",false); z1.decEnergy(); System.out.println("z1의 energe : "+z1.getEnergy()); Protoss p1 = new Protoss("행복",true); p1.decEnergy(); System.out.println("p1의 energe : "+p1.getEnergy()); Terran t1 = new Terran("파도",false); t1.decEnergy(); System.out.println("t1의 energe : "+t1.getEnergy()); } }
z1의 energe : 94
p1의 energe : 99
t1의 energe : 97
'Java > Abstract Class' 카테고리의 다른 글
예비 (0) | 2012.04.11 |
---|---|
추상 메소드 (0) | 2012.04.11 |
추상클래스 기본 (0) | 2012.04.11 |