Bentornati.
In questo video, risolveremo un esercizio molto importante sull'astrazione e l'ereditarietà in Java.
Pensate a un programma che ci permetta di calcolare l'area di un cerchio, di un rettangolo o di altre forme.
Prima di tutto, inizierò come un principiante che cerca di creare e risolvere questo esercizio.
Inizierò creando il cerchio e questa classe avrà il raggio.
Poi creerò un costruttore Alt+ inserisci nel costruttore e creerò un metodo chiamato Calcola
area che eseguirà il calcolo.
Quindi 3. 14, che è il pi greco per il raggio al quadrato e si può scrivere così per il raggio per il raggio.
Creiamo un altro metodo che ci permetta di calcolare il perimetro di questo cerchio nello stesso modo in
cui restituisce un double e calcola il perimetro qui e restituisce due volte pi greco per il raggio.
In questo modo creiamo una classe cerchio con raggio variabile doppio e calcoliamo l'area e il perimetro
di questo cerchio.
Creo un'altra forma chiamata Rettangolo.
Il rettangolo ha lunghezza e larghezza come variabili e creerò il costruttore con la lunghezza e la larghezza.
Quindi, ogni volta che devo creare un'istanza di rettangolo, devo passare la lunghezza e la larghezza.
Ora creerò due metodi per calcolare l'area e il perimetro di questo rettangolo.
L'area del rettangolo è pari alla lunghezza per la larghezza e il perimetro del rettangolo è pari a due volte la lunghezza più
la larghezza.
Passiamo ora alla classe My.
Questa è la classe tester, quindi ho bisogno di creare un cerchio C uguale a new
circle e devo passare il raggio radius è 5. 0 e devo creare un'istanza di rettangolo chiamata R uguale a nuovo rettangolo.
Ho bisogno di passare la lunghezza che è 4. 0 e la larghezza è di sei punti z.
Ora stampiamo l'area e il perimetro del rettangolo e del cerchio.
Ho creato questi quattro messaggi area del cerchio, cerchio, perimetro area del rettangolo e perimetro del rettangolo
e sto chiamando i rispettivi metodi.
Eseguiamo il nostro programma ed eccoci qui.
Il programma funziona bene, l'area viene calcolata sia per il rettangolo che per il cerchio e anche il perimetro.
Ma c'è un concetto molto importante.
È necessario sapere se è necessario creare un'altra forma, ad esempio un triangolo.
E per errore non avete definito il perimetro di calcolo.
Si definisce tutto ciò che è buono, come la base dell'altezza, si crea il costruttore e si crea l'area.
Ma il triangolo è una forma che dovrebbe contenere il metodo di calcolo dell'area e del perimetro.
E per errore non l'avete fornita.
Non hai fornito il perimetro di calcolo.
Cosa devo fare?
Se guardiamo tra queste tre classi che abbiamo definito, ci sono codici comuni, come, ad esempio, calcolare
l'area, calcolare il perimetro, ma approcci diversi, come il calcolo dell'area del cerchio è diverso da
quello del rettangolo e da quello del triangolo e così via.
Esiste un concetto comune per calcolare il perimetro e calcolare l'area che stiamo realizzando.
E per ogni classe concreta, sempre gli stessi metodi.
E dobbiamo sempre utilizzare il calcolo dell'area e del perimetro in ogni forma per crearla con un approccio migliore.
Il trucco consiste nel creare una nuova interfaccia o una classe astratta chiamata shape.
Ma preferisco shape se avete bisogno di definire solo i metodi che devono essere implementati forzatamente
in ogni classe: calcola, calcola area e calcola perimetro.
Ora ogni classe che implementa questa forma deve implementare ed essere obbligata a implementare i metodi calcola area
e calcola perimetro.
Prendiamo l'esempio del triangolo che implementa l'interfaccia di forma Alt+Invio e si può
vedere che questa forma ci dice che si è perso il calcolo del perimetro.
Eccoci qua.
E per il cerchio ho bisogno di implementare la forma e si può vedere che il cerchio implementa, calcola l'area
e calcola il perimetro.
Esattamente.
Il rettangolo è lo stesso.
Si può notare che non c'è alcun errore.
E si può notare che posso I, che è l'interfaccia che implementa il metodo in forma.
Quindi, calcolare l'area è un metodo che viene implementato dalla forma.
Ora se devo crearne un altro.
Forma.
Quindi, ad esempio, quadrato e questa forma quadrata implementa la forma.
Quindi non devo preoccuparmi di quali metodi devo usare qui.
Alt+Invio.
Si può vedere che i metodi calcola area e calcola perimetro sono stati forzati
ad essere implementati in questo quadrato.
Ciò consente di avere una base di codice flessibile e manutenibile, in quanto è possibile aggiungere facilmente altre forme implementando
l'interfaccia delle forme senza modificare il codice esistente.