1번 부모 클래스 만들기
캐릭터가 thor든 iron man이든 모두 이들은 캐릭터라는 부모를 가진다
일단 체력 하나만으로 하겠다!
여담으로 나중에 장비들을 만들면 저 hp->armorhp/weaponhp 등 이렇게 나눠줘야 한다!
skillone 즉 게임에서 예를 들어 z를 누르면 캐릭터마다 나가는 스킬이 다를 거다
그렇게 해주려면 c++기준 가상 함수가 필요하다! 가상 함수 부분인
skillone()은 비워놓는다!
그다음 thor를 보자!
thor()라는 생성자를 만들어준다!
주의할 점
1.c++과 다르게 여기는 생성자 앞에 public을 붙여줘야 쓸 수 있다!
원리는 비슷하다 c++ public밑에 생성자를 써주는 것처럼!
2. 자바는 @override라고 사용할 함수에 붙여주면 된다
3.extends/까먹지 말고 잘 상속받기 ㅎㅎ
iron man으로 가보자!
역시 같이 작성해주고
thor 구별되도록 체력/skillone을 다르게 작성해준다!
대망의 메인으로 가보자!
import character.*;
import java.util.Scanner;
-외부 패키지 받아오기!
unit u; 빈 부모 개체 생성!
Scanner sc= new Scanner(System.in);
int a=sc.nextInt();
-지옥의 사용자 입력받기 코드
try {
if(a==1)///입력이 1이면
{
u=new thor(); //토르 개체 넣어주기
}
else if(a==2)
{
u=new ironman();//2이면 아이언맨 개체
}
else{
u=null;/////////1/2둘다 아니라면
}
u.printfhp();
u.skillone();
} catch (Exception e) {
System.out.println("잘못된 직업 선택"+e.getMessage());
}
여담으로 자바는
if(a==1)///입력이 1이면
{
u=new thor(); //토르개체넣어주기
}
u.printfhp();
u.skillone();
이렇게만 쓰면 오류가 난다...
이게 왜 오류야 하고 두 시간 사투 끝에
홧김에
else
{
u= new unit();
}
추가 했더니 빌드되는 걸 보고
바로 이거였냐 하고 자바는 생각보다 똑똑하다고 느꼈다 ㅋㅋㅋ
실행화면
잘 작동한다!