Comment puis-je remplacer une méthode dans une sous-classe?
J'ai un programme d'inventaire rédigé de façon à inclure un tableau et une méthode pour calculer le coût total pour tous les articles en stock sont entrés. J'ai maintenant d'inclure une sous-classe qui remplace l'original pour inclure "une fonction unique". J'ai créé un nouveau fichier nommé ItemDetails de mettre en place pour les sous-classes de l'Élément d'origine. J'ai besoin d'inclure une fonctionnalité unique et calculer la valeur de l'inventaire et de calculer les 5% de frais de restockage dans la présente sous-classe. Dois-je tout simplement le transfert de certaines lignes dans l'autre classe? Ou dois-je écrire du code plus d'une fois? Je ne sais pas quoi faire ensuite. Toute aide est utile. Merci. C'est ce que j'ai à ce jour:
package inventory3;
public class ItemDetails extends Items
{
public static void override()
{
private String Name;
private double pNumber, Units, Price;
public ItemDetails()
{
}
}
}
C'est la classe de l'Élément de fichier qu'il est censé remplacer:
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;
}
}
- Découvrez les exemples de la ce post.
Vous devez vous connecter pour publier un commentaire.
Il vous suffit de déclarer une méthode avec la même signature que la méthode de la classe parente. Si le vôtre ressemblerait à:
@Override
et vous serez amende. Cependant, le compilateur Java peut vous donner une aide supplémentaire si vous le laissez là. Pour appeler à partir de votre fichier principal, vous pouvez simplement créer une nouvelle instance de laItemDetails
de classe et d'appeler la méthode que vous voulez normalement.