Visualizzazione dei risultati da 1 a 9 su 9

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quando istanzi un array con

    codice:
    Uomo [] employees = new Uomo[3];
    Questo istanzia solo l'array in sé (che è un oggetto). Ma non istanzia in automatico gli oggetti contenuti (nel tuo caso 3 oggetti Uomo). Questi li devi istanziare tu!
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2016
    Messaggi
    12
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Quando istanzi un array con

    codice:
    Uomo [] employees = new Uomo[3];
    Questo istanzia solo l'array in sé (che è un oggetto). Ma non istanzia in automatico gli oggetti contenuti (nel tuo caso 3 oggetti Uomo). Questi li devi istanziare tu!
    Per istanziarlo dovrei fare
    codice:
    employees[0]= luca;
    employyes[1] = giorgio;
    e così via?

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da luca125 Visualizza il messaggio
    Per istanziarlo dovrei fare
    codice:
    employees[0]= luca;
    employyes[1] = giorgio;
    e così via?
    All'interno della classe Ufficio, dove tu crei l'array, le variabili luca,giorgio, etc. non sono definite, quindi riceveresti un errore in compilazione.

    A me pare piuttosto strano che tu debba definire i quattro oggetti di tipo Uomo all'interno della stessa classe Uomo, la cosa di solito viene evitata.
    E' molto più sensato avere all'interno di Uomo un costruttore così definito:

    codice:
    public Uomo(String name){
        this.name=name;
    }
    E perciò nella classe Ufficio ti basterebbe fare:

    codice:
    employees[0]=new Uomo("Luca");
    Ovviamente nel costruttore di Uomo, se segui questo approccio, puoi passare tutte le informazioni che vuoi

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2016
    Messaggi
    12
    Quote Originariamente inviata da Ansharja Visualizza il messaggio
    All'interno della classe Ufficio, dove tu crei l'array, le variabili luca,giorgio, etc. non sono definite, quindi riceveresti un errore in compilazione.

    A me pare piuttosto strano che tu debba definire i quattro oggetti di tipo Uomo all'interno della stessa classe Uomo, la cosa di solito viene evitata.
    E' molto più sensato avere all'interno di Uomo un costruttore così definito:

    codice:
    public Uomo(String name){
        this.name=name;
    }
    E perciò nella classe Ufficio ti basterebbe fare:

    codice:
    employees[0]=new Uomo("Luca");
    Ovviamente nel costruttore di Uomo, se segui questo approccio, puoi passare tutte le informazioni che vuoi
    Oh scusami non avevo aggiornato e mi sono perso la tua risposta :asd:

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2016
    Messaggi
    12
    Quote Originariamente inviata da Ansharja Visualizza il messaggio
    All'interno della classe Ufficio, dove tu crei l'array, le variabili luca,giorgio, etc. non sono definite, quindi riceveresti un errore in compilazione.

    A me pare piuttosto strano che tu debba definire i quattro oggetti di tipo Uomo all'interno della stessa classe Uomo, la cosa di solito viene evitata.
    E' molto più sensato avere all'interno di Uomo un costruttore così definito:

    codice:
    public Uomo(String name){
        this.name=name;
    }
    E perciò nella classe Ufficio ti basterebbe fare:

    codice:
    employees[0]=new Uomo("Luca");
    Ovviamente nel costruttore di Uomo, se segui questo approccio, puoi passare tutte le informazioni che vuoi
    Grazie, ho seguito il tuo consiglio e finalmente funziona!

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da luca125 Visualizza il messaggio
    Grazie, ho seguito il tuo consiglio e finalmente funziona!
    Per così poco

    A meno che non fosse nella consegna allora io ti consiglierei di togliere quei quattro oggetti Uomo che definisci nella stessa classe.
    Poi scegli quali parametri passare al costruttore di Uomo , potresti aggiungere surname e anche age (se nel tuo contesto ha senso che un uomo venga "creato" con un'età, ad esempio per l'azienda l'Uomo potrebbe "iniziare ad esistere" solo quando comincia a lavorare o invia il curriculum).

    Poi ti consiglierei di mantenere anche la variabile sex come private, quindi dovresti aggiungere anche un metodo getSex all'interno di uomo. E se il sesso non può cambiare (visto che la classe è chiamata Uomo ha abbastanza senso che non cambi), eviti di inserire il metodo setSex, e il campo sex potrebbe essere dichiarato final.

    Sono tutte questioni di logica più che di programmazione, ma si cerca sempre di mantenere i due aspetti il più possibile legati

Tag per questa discussione

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 © 2026 vBulletin Solutions, Inc. All rights reserved.