note

추상 클래스 예제 본문

자바/추상클래스

추상 클래스 예제

투한 2011. 12. 23. 13:27
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


'자바 > 추상클래스' 카테고리의 다른 글

추상 메소드  (0) 2011.12.23
추상 메소드  (0) 2011.12.23
추상클래스 기본  (0) 2011.12.23
추상클래스 기본  (0) 2011.12.23
추상 클래스 예제  (0) 2011.12.23