java significato istruzione

Stato
Discussione chiusa ad ulteriori risposte.

sare1234

Utente Attivo
262
3
mi sapreste dire che significa questa istruzione:

Java:
 this.carrello = daoCarrello.creaNuovoCarrello();

dove carrello è una classe ed creaNuovoCarrello è un metodo?

Grazie
 

Skills07

Head of Development
Staff Forum
Utente Èlite
35,274
11,428
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb ,2tb x 2 toshiba P300, 256 Ssd silicon power, Samsung evo plus 1tb nvme
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
Zotac - RTX 3070 Ti Trinity OC
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
Allora avevi postato nella sezione sbagliata e ci ho pensato io.

Crea nuovo carrello è un metodo.
carrello è un oggetto della classe Carrello o di qualche altra classe.
Con il this.carrello, sta prendendo quell'oggetto per crearne uno nuovo ed inizializzarlo
 

sare1234

Utente Attivo
262
3
Allora avevi postato nella sezione sbagliata e ci ho pensato io.

Crea nuovo carrello è un metodo.
carrello è un oggetto della classe Carrello o di qualche altra classe.
Con il this.carrello, sta prendendo quell'oggetto per crearne uno nuovo ed inizializzarlo
okay grazie...quindi ha tale significato "prendo un oggetto che è del tipo classe Carrello e lo inizializzo con il metodo creaNuovoCarrello()" giusto?
 

Skills07

Head of Development
Staff Forum
Utente Èlite
35,274
11,428
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb ,2tb x 2 toshiba P300, 256 Ssd silicon power, Samsung evo plus 1tb nvme
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
Zotac - RTX 3070 Ti Trinity OC
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
si esatto
 
  • Mi piace
Reazioni: sare1234

BAT

Moderatore
Staff Forum
Utente Èlite
22,655
11,440
CPU
1-Neurone
Dissipatore
Ventaglio
RAM
Scarsa
Net
Segnali di fumo
OS
Windows 10000 BUG
this.carrello
this.carrello --> significa che hai un oggetto di una determinata classe con un attributo (o proprietà) INTERNA chiamata carrello (qualunque cosa esso sia: un numero, una stringa, un oggetto creato da te...).

this.carrello = qualcosa
inizializza tale attributo in qualche modo, nel tuo caso
this.carrello = daoCarrello.creaNuovoCarrello();
significa che c'è un oggetto daoCarrello che invoca il metodo creaNuovoCarrello() e tale metodo ritorna un risultato (un numero, una stringa, un oggetto creato da te...) che è dello stesso tipo/classe di carrello
 
  • Mi piace
Reazioni: sare1234

sare1234

Utente Attivo
262
3
this.carrello --> significa che hai un oggetto di una determinata classe con un attributo (o proprietà) INTERNA chiamata carrello (qualunque cosa esso sia: un numero, una stringa, un oggetto creato da te...).

this.carrello = qualcosa
inizializza tale attributo in qualche modo, nel tuo caso
this.carrello = daoCarrello.creaNuovoCarrello();
significa che c'è un oggetto daoCarrello che invoca il metodo creaNuovoCarrello() e tale metodo ritorna un risultato (un numero, una stringa, un oggetto creato da te...) che è dello stesso tipo/classe di carrello
OKAY capito grazie mille...invece questa istruzione qui cosa significa?
Java:
   daoRistorante.aggiornaForniture(ristoranteSelezionato, carrello.getQuantitaProdotto()); // ho un oggetto daoRistorante che invoca il metodo aggiornaForniture che ha come parametri il ristorante selezionato e la quantita dei prodotti

giusto?
 

Tidus88

From another world
Utente Èlite
2,038
1,738
CPU
Ryzen 5600X
Dissipatore
Deepcool GAMMAX 400
Scheda Madre
Asus Prime B450-Plus
HDD
MX-500 500GB
RAM
Ballistix 16GB DDR4 3000Mhz
GPU
RTX 3060Ti Dual ASUS
Audio
Edifier R1280db
Monitor
Hisense H55U7A
PSU
Sharkoon Silentstorm Icewind 550W
Case
Corsair 275R Airflow White
Net
SkyWifi FTTH
OS
Windows 10
isLoggato restituisce un booleano (ovvero true/false).
Ti dice se la proprietà utenteLoggato dell'oggetto di quella classe è diversa da null o meno.

