WEBVTT

00:00.200 --> 00:02.030
Salve, amici, e bentornati.

00:02.030 --> 00:07.400
In questo video, impareremo a conoscere un concetto molto importante della programmazione orientata agli oggetti,

00:07.400 --> 00:08.790
ovvero l'astrazione.

00:08.810 --> 00:16.410
L'astrazione ci permette di nascondere i dettagli non necessari e di mostrare solo le informazioni necessarie.

00:16.430 --> 00:20.480
Questo ci permette di gestire la complessità nascondendo i dettagli.

00:20.600 --> 00:31.190
Un esempio pratico di astrazione può essere rappresentato dai veicoli che possiamo applicare in auto, avviare o fermare i metodi.

00:31.190 --> 00:38.270
Ma non ci addentreremo a fondo nel meccanismo di funzionamento dell'avviamento e dell'arresto del motore di questo

00:38.270 --> 00:39.280
veicolo.

00:39.290 --> 00:47.870
Il vantaggio principale di nascondere il funzionamento del meccanismo di avvio e arresto è che il produttore può

00:47.870 --> 00:54.700
implementare l'arresto e l'avvio da veicoli diversi come automobili, camion e così via.

00:54.710 --> 01:01.530
Facciamo un esempio che ci aiuti a capire meglio l'astrazione di Java: per creare una

01:01.530 --> 01:10.560
classe astratta, è necessario utilizzare la parola chiave abstract, che si trova prima della classe public abstract

01:10.590 --> 01:12.530
class vehicle.

01:12.540 --> 01:19.050
Ora, la classe veicolo non consente di creare un'istanza da essa.

01:19.050 --> 01:29.160
Quindi, se andiamo nel main, se creo un veicolo V tre uguale a nuovo veicolo, si può vedere che ho un errore

01:29.160 --> 01:33.660
e non è una classe concreta come questa.

01:33.660 --> 01:42.060
Devo sostituirlo con uno dei suoi figli, come l'auto o il camion per tornare al veicolo.

01:42.090 --> 01:47.130
Creo un metodo astratto chiamato break.

01:47.130 --> 01:52.860
Quando si crea un metodo astratto, non si definisce alcun corpo.

01:52.860 --> 01:56.760
Ma qual è l'uso di questo metodo astratto?

01:56.760 --> 01:59.010
Passiamo all'auto e al camion.

01:59.040 --> 02:05.010
Fratelli del veicolo e comprendere l'uso del metodo astratto.

02:05.010 --> 02:12.960
Qui abbiamo un errore, perché se passiamo il mouse su questa linea rossa, possiamo vedere che la classe auto

02:12.960 --> 02:19.350
deve essere dichiarata astratta o implementare il metodo astratto Break in vehicle.

02:19.530 --> 02:26.940
Il metodo astratto qui rotto dovrebbe essere implementato nella macchina, quindi alt+ enter.

02:26.940 --> 02:30.720
Oppure si può semplicemente implementare il metodo e fare clic su OK.

02:30.720 --> 02:32.970
Si può notare che lo sovrascriviamo.

02:32.970 --> 02:33.960
La pausa.

02:33.960 --> 02:44.520
In questo caso stiamo forzando la classe car a implementare il metodo break e, se notate, il metodo stop non

02:44.520 --> 02:52.200
sarà implementato e non abbiamo forzato il metodo car a implementarlo.

02:52.200 --> 03:00.780
Ma ogni volta che si definisce un'astrazione, bisogna implementarla nelle classi figlie.

03:01.260 --> 03:01.830
Ora.

03:01.830 --> 03:06.630
Ora creerò qui il Sistema. fuori. stampa.

03:06.630 --> 03:12.450
Stampo l'applicazione di un'interruzione meccanica ogni volta che chiamo il metodo di interruzione.

03:12.450 --> 03:17.400
Passiamo al camion e vediamo che anche il camion presenta un errore.

03:17.400 --> 03:19.740
Dobbiamo implementare il metodo di interruzione.

03:19.740 --> 03:21.060
Fare clic su OK per implementarlo.

03:21.060 --> 03:27.300
E qui sto applicando un sistema idraulico e questo tipo di interruzioni viene utilizzato nei camion.

03:27.330 --> 03:34.860
L'auto applicherà la frenata meccanica, mentre il camion applicherà la frenata idraulica e si può notare che c'è

03:34.860 --> 03:38.190
una diversa implementazione delle frenate.

03:38.190 --> 03:46.860
Quindi tutte le sottoclassi della classe veicolo avranno implementazioni diverse di un metodo di interruzione.

03:46.860 --> 03:49.500
Testiamo questo programma qui.

03:49.500 --> 03:53.730
Ho creato la V 1 come auto e la V 2 come camion.

03:53.760 --> 04:02.400
Inoltre, ogni volta che dichiariamo un metodo come astratto, non possiamo creare oggetti di questa classe astratta.

04:02.400 --> 04:09.900
In questo esempio, possiamo creare un'auto o un veicolo e questo è il concetto di polimorfismo.

04:09.930 --> 04:18.780
Iniziamo con v uno e v due che avviano il motore di v uno e v due e v uno applica il punto di rottura

04:18.780 --> 04:22.440
e v due il punto di rottura.

04:22.440 --> 04:25.940
Testiamo l'interruzione ed eccoci qui.

04:25.950 --> 04:28.920
L'auto si avvia, il camion si avvia.

04:28.920 --> 04:34.110
E qui si applica la rottura meccanica per il veicolo numero uno, che è l'auto, e si applica la

04:34.110 --> 04:37.710
rottura idraulica per il veicolo numero due, che è il camion.

04:37.710 --> 04:47.790
Si può quindi notare che la classe astratta e l'implementazione astratta del metodo break vengono utilizzate in modo

04:47.790 --> 04:54.090
diverso nelle auto e nei camion, che sono i fratelli e i figli del veicolo.

04:54.090 --> 04:59.640
L'astrazione in Java consente di utilizzare classi e oggetti senza preoccupazioni.

04:59.790 --> 05:06.330
Sui dettagli della loro implementazione, rendendo la programmazione più facile e divertente,

05:06.330 --> 05:13.740
proprio come l'uso del freno nei veicoli e i diversi tipi di figli di veicoli come l'auto e il camion in questo

05:13.740 --> 05:14.940
esempio.
