Dubbio con i costruttori

di il
11 risposte

Dubbio con i costruttori

Salve a tutti, ho un dubbio sui costruttori che non mi permette di andare avanti.
public class Registro{
      private String nomeCorso;
      
      //non capisco con che criterio devo scrivere "String nome" tra le parentesi
      public Registro (String nome){
      nomeCorso = nome; //salva il nome del corso.
}
Sono bloccato.
Grazie a tutti.

11 Risposte

  • Re: Dubbio con i costruttori

    Non si è capito quale problema hai
  • Re: Dubbio con i costruttori

    federico992 ha scritto:


          //non capisco con che criterio devo scrivere "String nome" tra le parentesi
          public Registro (String nome){
    
    Quello che metti qui tra le parentesi sono, in generale, dei "parametri". Esattamente come per i metodi.
  • Re: Dubbio con i costruttori

    1) aprire libro
    2) leggere libro
    3) invece di nomeCorso, scrivi this.nomeCorso (si e' accesa la lampadina?)
    4) sei un po' striminzito a spiegazioni!

    Spiega nel dettaglio quale e' il dubbio amletico che ti blocca
    Fai degli esempi che confermano o contraddicono il tuo pensiero, insomma: spiegati
  • Re: Dubbio con i costruttori

    Nel libro non viene ancora utilizzato "this", non so come si usa.

    Il problema non è che non so che ragionamento devo fare per mettere il parametro giusto.
     public Registro (String nome){
          nomeCorso = nome;
    "String nome" come faccio a stabilire che devo scrivere questo?
  • Re: Dubbio con i costruttori

    Scusa, ma non e' possibile che un libro su Java non abbia usato this alla prima o seconda riga di codice. ... vabbeh, alla terza

    E se sei hai a che fare con il costruttore di una classe, poi, ...

    Rileggi il libro (perche' DEVI AVERE un libro su cui studiare, altrimenti e' inutile continuare) dall'introduzione!

    NB: continui ad essere criptico!
  • Re: Dubbio con i costruttori

    federico992 ha scritto:


    Il problema non è che non so che ragionamento devo fare per mettere il parametro giusto.
    "String nome" come faccio a stabilire che devo scrivere questo?
    Un costruttore/metodo può avere un numero qualunque di "parametri". Ciascun parametro ha un tipo ed un nome. Il nome è a tua scelta, tecnicamente deve solo rispettare le regole relative agli "identificatori" (es. non può iniziare con una cifra numerica).
    Nel caso dei costruttori, il senso è quello di poter rendere "parametrabile" la costruzione dell'oggetto.
  • Re: Dubbio con i costruttori

    Sono a pagina 177 e ancora "this" non è stato utilizzato.

    Comunque mi sembra di aver capito, scelgo di scrivere "String nome" perché dopo scriverò
    nomeCorso = nome <--qui.

    Giusto?
  • Re: Dubbio con i costruttori

    federico992 ha scritto:


    Sono a pagina 177 e ancora "this" non è stato utilizzato.
    Strano .... libro quale?

    federico992 ha scritto:


    Comunque mi sembra di aver capito, scelgo di scrivere "String nome" perché dopo scriverò
    nomeCorso = nome <--qui.

    Giusto?
    Sì, il succo è quello.

    Scusa ma (per capire io la situazione) ... sei a pagina 177 di un qualche libro sul linguaggio Java e i dubbi sono ancora a livello delle variabili e dei loro nomi???
  • Re: Dubbio con i costruttori

    Java Fondamenti settima edizione dei Deitel.

    Mi piace ma in alcuni punti non è chiarissimo (magari sono io, mai fatto informatica nel mio percorso scolastico,tutto autodidatta).

    Non capivo che "nome" veniva inizializzata all'interno di quelle parentesi.

    "this" viene usato per la prima volta a pag 335.
  • Re: Dubbio con i costruttori

    federico992 ha scritto:


    Java Fondamenti settima edizione dei Deitel.
    "this" viene usato per la prima volta a pag 335.
    Non conosco il libro ma da una veloce ricerca, vedo che ha 624 pagine. Mi sembrerebbe strano che il this venga introdotto praticamente "solo" a metà del libro ma probabilmente hanno fatto una scelta editoriale per cui hanno preferito introdurre prima altri argomenti. In generale nulla di sbagliato, comunque.
    Continua pure con il libro e a fare pratica, vedrai che le cose ti saranno man mano più chiare.
  • Re: Dubbio con i costruttori

    Salve a tutti,

    vorrei contribuire anche io in questa discussione, più che altro per cercare di rendere un po' più chiare le idee a @federico992.

    Il mio primo consiglio è di studiare il linguaggio Java su (Thinking in Java, 4th edition di Bruce Eckel), nella prima parte viene spiegato il concetto di oggetto in linea prima teorica e poi "tradotta" in java.

    Java è un linguaggio ad oggetti, il che comporta la conoscenza teorica di concetti importanti come l'ereditarietà, interfaccia, binding dinamico e altre cose valide per il paradigma ad oggetti in generale.

    Per ogni linguaggio di programmazione sono importanti 3 concetti (sintassi, semantica, pragmatica).

    dal mio punto di vista la questione del this può essere inserito nel concetto di pragmatica, in quanto a livello sintattico può essere anche omesso (infatti il compilatore non ne blocca la compilazione).

    Pragmatica vuol dire soprattutto coerenza nella scelta dei nomi delle variabili e altri costrutti del linguaggio (ad esempio se sappiamo apriori che un ciclo esegue un numero finito di iterazioni è meglio usare il costrutto for invece del while) in modo tale da aiutare la comprensione del codice ad altri programmatori ma anche a se stessi.

    il this viene usato per rifersi a variabili (proprietà) della classe usate nei metodi della classe, per distinguerle dai parametri formali dei metodi.
    Quindi this.nome = nome fa capire che con this.nome si sta riferendo ad una proprietà della classe stessa e che con =nome al parametro del metodo.
    Questo concetto viene inteso meglio quando studierai l'ereditarietà, in tal caso incotrerai un'altra keyword chiamata super.

    Spero di non aver confuso ulteriormente le idee a @federico992.

    ciao e a presto
Devi accedere o registrarti per scrivere nel forum
11 risposte