Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    esercizio ereditarietà

    Salve a tutti,

    Volevo chiedere una consulenza su un esercizio di ereditarietà . Di seguito il codice:

    codice:
    public class Media 
    
    {
      // ATTRIBUTI
        
        private String title;
        private int year;
        
        
        // COSTRUTTORI
        
        public Media(String title, int year)
        {
            
            this.title = title;
            this.year = year;
        }
    
    
    
    
    
    
        
        // METODI
        
        public String getTitle() 
        {
            return this.title;
        }
    
    
    
    
        public void setTitle(String title) 
        {
            this.title = title;
        }
    
    
    
    
        public int getYear() 
        {
            return this.year;
        }
    
    
    
    
        public void setYear(int year) 
        {
            this.year = year;
        }
    
    ...
     public class Ebook extends Media
    
    {
       // ATTRIBUTI
        
        String genre;
        String[] authors;
        
        
        
        // COSTRUTTORI
        
        public Ebook(String genre, String[] people)
        {
            super(?)
            this.genre = genre;
            this.authors = people;
        }
    ...

    IL MIO PROBLEMA E' : COME RICHIAMO IL COSTRUTTORE DELLA SUPERCLASSE AVENDO CAMPI DI SUPERCLASSE PRIVATI E SOLO GETTERS E SETTERS PUBBLICI???


    GRAZIE
    Ultima modifica di JavaTheBest; 22-01-2014 a 17:27 Motivo: Aggiunti i tag CODE

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Intanto sposto la discussione nel forum Java, visto che questo linguaggio ha una sua aposita sezione.

    In secondo luogo, aggiungo i tag CODE, che sono obbligatori quando si incolla del codice.

    Come si usano i tag CODE:

    1) Se si scrive il messaggio in "Modalità Avanzata": basta cliccare sul pulsante "#" e i tag vengono automaticamente aggiunti. Al loro interno si incolla il codice.

    2) Se si scrive il messaggio in "Modalità veloce", bisogna scrivere a mano i tag e incollarci dentro il codice:

    [code]
    codice
    [/code]


    PS: non scrivere tutto in maiuscolo. Nei forum questo equivale ad urlare.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Ah perfetto..grazie dell'aiuto iniziale e scusate .

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    codice:
    public Ebook(String title, int year, String genre, String[] people)
    {
        super(title, year);
        this.genre = genre;
        this.authors = people;
    }
    Ti consiglio di usare arraycopy per inizializzare authors. E di dichiarare genre e authors privati (con getter e setter.)
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da JavaTheBest Visualizza il messaggio
    Come richiamo il costruttore della superclasse avendo campi di superclasse privati e solo getters e setters pubblici???
    Semplicemente il costruttore di Ebook dovrà ricevere title/year che poi passa al super-costruttore.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    grazie per il private !!! ... A proposito dell'inizializzazione dell'array l'array copy non si dovrebbe usare nel main dove crei gli oggetti veri con new ,o mi confondo io ?

  7. #7
    @andbin ...mi potresti spiegare il tuo concetto meglio ,se riesci? grazie

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da JavaTheBest Visualizza il messaggio
    @andbin ...mi potresti spiegare il tuo concetto meglio ,se riesci? grazie
    Alex'87 l'ha spiegato .... con del codice.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    ok ho capito adesso...grazie a tutti !!!

  10. #10
    Un dubbio che mi è sorto ora però : il codice non dà nessun errore ,e va bene, ma dal punto di vista teorico, non capisco come sia possibile accedere con il costrutto super() a campi privati di una superclasse, cioè super(title,year) , invece di aver fatto ,anche se incorretto super(getTitle(),getYear()).

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.