이제 상속과 다형성의 마지막 실습이예요.
다음의 시나리오를 보고 직접 클래스 다이어그램도 작성해 보고 구체적으로 구현해 보세요.
시나리오
프로그램이 시작하면서 학사 학생과 운동 학생, 마법 학생을 한 명씩 생성
학생을 생성 후 전체 학생에게 강의=>자습=>잠자기=>휴식하기=>음료마시기=>노래하기 순으로 진행
(각 단계마다 학생 정보를 출력)
자습하기에서는 해당 학생이 학사 학생이면 독서도 지시함
휴식하기에서는 해당 학생이 마법 학생이면 여행도 지시함
노래하기에서는 해당 학생이 운동 학생이면 춤추게 지시함
- 학생
멤버 필드로 이름, 주민번호, 체력, 지력, 스트레스가 있음
주민번호: 순차적 부여
이름: 생성 시 전달
지력:100(최소 0, 최대 200)
체력: 100 (최소 0, 최대 200)
스트레스: 0 (최소 0, 최대 100)
연속으로 공부한 횟수: 0 (0,5), 공부를 하면 1 증가, 그 외의 행위를 하면 0으로 리셋, scnt로 부름
- 학사 학생
멤버 필드로 더미 뇌가 있음
더미 뇌는 생성 시 0 이며 공부한 회수가 5의 배수가 될 때마다 1씩 증가
공부하다.
체력 5소모, 지력: scnt+더미 뇌 증가, 스트레스: 2감소
강의를 받다.
체력 3소모, 지력: scnt 증가, 스트레스: scnt증가
잠자다.
체력 10회복, 스트레스: 5감소 *scnt는 연속 공부한 회수
휴식하다.
체력 3회복, 스트레스: 25감소
음료 섭취
체력 5회복, 지력: 10감소 , 스트레스: 2증가
노래하다.
체력 10 소모, 지력: 5-scnt감소, 스트레스: 5-scnt증가
독서하다.
더미 뇌 1증가, 스트레스: 5감소
- 마법 학생
마법 학생은 내부적으로 지팡이가 있다.
지팡이는 생성 시 0이며 마법 여행 시 1씩 증가
공부하다.
체력 3소모, 지력: scnt 증가, 스트레스: 3증가
강의를 받다.
체력 2소모, 지력: scnt 증가, 스트레스: 5증가
잠자다.
체력 10회복, 스트레스: 5감소
휴식하다.
체력 3회복, 스트레스: 25감소
음료 섭취
체력 5+지팡이 회복, 지력: 10-지팡이 감소, 스트레스: 2감소
노래하다.
체력 10-지팡이 소모, 지력: 5감소, 스트레스: 5감소
마법 여행을 가다.
지팡이 1증가
- 운동 학생
운동 학생은 내부적으로 air가 있다.
air는 생성 시 0 이며 춤을 추면 1 증가
공부하다.
체력 2소모, 지력: scnt/2 증가,
air 3 감소, air*3만큼 스트레스 감소
강의를 받다.
체력 1소모, 지력: scnt/2 증가,
air :5 감소, air*3만큼 스트레스 감소
잠자다.
체력 10회복, 스트레스: 5감소
휴식하다.
체력 8회복, 스트레스: 25감소
음료 섭취
체력 5 회복, 지력: 3 감소, 스트레스: 2감소
노래하다.
체력 5소모, 지력: 2증가, 스트레스: 5감소
춤을 추다.
체력 5소모, 지력: 3증가, air 1증가