2014-05-03 5 views
0

Salut, je suis un programmeur débutant et je pense que j'ai une question simple mais je ne trouve pas la réponse. J'espère que vous pouvez m'aider: D J'ai quatre classes au total mais ce que j'ai besoin de résoudre est en classe Person. J'ai une méthode simple qui nécessite le paramètre thePrice de la classe Product. Mais cela ne fonctionne pas parce que je ne peux pas accéder à ce paramètre.Obtenir un attribut protégé d'une autre classe

C'est la méthode utilisée par la classe Person pour acheter un produit. Le budget d'une personne doit être supérieur ou égal au prix, sinon> il ne peut pas acheter le produit. Mais il ne peut acheter le produit que s'il n'a pas déjà possédé le produit.

public class Person{ 

     private String name; 
     private double budget; 
    private ArrayList<Product> allPossessions; 
    private Product theProduct; //association with class product, I have all getters and setters etc. 

    // the method::: 
    public boolean Buy(Product p) { 

    if (hasProduct(null) == true) { 

    if (budget >= Product.getThePrice()) {  
    // getTheprice does not work, how do i get this working? How do i get this parameter from class product? 

    return true; 

    } 

return false; 

} 

return false; 
    } 

Ceci est la classe Product où j'ai besoin d'avoir thePrice, pour créer la méthode.

public abstract class Product { 

    protected String Design; 

    protected int yearOfPurchase; 

    protected double thePrice; 
} 

Merci pour votre temps et pardonnez mon anglais cassé! Merci :)

+2

Eh bien pouvez-vous pas ajouter une méthode 'getThePrice()' à 'Product'? Pour autant que je puisse voir, il n'y a pas une telle méthode pour le moment ... –

Répondre

0

Vous devez écrire une méthode getter pour le paramètrePrice dans la classe Product.

public double getPrice() { 
    return thePrice; 
} 
+0

WOW haha ​​génie merci beaucoup. Je n'ai jamais pensé que c'était si simple xD – user3599415

Questions connexes