힝해99 2주차 객체지향 프로그래밍 소스 및 다운로드
-객체지향에 대한 과제
class model
상위 클래스 = 대중교통
- 요소
- 번호
- 주유량
- 속도
- 속도 변경
- 최대 승객 수
- 있을 경우 {기타 공통 요소들}
- 기능
- 운행 시작
- 속도 변경
- 상태 변경
- 승객 탑승
- 있을 경우 {기타 공통 기능들}
- 기본값
- 주유량 = 100
- 속도 = 0
하위 클래스 = 버스, 택시
버스
- 요소
- 현재 승객 수
- 있을 경우 {기타 버스 요소들}
- 기능
- 있을 경우 {기타 버스 기능들}
- 기본값
- 최대 승객 수 = 30
- 상태 = 운행
- 요금 = 1000
택시
- 요소
- 목적지
- 목적지까지 거리
- 기본 거리
- 기본 요금
- 거리당 요금
- 있을 경우 {기타 택시 요소들}
- 기능
- 거리당 요금 추가
- 요금 결제
- 있을 경우 {기타 택시 기능들}
- 기본값
- 최대 승객 수 = 4
- 기본 요금 = 3000
- 거리당 요금 = 1000
- 기본 거리 = 1
- 주유량 = 100
- 상태 = 일반
- 속도 = 0
시나리오
아래 출력으로 확인되어야 할 요소들이 정상적으로 확인되면 완료
Bus
- Bus - 2대 생성
- 출력 Bus
- 각 Bus 번호 다른지 확인
※ Bus 1대로 진행
- Bus
- 승객 +2
- 출력 Bus
- 탑승 승객 수 = 2
- 잔여 승객 수 = 28
- 요금 확인 = 2000
- Bus
- 주유량 -50
- 출력 Bus
- 주유량 = 50
- Bus - 상태 변경
- 차고지행
- Bus
- 주유량 +10
- 출력 Bus
- 상태 = 차고지행
- 주유량 = 60
- Bus - 상태 변경
- 운행중
- Bus
- 승객 +45
- 알럿 ‘최대 승객 수 초과’
- Bus
- 승객 +5
- 출력 Bus
- 탑승 승객 수 = 5
- 잔여 승객 수 = 25
- 요금 = 5000
- Bus
- 주유량 -55
- 출력 Bus
- 주유량 = 5
- 상태 = 차고지행
- 알럿 ‘주유 필요’
Taxi
- Taxi - 2대 생성
- 출력 Taxi
- 각 Taxi 번호 다른지 확인
- 주유량 = 100
- 상태 = 일반
※ Taxi 1대로 진행
- Taxi
- 승객 +2
- 목적지 = 서울역
- 목적지까지 거리 = 2km
- 출력 Taxi
- 탑승 승객 수 = 2
- 잔여 승객 수 = 2
- 기본 요금 확인 = 3000
- 목적지 = 서울역
- 목적지까지 거리 = 2km
- 지불할 요금 = 4000
- 상태 = 운행중
- Taxi
- 주유량 -80
- Taxi - 요금 결제
- 출력 Taxi
- 주유량 = 20
- 누적 요금 = 4000
- Taxi
- 승객 +5
- 알럿 ‘최대 승객 수 초과’
- Taxi
- 승객 +3
- 목적지 = 구로디지털단지역
- 목적지까지 거리 = 12km
- 출력 Taxi
- 탑승 승객 수 = 3
- 잔여 승객 수 = 1
- 기본 요금 확인 = 3000
- 목적지 = 구로디지털단지역
- 목적지까지 거리 = 12km
- 지불할 요금 = 15000
- Taxi
- 주유량 -20
- Taxi - 요금 결제
- 출력 Taxi
- 주유량 = 0
- 상태 = 운행불가
- 누적 요금 = 19000원
- 알럿 ‘주유 필요’
COMMENT
- 객체지향에 대해 감을 많이 익히게 된 과제였다.
- 아직 인터페이스와 추상클래스를 최대한 좋은 구조로 설계능력이 부족하다는 걸 깨달게 되었다.
공부하기위해 참고한 글들
생각하라 객체지향 처럼 (우하한 형제들)
객체지향예제 = 학생, 버스, 지하철 프로그램
객체지향과 절차적 프로그래밍
'항해99' 카테고리의 다른 글
[항해99] 4주차 스프링 숙련 프로젝트 (0) | 2022.06.30 |
---|---|
[항해99] 3주차 스프링 입문 프로젝트 (0) | 2022.06.30 |
[항해99] 1주차 파이썬 미니 웹개발 프로젝트 (0) | 2022.06.30 |
[항해99] 사전 준비 (5) - 파일질라 설치 방법 및 가비아 접속, aws ec2 및 서버세팅 (0) | 2022.04.27 |
[항해99] 사전 준비 - (4) 크롤링, mongoDB, flask, ajax, 자주 쓰게될 html골격 및 css (0) | 2022.04.26 |