2016-09-15 3 views
0
public class Item { 
    String name; 
    int weight; 
    String examine; 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setWeight(int weight){ 
     this.weight = weight; 
    } 

    public int getWeight() { 
     return weight; 
    } 

    public void examine(){ 
     System.out.println("item: " + getName() + "\n" + "weight: " + getWeight() + "\n"); 
    } 

Also, das sind meine Code. Die Methode examine() gibt den Namen und die Gewichtsvariable aus. Wenn jedoch eine andere Klasse von dieser Klasse erbt, wie kann ich die Methode dazu veranlassen, auch andere Eigenschaften auszudrucken, wenn sie vererbt wird. Wenn ich zum Beispiel eine Verteidigungs-Klasse mache, die ein Feld namens "Verteidigung" hat und die Verteidigungs-Klasse von der Klasse Item erbt, wie kann ich die execute() auch die Eigenschaften des "Verteidigung" -Feldes ausdrucken lassen .Wie kann ich eine Methode erstellen, die den Status jedes Feldes für die Vererbung ausgibt?

+2

Hinweis: Überschreiben Sie 'examine()'. – Mordechai

+0

Im 'examine()' von 'Defense' rufen Sie nach dem Ausdruck der Defense-Eigenschaften' super.examine() 'auf, so dass die übergeordnete Implementierung aufgerufen wird und so weiter. – kgdinesh

+0

Vergessen Sie nicht, die Item-Klasse zu erweitern, sonst ruft super Supervisor als Oberklasse auf (glaube ich) –

Antwort

1

In Ihrer Verteidigungs-Klasse hätten Sie eine Methode namens examine(), die die Super-Klasse-Methode überschreiben würde. Wenn Sie möchten, dass auch die Super-Klasse gedruckt wird, versuchen Sie dies.

//In a separate class 
public class Defense extends Item{ 
    //Defense methods 

    public void examine(){ 
     super.examine(); //This will call the super method examine(), which you declared in the Item class. 
     //Print whatever you want from the defense class 
} 
} 

Edit 1:

Weitere Informationen zur Vererbung finden Sie in https://www.tutorialspoint.com/java/java_inheritance.htm für ein einfaches, aber verständlich Tutorial

0

Sie können wie folgt erben:

public class GoodItem extends Item { 

    int defense; 

    public int getDefense() { 
     return defense; 
    } 

    public void setDefense(int defense) { 
     this.defense = defense; 
    } 
    public void examine(){ 
     System.out.println("item: " + getName() + "\n" + "weight: " + getWeight() + "\n" + getDefense()); 
    } 
} 

Aufruf von examine() auf GoodItem-Objekt gibt eine spezielle zurück ierte Ausgabe - einzigartig für diese abgeleitete Klasse.

Verwandte Themen