2014-04-29 4 views
-4

MovingVan 개체는 Truck 개체와 동일한 상태 및 동작을 모두 가져야합니다. 또한 추적 상태를 유지하는 추가 상태를 유지해야합니다. 지면에서화물 영역 바닥까지의 거리 (양의 정수) 진입로가 있는지 여부 (true 또는 false) MovingVan 개체가 인쇄 될 때, 용량,화물 지역까지의 거리 및 진입로가 있는지 여부를 표시해야합니다. 예를 들어 :단순 Java (상속)

capacity = 10000, distance to cargo = 5, has a ramp 

클래스 정의가 포함되어야 다음

1)화물 영역으로, 모델, 년, 바퀴의 수, 거리를 매개 변수로 사용하는 생성자를 작성하고, 움직이는 밴에 램프가 있는지 여부를 나타내는 부울 값입니다. 생성자는 객체가 유효하지 않은 상태가되지 않도록해야하며 객체를 초기화하는 데 필요한 모든 단계를 취해야합니다.

2) 필요한 인스턴스 메소드. 화물 지역까지의 거리와 진입로의 유무가 절대로 바뀌지 않을 것이라고 가정해야합니다. 따라서 이러한 필드에 뮤 테이터 메서드가 필요하지 않습니다.


이것은 내가 지금까지 가지고있는 것입니다. 1 번에서 나는 :

public MovingVan(String make, String model, int year, int numWheels, 
        int distance, boolean hasRamp) { 
     super(make, model, year, numWheels); 

     if (distance <= 0) { 
      throw new IllegalArgumentException(); 
     } 

     this.distance = distance; 
     this.hasRamp = hasRamp; 
    } 

2 번에 문제가 있습니다. 이것은 내가 지금까지 가지고있는 것입니다 :

public int getDistance() { 
     return distance; 
    } 

public boolean hasRamp() { 
     return hasRamp; 
    } 

내가 뭔가를 잃어버렸나요? 다른 필요한 인스턴스 메서드가 누락 된 것 같은 느낌이 듭니다. ?? 어떻게 생각해?

+0

용량 조정은 어떻게됩니까? –

+4

이것이 숙제입니까? –

답변

0
More of a comment that an answer, but I needed the extra space 

나쁘지 않은,하지만 교사 POV의 따라 당신이

1) getCapacity() metod를 누락 될 수 있습니다 (당신은) 그것을 인쇄 할 수 있습니다.

2) 또는 toString()의 구현인데, 여기서 데이터는 사람이 읽을 수있는 문자열로 구성됩니다.

어쨌든 생성자에서 전달 된 각 속성에 대해 "getter"getX() 메서드를 사용하는 것이 좋습니다.

작은 메모에서 부울을 반환하는 getter 메서드는 일반적으로 is으로 시작합니다 (실제로 클래스를 bean이라고 부름해야하는 경우). 어쨌든 isRamp()은 이상하게 들리 겠지만 isRampIncorporated()?

또한 distance은 현실 세계에서 자주 바뀔 수있는 값이므로 setDistance 메서드를 추가합니다.

0

MovingVan 개체를 인쇄 할 때 용량,화물 지역까지의 거리 및 램프가 있는지 여부를 표시해야합니다. 예 : 용량 = 10000,화물 = 5 거리, 무엇에 대한

@Override public String toString() { 
    return "capacity = " + capacity /*or getCapacity()? I can't tell*/ + ", distance to cargo = " + distance + (hasRamp)?", has a ramp":", does not have a ramp"; 
} 

확실하지 경사로를 가지고 있지만 같은 소리 (들) 그가()

또한

당신을 확인하십시오 당신이 toString를 오버라이드 (override) 해,하고 싶어 해당되는 곳의 도착/세트를 가지고 있어야합니다.