JAVA_coding_13

AMJ·2023년 3월 6일
0

code_log_java

목록 보기
15/29

오리 - 아이템 class 구성

class Main {
    public static void main(String[] args) {
        청둥오리 a청둥오리 = new 청둥오리();
        a청둥오리.날다();
        // 출력 : 오리가 날개로 날아갑니다.

        흰오리 a흰오리 = new 흰오리();
        a흰오리.날다();
        // 출력 : 오리가 날개로 날아갑니다.

        고무오리 a고무오리 = new 고무오리();
        a고무오리.날다();
        // 출력 : 저는 날 수 없어요. ㅜㅠ

        고무2오리 a고무2오리 = new 고무2오리();
        a고무2오리.날다();
    }
}
class 오리 {
    비행아이템 a비행아이템;
    오리(){
        a비행아이템 = new 날개아이템();
    }
    void 날다(){
        a비행아이템.작동();
    }
}
abstract class 비행아이템{
    abstract void 작동();
}
class 날개아이템 extends 비행아이템{
    void 작동(){
        System.out.println("오리가 날개아이템 활성화되어 날아갑니다.");
    }
}
class 날개비활성아이템 extends 비행아이템{
    void 작동(){
        System.out.println("오리가 날개아이템 비활성화되어 날 수 없어요.");
    }
}
class 청둥오리 extends 오리{

}
class 흰오리 extends 오리{

}
class 고무오리 extends 오리{
    고무오리(){
        a비행아이템 = new 날개비활성아이템();
    }
}
class 고무2오리 extends 오리{
    고무2오리(){
        a비행아이템 = new 날개아이템();
    }
}
profile
재미있는 것들

0개의 댓글