java significato istruzione

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

sare1234

Utente Attivo
Messaggi
262
Reazioni
3
Punteggio
35
mi sapreste dire che significa questa istruzione:

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

dove carrello è una classe ed creaNuovoCarrello è un metodo?

Grazie
 
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
 
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?
 
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
 
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?
 
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() ).
 
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.
 
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.
Pubblicità
Pubblicità

Discussioni Simili

Indietro
Top