Salve ragazzi e auguri di buon natale passati.
Vorrei trovare una soluzione sull'implementazione di due classi, certamente questo problema dipende da un a lacuna sull'ereditarietà e poliformismo che ho, credetemi e da stamattina che li studiando, ma non sono riuscito a trovare una soluzione.
Il punto è questo, faccio un esempio: ho una classe prodotto che contiene due proprità (prezzo netto e prezzo ivato), per cercare di capire e iniziare ad utilizzare l'usabilità del codice, ho pensato di creare una classe CalcolaPrezzi che eridita la classe Prodotto (forse in questo contesto non è il caso di usare l'ereditarietà ma potrei direttamente creare i metodi di calcolo all'interno della classe Prodotto), che ha i metodi oppurtuni per calcolare i prezzi.
Il procedimento è questo: creo l'istanza Prodotto, assegno dei valori ai prezzi, cambio l'importo es. prezzo netto, automaticamente dovrei cambiare l'importo prezzo Ivato o viceversa, tramite la classe CalcoloPrezzi. Il problema è che non riesco ad assegnare il riferimento della classe Prodotto all'istanza CalcolaPrezzi. Cerco di postare l'esempio con del codice:
codice:Prodotto.java public class Prodotto{ private int codice; private double prezzoNetto; private double prezzoIvato; public Prodotto(in codice, double prezzoNetto, double prezzoIvato){ this.codice = codice; this.prezzoNetto = prezzoNetto; this.prezzoIvato = prezzoIvato; } public void setPrezzoNetto(double prezzoNetto){ this.prezzoNetto = prezzoNetto; } public double getPrezzoNetto(){ return prezzoNetto(); } public void setPrezzoIvato(double prezzoIvato){ this.prezzoIvato = prezzoIvato; } public double getPrezzoIvato(){ return prezzoInvato; } } CalcolaPrezzi.java public class CalcolaPrezzi extends Prodotto{ private double netto; private double ivato; public double calcolaprezzoIvato(){ ivato = super.getPrezzoNetto + 21%; return ivato; } public double calcolaPrezzoNetto(){ netto = super.getPrezzoIvato - 21%; return netto; } } GestioneProdotto.java public class GestioneProdotto{ public static void main(String args[]){ Prodotto prodotto = new Prodotto(1, 321,00, 388,41); System.out.println("Netto="+prodotto.getPrezzoNetto); System.out.println("Ivato="+prodotto.getPrezzoIvato); prodotto.setPrezzoNetto(367,00); /* Come posso assegnare il riferimento dell'oggetto Prodotto a CalcolaPrezzi? * e qui che mi perdo. */ /* ho provato con questo codice ma non va */ CalcolaPrezzi calcola = new CalcolaPrezzi(); prodotto = calcola; System.out.println("Ivato="+prodotto.calcolaPrezzoIvato()); // restiuisce zero // oppure con questo, ma è sempre uguale Prodotto calcola = new CalcolaPrezzi(); System.out.println("Ivato="+prodotto.calcolaPrezzoIvato()); // restiuisce zero } }

Rispondi quotando