User.java (추상 클래스)비슷한 개체 유형을 어떻게 변경합니까?
public abstract class User {
private int id;
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = int;
}
}
Admin.java
public class Admin extends User {
public Admin(int id) {
super.setId(id);
}
public void promoteEmployee(Employee employee) {
// How would I change the employee object into an admin object?
}
}
Employee.java 기본적 직원 개체 취하고로 만드는 방법에 promoteEmployee
public class Employee extends User {
public Employee(int id) {
super.setId(id);
}
}
관리 객체 어떻게 그럴 수 있니?
는 기본적으로Employee employee = new Employee();
내가 그것은 또 다른 서브 클래스로 서브 클래스를 캐스팅 할 수 없습니다
Admin employee = new Admin();
개체를 만든 후에 한 형식에서 다른 형식으로 변경할 수 없습니다. –
메소드 설명 : "이 프로모션은 현재 오브젝트를 파괴하고 관리자를 나타내는 새 오브젝트를로드합니다." 어떻게 새로 만들까요? 같은 변수 이름 오류가 계속 발생합니다. –
왜 관리 클래스가 필요한가요? 코드에서'if (user instanceof Admin)'를 사용하면 매우 나쁜 디자인입니다. 예를 들면 Type 열거 형 –