Wie kann ich das überschreiben einer Methode in einer Unterklasse?
Habe ich ein Inventar-Programm geschrieben um eine array und eine Methode zur Berechnung der Gesamtkosten für alle Inventar-Gegenstände eingegeben. Ich habe jetzt um eine Unterklasse überschreibt die original - "eine Besonderheit". Ich erstellte eine neue Datei mit dem Namen ItemDetails eingerichtet werden für die Unterklassen von den original-Element. Ich brauche eine einzigartige Funktion, und berechnen Sie den Wert des Inventars und berechnen eine 5% Gebühr Besatzmaßnahmen, die in dieser Unterklasse. Muss ich nur einige der relevanten Zeilen in die andere Klasse? Oder muss ich den code schreiben, zweimal? Ich weiß nicht, was als Nächstes zu tun ist. Jede Hilfe ist nützlich. Danke. Dies ist, was ich habe, so weit:
package inventory3;
public class ItemDetails extends Items
{
public static void override()
{
private String Name;
private double pNumber, Units, Price;
public ItemDetails()
{
}
}
}
Dies ist der Eintrag der Klasse Datei, die es eigentlich überschreiben:
package inventory3;
import java.lang.Comparable;
public class Items implements Comparable
{
private String Name;
private double pNumber, Units, Price;
public Items()
{
Name = "";
pNumber = 0.0;
Units = 0.0;
Price = 0.0;
}
public int compareTo(Object item)
{
Items tmp = (Items) item;
return this.getName().compareTo(tmp.getName());
}
public Items(String productName, double productNumber, double unitsInStock, double unitPrice)
{
Name = productName;
pNumber = productNumber;
Units = unitsInStock;
Price = unitPrice;
}
//setter methods
public void setName(String n)
{
Name = n;
}
public void setpNumber(double no)
{
pNumber = no;
}
public void setUnits(double u)
{
Units = u;
}
public void setPrice(double p)
{
Price = p;
}
//getter methods
public String getName()
{
return Name;
}
public double getpNumber()
{
return pNumber;
}
public double getUnits()
{
return Units;
}
public double getPrice()
{
return Price;
}
public double calculateTotalPrice()
{
return (Units * Price);
}
public static double getCombinedCost(Items[] item)
{
double combined = 0;
for(int i =0; i < item.length; ++i)
{
combined = combined + item[i].calculateTotalPrice();
}
return combined;
}
}
InformationsquelleAutor g3n3rallyl0st | 2011-03-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihnen einfach zu erklären, eine Methode mit der gleichen Signatur wie die Methode in der übergeordneten Klasse. Also deins würde wie folgt Aussehen:
Gut, Sie könnten nur lassen Sie die
@Override
und Sie in Ordnung sein würde. Aber der Java-compiler kann Ihnen zusätzliche Hilfe, wenn Sie verlassen es dort. Nennen Sie es von Ihrem Haupt-Datei, können Sie einfach erstellen Sie eine neue Instanz derItemDetails
Klasse und rufen die Methode, die Sie wollen in der Regel.InformationsquelleAutor Peter C