2009.10.06 10:44

다형성 예제


class Product
{
 int price;
 int bounsPoint;
 Product(int price)
 {
  this.price=price;
  bounsPoint=(int)(price/10.0);
 }
}
class Tv extends Product
{
 Tv()
 {
  super(100);
 }
 public String toString()
 {
  return "Tv";
 }
}
class Computer extends Product
{
 Computer()
 {
  super(200);
 }
 public String toString()
 {
  return "Computer";
 }
}
class Buyer
{
 int money=1000;
 int bonusPoint=0;
 void buy(Product p)
 {
  if(money<p.price)
  {
   System.out.println("잔액이 부족하여 물건을 살수 없습니다.");
   return;
  }
  money-=p.price;
  bonusPoint+=p.bounsPoint;
  System.out.println(p+"을/를 구입하셧습니다.");
 }
}
public class PolyArgumentTest {
 public static void main(String[] args)
 {
  Buyer b=new Buyer();
  Tv tv=new Tv();
  Computer com=new Computer();
  b.buy(tv);
  b.toString();
  b.buy(com);
  b.toString();
  System.out.println("현재 남은 돈은"+b.money+"만원입니다.");
  System.out.println("현재 보너스 누적 포인트 "+b.bonusPoint+"점입니다.");
 }
}
Trackback 2 Comment 0