getEmail invece invoca il metodo getEmail() della proprietà utenteLoggato (che a sua volta immagino conterrà un oggetto di tipo Utente, la cui classe definisce il metodo getEmail() ).
 

BAT

Moderatore
Staff Forum
Utente Èlite
22,655
11,440
CPU
1-Neurone
Dissipatore
Ventaglio
RAM
Scarsa
Net
Segnali di fumo
OS
Windows 10000 BUG
l'intento dei metodi è ovvio, ho qualche dubbio che la classe che li implementa sia stata implementata bene perché secondo me c'è qualcosa che non va

isLoggato() --> restituisce true/false a seconda del valore dell'attributo utenteLoggato (interno alla classe dove è stato scritto il metodo isLoggato() stesso); se utenteLoggato==null restituisce false altrimenti restituisce true

getEmail() --> ritorna una stringa che presumibilmente contiene un'email quindi: accede all'attributo interno utenteLoggato (interno alla classe dove è stato scritto il metodo getLoggato() stesso) e invoca il metodo getEmail() definito nella classe di utenteLoggato; i metodi getEmail() hanno lo stesso nome ma appartengono a due classi diverse.
 

sare1234

Utente Attivo
262
3
isLoggato restituisce un booleano (ovvero true/false).
Ti dice se la proprietà utenteLoggato dell'oggetto di quella classe è diversa da null o meno.

getEmail invece invoca il metodo getEmail() della proprietà utenteLoggato (che a sua volta immagino conterrà un oggetto di tipo Utente, la cui classe definisce il metodo getEmail() ).
OKOK INVECE IL SIGNIFICATO DI QUESTO METODO È CORRETTO?

Java:
    private void associaRiderRistoranti() {
        
        DaoRistorante daoRistorante = new DaoRistoranteDatabase();
        HashMap<Integer, ArrayList<Integer>> associazzioni = null;
        try {
            associazzioni = daoRistorante.ottieniAssociazioni();
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
            System.out.println("Impossibile connettersi al database");
            this.VisualizzazioneAvvisi(Arrays.asList("E' stato riscontrato un problema interno a Food", "Impossibile connettersi al database", "Chiusura applicazione"));
            System.exit(-1);
        }
        int codiceRistorante;
        for(Ristorante ristorante : this.ristoranti) {
            codiceRistorante = ristorante.getCodiceRistorante();
            ArrayList<Integer> codiciRiderAssociati = associazzioni.get(codiceRistorante);
            for(Integer codiceRider : codiciRiderAssociati) {
                for(Rider rider : this.riders) {
                    if(rider.getCodiceRider() == codiceRider) {
                        ristorante.addRider(rider);
                        rider.addRistoranteAssociato(ristorante);
                    }
                }
            }
        }
        
    }
    
     /* CREO UN'ISTANZA DI DaoRistorante CHE USUFRUISCE DI DaoRistoranteDatabase, POI UTILIZZO UN TRY-CACTH NEL
        TRY INSERISCO L'ISTRUZIONE "associazzioni = daoRistorante.ottieniAssociazioni();" IN CUI HO UN OGGETTO daoRistorante
        CHE INVOCA IL METODO ottieniAssociazioni E RESTITUISCE UN'ASSOCIAZIONE TRA RIDER E RISTORANTE. TALE ISTRUZIONE
        PUO' GENERARE ERRORI AD ESEMPIO: L'ASSOCIAZIONE MANCA OPPURE IL DATABASE E' LENTO A CARICARLA ALLORA MOSTRO UNA
        SERIE DI ERRORI A CONSOLE E STAMPO A CONSOLE ANCHE IL MESSAGGIO "Impossibile connettersi al database" MENTRE DAL
        PUNTO DI VISTA DELLA GUI MOSTRO LA DIALOG "VisualizzazioneAvvisi" CON I RELATIVI ERRORI DOPO DI CHE IL PROGRAMMA TERMINA.
        IN CASO DI NON ERRORE DELL'ISTRUZIONE NEL TRY SCORRO CON UN FOR POTENZIATO LA LISTA DI RISTORANTI E GLI ASSOCIO AD OGNI
        UNO UN CODICE POI SCORRO LA LISTA DI RIDER E ASSOCIO AD OGNI UNO UN CODICE DOPO DI CHE SE "getCodiceRider() == codiceRider"
        AL RISTORANTE AGGIUNGO IL RIVER E VICEVERSA. */
 
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!