오늘이 개 다른 클래스를해야 객체를 표현할 수 나는 코드에 다음 작업 주어졌다 : 당신이 두 개의 클래스가어떻게 같은 시간에 내가 OOP에서 테스트했다
상상을 직원이 됨)와 닌자 (Ninja)가 있습니다. 직원은 국가와 행동 모두를 가지고 있습니다. 닌자는 행동 만합니다. 당신도 닌자 인 직원을 대표해야합니다 (현실 세계의 일반적인 문제). 하나의 인터페이스와 단 하나의 클래스 (NinjaEmployee) 만 작성함으로써 원래 클래스 중 하나에서 메소드 구현 코드를 복사하지 않고도이를 수행 할 수있는 방법을 보여줍니다. 주요 방법으로 코드를 테스트하는
정말 잘 문제를 이해하지 못했지만, 이것이 내가 함께 제공된 솔루션 (I는 질문을 받았다 무엇을하지 알고) :
내가 주를 제외하고 4 개 클래스를 만들었습니다. 직원 상태와 행동이 있기 때문에이 코드를 내놓았다 :public class Ninja {
public Ninja(){}
public void moveNinja(){
System.out.println("Ninja moved");
}
}
클래스 NinjaEmployee :에 이해가되지 않습니다
public class NinjaEmployee extends Employee implements MyInterface {
public NinjaEmployee(int ID, String Name, double salary) {
super(ID, Name, salary);
}
public void moveNinja() {
System.out.println("Ninja Moved");
}
}
인터페이스
public class Employee {
private int ID;
private String Name;
private double salary;
public Employee(int ID, String Name, double salary) {
this.ID = ID;
this.Name = Name;
this.salary = salary;
}
public int getID() {
return ID;
}
public void setID(int ID) {
this.ID = ID;
}
public String getName() {
return Name;
}
public void setName(String Name) {
this.Name = Name;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public void startWorking() {
System.out.println("Started Working");
}
}
클래스 닌자는 동작을 가지고 내 코드 :
public interface MyInterface {
public void moveNinja();
public void startWorking();
}
개 Main 클래스 :
public static void main(String[] args){
MyInterface em = new NinjaEmployee(123,"Sandro",1000000);
em.moveNinja();
em.startWorking();
}
내 질문은 다음됩니다 :
은1) 특히/기술적 시험에서 무엇을 질문했다?
2) 주어진 문제에 대한 올바른 접근 방식/코드는 무엇입니까?
@ OleV.V. 주어진 문제에 대한 올바른 접근이라고 생각하십니까? –
"... 원래 클래스 중 하나에서 메서드 구현 코드를 복사하지 않고도 ..."이라는 이론적 지식이 부족하기 때문에 뭔가 빠져있는 것처럼 느껴집니다. 당신은'Ninja'에서'NinjaEmployee'로'moveNinja' 메쏘드를 복사했습니다, 그래서 당신이 그것을 보았을 때 여러분은 완전히 요구 사항을 충족시키지 못하고 있습니다. 나는 작곡을 생각할 것입니다 (그것이 무엇을 의미하는지 안다면). –