Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    agli inizi

    scusate ma sono agli inizi della prog. java..

    questo è un codice preso su internet:

    codice:
    class Impiegato
    {
     public Impiegato(String n, double s)
     {
      Nome = n;
      Salario = s;
     } 
     private String Nome;
     private double Salario;
    }
    è lo stesso scrivere:

    codice:
    public class Impiegato {
    	private String Nome;
    	private Double Salario;
    	public Impiegato (String Nome, Double Salario) {
    		
    	}
    scusate ancora ma non ce capisco una mazza...
    quello che voglio dire, ci sono vari modi per creare una classe?? E se si, qual'è il migliore?

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

    Moderazione

    Ciao.
    Prendi anche visione del Regolamento interno. Ci sono alcuni aspetti da tenere presente quando si apre una discussione: titolo, posting del codice, ecc.

    Sistemo io la discussione.

    Per quanto riguarda espressamente in tuo problema, ci sono alcune considerazioni:

    1) Nel primo codice il costruttore fa qualcosa, nel secondo no.
    2) La nomenclatura Java vuole che solo i nomi delle classi siano in Maiuscolo, mentre i nomi delle variabili e dei metodi comincino con la minuscola e procedano a gobba di cammello (ti consiglio di familiarizzare con questa cosa: ti verrà più facile leggere altri codici)

    3) Mettere le variabili di classe all'inizio, in mezzo o alla fine non ha alcuna rilevanza: sta al programmatore scegliere una sua metodologia (io preferisco elencarle tutte all'inizio).

    4) Se ti riferisci al modo di disporre le parentesi graffe è uguale: ciascuno usa la sintassi che preferisce, tanto a livello di logica del programma non cambia nulla.

    5) Se ti riferisci ai nomi dei parametri locali del costuttore, nel secondo caso "nascondi" la visibilità dei membri della classe, avendo essi lo stesso nome. Quindi dovrai usare la parola chiave "this" per riferirti ad essi:

    codice:
    public Impiegato(String nome, double salario) {
       this.nome = nome;
       this.salario = salario;
    }
    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
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: agli inizi

    Originariamente inviato da jimbojava
    class Impiegato
    {
    public Impiegato(String n, double s)
    {
    Nome = n;
    Salario = s;
    }
    private String Nome;
    private double Salario;
    }


    è lo stesso scrivere:

    public class Impiegato {
    private String Nome;
    private Double Salario;
    public Impiegato (String Nome, Double Salario) {

    }
    No, non è lo stesso. Se il costruttore riceve degli argomenti da assegnare a dei campi di istanza .... devi proprio farlo esplicitamente. Non è questione dei nomi dei "parametri" del costruttore.

    Originariamente inviato da jimbojava
    quello che voglio dire, ci sono vari modi per creare una classe?? E se si, qual'è il migliore?
    Non è che ci sono "modi" .... ci sono principalmente delle "convenzioni" sia a livello di denominazioni, sia a livello proprio di stile di scrittura del codice (spaziature, indentazioni, ecc...).

    Secondo le convenzioni, i nomi di classi/interfacce dovrebbero iniziare con la maiuscola e se formate da più parole, ognuna con la maiuscola.
    Es. public class MatriceDiInteri { .... }

    Sempre secondo le convenzioni, variabili e metodi dovrebbero iniziare con la minuscola e seguire lo stile "lower" camel-case. Es. getNomePersona()

    Quindi secondo le convenzioni, quella classe sarebbe da scrivere:

    codice:
    public class Impiegato {
        private String nome;
        private double salario;
    
        public Impiegato(String nome, double salario) {
            this.nome = nome;
            this.salario = salario;
        }
        
        // .... altri metodi es. i "getter" getNome() ecc....
    }
    Nota i nomi, la indentazione, le spaziature, le graffe { non messe a capo, il 'this' usato per accedere al campo (perché il parametro con lo stesso nome "nasconderebbe" il campo).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    ops grazie..

    ehehe..come vedi sono agli inizi..uff

    Cmq volente o nolente lo devo imparare per lavoro..quindi mi tocca!

    scusa se insisto ma ad esempio

    scrivere

    class Impiegato


    oppure


    public class Impiegato


    è lo stesso?

    ora vado a leggere il regolamento..

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Tieni presente che non possiamo tenere un corso di Java qui sul forum.
    Ci sono dei libri che spiegano come si impara a programmare in Java e ci vuole senz'altro del tempo per imparare.

    I modificatori di accesso (public, protected, (nessuno) e private) sono uno dei primi argomenti che vengono trattati e, ovviamente, non sono messi lì a caso: non mettere il modificatore non è come mettere "public" o qualcos'altro...


    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

  6. #6
    Si lo so hai ragione..stò leggendo questo mattone di libro e preso dallo sconforto son venuto qui a cercare aiuto..


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.