2016-08-18 2 views
-2

나는 자식 클래스에서 그림자가 필요한 최종 정적 int있는 부모 클래스가 있습니다. 부모 클래스에서는 "print"메서드를 사용합니다.이 메서드는 내 자식 클래스에서 재정의됩니다. 이 코드를 사용하면 print 메서드는 부모 클래스의 MINIMUMPRIJS를 사용합니다. 내 자식 클래스의 MINIMUMPRIJS를 어떻게 사용할 수 있습니까?부모 클래스의 최종 변수를 어떻게 그림자 처리합니까?

제 작업 설명에 "reis"클래스에 대해 말합니다. - 가격이 5 유로 이상인지 확인하십시오. 이것을위한 변수를 만들고이 minimumprice가 항상 보장되는지 확인하십시오.
- 1 명 있었던 파라미터 (대상)
1 생성자 - paramters 1 생성자 (destiantion, 가격) 클래스에 대한


"를 vliegtuigreis"- 여기에서 minimumprice 25 유로. 필요한 것을하십시오. 당신은 기본 값에 대한 상수를 정의하지만 다음 동적 값을 저장하는 필드를 사용할 수

public abstract class Reis { 
    public final static int MINIMUMPRIJS = 5; 

public void setPrijs(double prijs) { 
     if (prijs >= getMINIMUMPRIJS()) { 
      this.prijs = prijs; 
     }else{ 
      this.prijs = MINIMUMPRIJS; 
     } 
    } 

    public void print(){ 
     System.out.printf("Reis met bestemming %s kost %,.2f euro. %n", bestemming, prijs); 
    } 
} 

public class VliegtuigReis extends Reis { 
    private final static int MINIMUMPRIJS = 25; 

    public void print(){ 
     super.print(); 
     System.out.println("Vluchtnr " + vluchtnummer); 
    } 
} 
+3

그림자를 그릴 수는 없으며, '정적 최종'이란 의미입니다. 다른 이름을 붙여야합니다. –

+0

그래서 부모 "print"에서 코드를 복사하고 그것을 내 자식 클래스의 "print"에 추가해야합니까? – wetallday

+2

글쎄, 실제로 코드에서'MINIMUMPRIJS'를 언급 한 적이 없습니다 ... –

답변

0

PARAMATERS 1 생성자 (목적지, 가격 및 flightnumber) -
는 - 단지 1 paramater (대상)
1 생성자 . 당신은 부모의 최저 가격을 전혀 "음영"할 필요가 없으며 단지 자녀의 다른 상수를 참조하기 만하면됩니다.

public abstract class Parent { 
    public static final double MIN_PRICE = 5.0; 
    private double price; 

    public Parent() { 
     this(MIN_PRICE); 
    } 

    public Parent(double price) { 
     this.price = Math.max(price, Parent.MIN_PRICE); 
    } 

    public print() { 
     System.out.println("Price is: " + this.price); 
    } 
} 

public class Child extends Parent { 
    private static final double MIN_PRICE = 25.0; 

    public Child() { 
     super(Child.MIN_PRICE); 
    } 

    public Child(double price) { 
     super(Math.max(price, Child.MIN_PRICE)); 
    } 

    public void print() { 
     super.print(); 
     System.out.println("Other stuff"); 
    } 
} 

바라건대 이것을 취해 나머지 요구 사항으로 확장 할 수 있기를 바랍니다.

+0

이것이 어떻게 작동하는지 알 수 있습니다. 그러나 내 작업 설명에서 그것은 내 생성자가 있어야하는 매개 변수를 정확하게 알려주며 다른 생성자를 사용할 수 없습니다. – wetallday

+0

질문에 작업 설명을 추가 할 수 있습니까? –

관련 문제