Bentornati, ragazzi.
Dopo la rettitudine, dobbiamo parlare dei tipi.
Ma non si tratta di un argomento molto complicato.
Dobbiamo solo memorizzare o ipnotizzare questo elenco.
Quale lista?
Questo qui.
Allego anche questo nel foglio informativo e questi sono i tipi che abbiamo nel nostro codice smiley.
Così abbiamo visto questa strana i. e. nel nostro codice sorgente e questo significa che abbiamo un valore intero.
Significa che void set è booleano.
Oltre a tutti questi tipi di base, abbiamo anche tipi un po' strani.
Il primo riguarda il nome della classe e inizia con la L maiuscola.
Lo abbiamo visto spesso in passato e lo vedremo anche più avanti, quando esamineremo l'applicazione
di pagamento dello spazio e prenderemo un po' più di confidenza con lo smiley.
Le classi iniziano con la lettera L maiuscola, va bene?
L'altro tipo inizia con la parentesi quadra.
E poi abbiamo questo descrittore che descrive il tipo di array.
Quindi, in questo caso, se abbiamo una parentesi quadra e poi una B maiuscola, abbiamo ottenuto un array di byte
e possiamo avere tutti i tipi di array.
Va bene.
Ok.
Quindi tenete questo elenco vicino a voi.
Quando si inizia a fare reverse engineering del codice degli smiley, perché questo è super utile, si capirà molto
di più di questo codice avendo questo elenco, la definizione di questi tipi lì.
Eseguiamo questa operazione per il codice dell'applicazione che abbiamo analizzato in precedenza.
Quindi, avendo a disposizione questo elenco, possiamo ora determinare anche questi tipi.
Abbiamo, ad esempio, aggiunto un po' di potenza e poi abbiamo tre volte l'alimentazione, il che significa
che abbiamo tre parametri di tipo integer.
E dopo queste parentesi abbiamo un'altra I in verde, che rappresenta il valore di ritorno.
Ora sappiamo che tre valori interi saranno passati nella nostra funzione e che questa funzione
restituirà un valore intero.
Va bene.
Possiamo anche vedere le I maiuscole dopo questi parametri.
E qui, in Somma e Fattore, abbiamo anche questa definizione di tipo.
Ma in questa funzione sono disponibili solo numeri interi.
Va bene.
Eccoci ora alla nostra macchina virtuale Ubuntu e facciamo un po' di pratica all'interno della nostra applicazione di pagamento dello
spazio e quindi andiamo nella nostra directory apps.
Spazio di gioco compilato perché questo è stato compilato con lo strumento APK.
E qui abbiamo la nostra Smiley Directory che apre gli occhi con il codice dello studio.
E poi ho seguito l'intera directory in questa modifica.
Sì, funziona già.
Torno indietro e apro questa applicazione anche con Shadi, scusandomi per avere il codice sorgente del viaggio accanto
a noi.
Troviamo alcuni tipi all'interno del nostro codice somalo.
Partiamo dal codice somalo e poi verifichiamo se la nostra ipotesi è corretta o meno.
Così ho aperto questo.
Vediamo cosa abbiamo qui.
Sì, quei componenti.
Forse questo è sufficiente.
Vediamo.
Quindi un buon equilibrio.
Sì.
Quindi sto anche aprendo o cambiando la sintassi in Java.
Tirate fuori il mio modello grafico e ora facciamo un'analisi pratica.
Ok.
E questo qui.
Credo che non sia così difficile.
Abbiamo un campo di istanza.
Ciò significa che si tratta di un campo di classe, ma al momento non lo sappiamo.
Quello che ci interessa è questa f qui e questi due punti e questa F significano che abbiamo
una variabile di tipo float.
Corretto.
Abbiamo quindi il nome di una classe.
Possiamo trovarlo qui.
Rimbalzo del cerchio.
E come compagni di classe abbiamo alcuni tipi di radio e questo tipo è float una variabile chiamata radius e il tipo è float
in questo modo.
Bene, diamo un'occhiata al nostro codice Java.
Quindi.
Sì, possiamo tenerlo qui.
Credo sia giusto verificare se avevamo ragione.
Quindi eravamo in componenti.
Ossa del cerchio di collisione.
Componenti, ossa del cerchio di collisione.
Ecco fatto.
Forse devo ripulirlo.
Le schede dei circuiti galleggiano sulle radio.
Corretto.
Il prossimo.
Cosa abbiamo qui?
Va bene.
Vediamo cosa abbiamo qui.
Abbiamo ricevuto calore e abbiamo ricevuto entrambe le cose.
Ed entrambi sono di tipo F.
La F è corretta.
Galleggiante.
Quindi abbiamo l'odio per il galleggiante e il galleggiante con.
Ok.
Controlliamo anche questo.
Abbiamo ottenuto we qui e questo è il valore di ritorno perché è dopo le parentesi,
anche la V come valore di ritorno è corretta.
Ottimo.
È vuoto.
Quindi questa funzione restituisce un valore nullo.
E possiamo trovare anche questo qui.
Va bene, il prossimo o proviamo prima questo.
Allora, Chad.
Rettangolo.
Sì.
Altezza e larghezza del galleggiante.
Ma dov'è la nostra funzione rispetto al vuoto.
E diamo uno sguardo al passato.
E questo non c'è.
Questo significa che si trova nel costruttore, ma questo costruttore non è scritto direttamente nel codice
Java.
Lo scopriremo più avanti.
Volevo solo farvi notare che possiamo anche ottenere il valore di ritorno di questa funzione qui.
Va bene, accendete.
Cosa abbiamo qui?
Moneta.
Smiley Diamo un'occhiata a questo.
Va bene.
Per ora saltiamo questo punto perché c'è qualcosa di interessante.
Andiamo avanti.
Sull'alieno.
Sì, passiamo prima ad Alien.
Abilitato il viaggio ancora una volta.
Ho abilitato la mia penna e sono partito.
Ecco quindi la nostra etichetta.
E davanti a questa etichetta, abbiamo questo public static final.
E questo è esattamente lo stesso testo scritto nel nome della classe.
Quindi, per mostrarvi questo, abbiamo un.
Statica pubblica.
Finale.
Ops.
Finale.
E poi abbiamo il nome Sprite qui.
Va bene.
Ma manca qualcosa.
Cosa manca?
Il tipo di nome dello sprite.
Diamo un'occhiata.
Abbiamo i due punti e la L maiuscola, quindi questa è la nostra definizione di tipo.
E questa definizione di tipo termina con la stessa e colon, la loro l maiuscola significa.
Abbiamo un riferimento di classe.
Quale classe?
Diamo un'occhiata.
Abbiamo la stringa Java Lang.
Questo è il tipo di stringa.
Quindi possiamo cancellare questa e regolare la stringa e possiamo anche vedere che questa stringa o questo nome di variabile
verrà inizializzato direttamente dopo qui.
Quindi questa stringa è qui.
E poi c'è anche questo alieno.
E lo stesso vale per questo sotto.
Quindi, in questo caso, abbiamo anche uno Sprite chiamato Boss.
E poi abbiamo anche questi due punti l abbiamo il nostro riferimento alla classe che viaggia in stringa e anche la nostra inizializzazione.
Facciamo così.
Quindi abbiamo un nome Sprite.
Nome dello sprite boss
underscore.
E questo è del tipo Java lang string.
Quindi abbiamo una stringa qui e questa viene inizializzata con il capo alieno.
Quindi questo qui.
Va bene.
Diamo un'occhiata.
Insomma, è stato un po' di più di quanto abbiamo appreso in questo momento.
Ma voglio fornirvi sempre più informazioni in modo da familiarizzare lentamente con gli Smileys.
Ok.
Diamo quindi un'occhiata.
Permettetemi di sì.
Lasciatemi aprire questo e vediamo.
Dove si trovava?
Nei componenti.
In componenti somale.
Componenti.
E in Somalia.
Questo.
Va bene.
Possiamo vedere il nome dello sprite pubblico, statico e finale.
Nome di sprite pubblico statico e definitivo.
Alieno e boss alieno.
Bello.
Ero troppo pigro per scrivere questo schema qui.
Anche qui c'è qualcosa che non va.
Va bene.
Diamo poi un'occhiata a questo.
E questo è molto bello.
Sì.
Ok.
Qui abbiamo un sacco di cose belle.
Diamo quindi un'occhiata a questo aspetto.
Abbiamo molti campi di istanza.
I campi di istanza sono solo variabili membro di questa classe.
Parleremo di questo formato di file in modo più dettagliato in una sezione separata.
Ma permettetemi di fare una precisazione veloce.
Il nome della classe si trova qui.
Quindi abbiamo una classe.
Questa classe si chiama animazione del colore.
In questo caso.
Estende anche questo qui.
Ma questo non ci interessa in questo momento.
Io ho solo estensioni di destra, ma non ci interessa.
In questa classe sono presenti questi membri, ad esempio alpha animate.
Che cos'è questo tipo di animazione alfa?
Diamo un'occhiata.
Abbiamo questo colon e poi abbiamo il set.
Qual è il set?
Corretto.
Un booleano.
Quindi sappiamo che questo è un booleano.
Hmm.
Credo di doverlo scrivere in modo più pulito, Julia.
Ok.
Poi abbiamo gli Alpha Marks, quindi non lo scrivo, ma qui avremmo questo Alpha Max.
Abbiamo già ricevuto il colon f, abbiamo già visto questa F prima d'ora.
F è il galleggiante corretto.
Questo è di tipo float.
Va bene.
Oh, non abbiamo altro, abbiamo solo f e set.
Quindi, questi sono tutti float, float, boolean, float, float, float, boolean, float, float
e così via.
Come vedete, non è così difficile e possiamo già ricostruire alcune parti del codice sorgente.
Vediamo come si presenta.
Quindi siamo in animazione a colori per l'animazione.
Già.
Quindi la nostra stima era corretta.
Abbiamo questa classe e l'estensione e il componente, ma non ci interessa questa parte qui.
E poi abbiamo tutti questi membri e abbiamo visto anche questi tipi qui.
Va bene.
Infine, facciamo qualcosa di più interessante.
Vediamo di tornare indietro e poi.
E questo?
Sì, questo sembra buono.
Abilitare nuovamente il viaggio.
Tirate fuori la matita.
Andiamo.
Ecco i campi dell'istanza.
E qui abbiamo frame, durata, colon.
F conosciamo questo tipo di galleggiante.
Conosciamo anche questo tipo di galleggiante.
Ma cos'è questo qui?
Ora abbiamo un'etichetta chiamata Play Mode.
Modalità di riproduzione.
Ma che cos'è questo tipo di etichetta?
Vediamo.
Abbiamo ottenuto l'acqua di colonia e questo significa che abbiamo un riferimento di classe.
Vediamo quanto lontano arriva questo riferimento di classe fino a questo qui.
Ok, abbiamo questa animazione e poi il segno del dollaro e la modalità di riproduzione.
Che cos'è questo?
Il segno del dollaro è solo un segnale per noi.
Questa animazione ha una classe interna, denominata modalità di riproduzione.
Nella maggior parte dei casi si tratta di nemici.
Oppure, ad esempio, se si estende un compito di somma o cose del genere.
Quindi, se si ha un nome di classe e all'interno di questo nome di classe si ha una classe interna, queste due classi
vengono separate con il segno del dollaro.
Bene, portiamo questo argomento rapidamente nelle diapositive e discutiamone qui.
Credo che questo sia un modo più semplice.
Quindi, a sinistra, abbiamo una classe pubblica animation e questa classe pubblica può ora avere una classe ereditata,
che è la modalità di riproduzione o anche un tipo enum, che è la modalità di riproduzione.
Entrambi saranno indirizzati dalla classe principale, dalla classe di animazione, seguita da un
segno di dollaro e poi dal tipo D, ad esempio il tipo enum o la classe play mode.
Quindi, mettiamolo in scena qui.
Abbiamo la nostra classe principale, l'animazione, poi abbiamo una sottoclasse o, per esempio, un tipo enum che è la modalità di
riproduzione.
Ora, se si vuole affrontare questa modalità di riproduzione, bisogna rivolgersi alla classe principale, che è l'animazione seguita
da un segno di dollaro, e poi si passa alla modalità di riproduzione.
Quindi possiamo indirizzare la classe della modalità di gioco o il tipo enum della modalità di gioco in totale.
Assomiglia a questo.
Modalità di riproduzione del dollaro di animazione.
È questa la magia che si cela dietro il simbolo del dollaro.
Si tratta solo di un riferimento a una classe ereditata, un tipo di enum, per esempio.
In questo caso, non deve essere necessariamente in classe.
Può anche essere, ad esempio, un tipo enum.
Quindi dobbiamo andare nel codice sorgente di Java per capirlo subito.
Più avanti scopriremo come affrontare questo problema.
Diamo quindi un'occhiata.
Ops.
Ok.
Dove siamo, siamo in parametri di animazione.
Quindi parametri di animazione.
Possiamo vedere che i parametri dell'animazione hanno ora questa modalità di riproduzione dell'animazione di classe.
Possiamo fare doppio clic su questo punto e cambiare la scusa.
E poi ci ritroviamo qui.
Va bene.
Abbiamo ora una classe chiamata animazione e questa animazione ha un enum di tipo play mode.
E questo è ciò che abbiamo.
Abbiamo quindi l'animazione.
Dollaro.
E poi c'è la modalità di gioco.
Nel nostro caso, quindi, abbiamo un tipo enum all'interno del nome della classe e questi vengono separati in questo modo.
Nella prossima sezione abbiamo una sorta di quiz.
Ho preparato alcuni esempi e poi dobbiamo capire quali sono i parametri, quali sono le variabili
locali, quali sono i tipi e qual è il valore di ritorno.
E allenandoci con questo tipo di quiz, miglioriamo sempre di più.
E questo è importante anche in somalo: praticare queste cose.
Ok, sentitevi liberi di curiosare in questo codice e di esercitarvi un po' con le definizioni dei tipi
e anche con i parametri.
Le variabili locali non si fanno distrarre da tutte le altre parti sorridenti e poi ci vediamo nella prossima sezione.