각각의 사람이 배달음식을 주문할 때, 각자의 상황과 기호에 따라 적절한 음식점과 음식이 배달되도록 하게 하기

인철·2023년 10월 13일
0

algorithm

목록 보기
33/91

추상클래스 문제

class Main {
	public static void main(String[] args) {
		사람 a김철수 = new 사람();
		a김철수.이름 = "김철수";
		a김철수.전화번호 = "010-1234-1234";
		a김철수.a좋아하는_음식점 = new 영화반점();
		a김철수.선호하는_음식의_매운정도 = "매운";
		a김철수.선호하는_음식 = "짬뽕";
		
		사람 a김영희 = new 사람();
		a김영희.이름 = "김영희";
		a김영희.전화번호 = "010-4321-4321";
		a김영희.a좋아하는_음식점 = new 북경반점();
		a김영희.선호하는_음식의_매운정도 = "안매운";
		a김영희.선호하는_음식 = "짬뽕";
		
		a김철수.배달_음식_주문하다();
		// 영화반점에서 김철수(010-1234-1234)에게 매운 짬뽕(을)를 배달합니다.
		
		a김영희.배달_음식_주문하다();
		// 북경반점에서 김영희(010-4321-4321)에게 안매운 짬뽕(을)를 배달합니다.
		
		a김영희.a좋아하는_음식점 = a김철수.a좋아하는_음식점;
		a김영희.선호하는_음식의_매운정도 = "아주 매운";
		a김영희.선호하는_음식 = "짜장";
		
		a김영희.배달_음식_주문하다();
		// 영화반점에서 김영희(010-4321-4321)에게 아주 매운 짜장(을)를 배달합니다.
	}
}

==========================================================
정답
class Main {
	public static void main(String[] args) {
		사람 a김철수 = new 사람();
		a김철수.이름 = "김철수";
		a김철수.전화번호 = "010-1234-1234";
		a김철수.a좋아하는_음식점 = new 영화반점();
		a김철수.선호하는_음식의_매운정도 = "매운";
		a김철수.선호하는_음식 = "짬뽕";
		
		사람 a김영희 = new 사람();
		a김영희.이름 = "김영희";
		a김영희.전화번호 = "010-4321-4321";
		a김영희.a좋아하는_음식점 = new 북경반점();
		a김영희.선호하는_음식의_매운정도 = "안매운";
		a김영희.선호하는_음식 = "짬뽕";
		
		a김철수.배달_음식_주문하다();
		// 영화반점에서 김철수(010-1234-1234)에게 매운 짬뽕(을)를 배달합니다.
		
		a김영희.배달_음식_주문하다();
		// 북경반점에서 김영희(010-4321-4321)에게 안매운 짬뽕(을)를 배달합니다.
		
		a김영희.a좋아하는_음식점 = a김철수.a좋아하는_음식점;
		a김영희.선호하는_음식의_매운정도 = "아주 매운";
		a김영희.선호하는_음식 = "짜장";
		
		a김영희.배달_음식_주문하다();
		// 영화반점에서 김영희(010-4321-4321)에게 아주 매운 짜장(을)를 배달합니다.
	}
}

class 사람 {
	String 이름;
	String 전화번호;
	String 선호하는_음식의_매운정도;
	String 선호하는_음식;
	음식점 a좋아하는_음식점;
	
	void 배달_음식_주문하다() {
		a좋아하는_음식점.주문(이름, 전화번호, 선호하는_음식, 선호하는_음식의_매운정도);
	}
}

abstract class 음식점 {
	abstract void 주문(String 주문자명, String 주문자_전화번호, String 음식, String 매운정도);
}

class 영화반점 extends 음식점 {
	void 주문(String 주문자명, String 주문자_전화번호, String 음식, String 매운정도) {
		System.out.println("영화반점에서 " + 주문자명 + "(" + 주문자_전화번호 + ")에게 " + 매운정도 + " " + 음식 + "(을)를 배달합니다.");
	}
}

class 북경반점 extends 음식점 {
	void 주문(String 주문자명, String 주문자_전화번호, String 음식, String 매운정도) {
		System.out.println("북경반점에서 " + 주문자명 + "(" + 주문자_전화번호 + ")에게 " + 매운정도 + " " + 음식 + "(을)를 배달합니다.");
	}
}


profile
같은글이있어도양해부탁드려요(킁킁)

0개의 댓글