1
00:00:00,360 --> 00:00:05,490
Ciao benvenuto alla sezione sulla programmazione orientata agli oggetti ecco cosa faremo in questa sezione.

2
00:00:06,150 --> 00:00:12,000
Definiremo quale programmazione orientata agli oggetti o O. P. è e rivisitare la nuova parola chiave e

3
00:00:12,000 --> 00:00:13,630
capirla in un po 'di profondità.

4
00:00:13,860 --> 00:00:18,990
Quindi utilizzeremo le funzioni di costruzione per ridurre la duplicazione del codice e refactoring i nostri costruttori

5
00:00:18,990 --> 00:00:20,100
utilizzando call e apply.

6
00:00:20,400 --> 00:00:25,450
Se non hai visto una serie sulla parola chiave, ti consiglio vivamente di farlo prima.

7
00:00:25,590 --> 00:00:30,840
Tutto in questi video svilupperà tutta la nostra conoscenza della parola chiave così come chiama

8
00:00:30,990 --> 00:00:31,920
apply e bind.

9
00:00:31,920 --> 00:00:32,800
Eccoci qui.

10
00:00:33,330 --> 00:00:35,450
Quindi cos'è la programmazione orientata agli oggetti.

11
00:00:35,460 --> 00:00:41,970
In poche parole si tratta di un modello di programmazione basato sull'idea di oggetti e progetti che creano oggetti

12
00:00:42,480 --> 00:00:47,580
che chiamiamo queste classi di progetti e gli oggetti che creiamo dalle nostre classi sono

13
00:00:47,670 --> 00:00:50,650
tradizionalmente chiamate istanze in programmazione orientata agli oggetti.

14
00:00:50,790 --> 00:00:56,220
Ci sforziamo di rendere le nostre classi astratte e modulari in modo da poter riutilizzare facilmente le classi

15
00:00:56,220 --> 00:00:58,680
e condividerle tra tutte le parti di un'applicazione.

16
00:00:58,710 --> 00:01:04,140
Javascript non ha integrato il supporto per le classi a differenza di linguaggi come Python Ruby e Java.

17
00:01:04,370 --> 00:01:10,980
Possiamo imitare il comportamento delle classi usando Javascript ha funzioni e oggetti prima di vedere come usare le

18
00:01:10,980 --> 00:01:13,910
funzioni per imitare il comportamento delle classi d'acqua.

19
00:01:14,040 --> 00:01:17,610
Vediamo perché questa tecnica di programmazione è abbastanza utile.

20
00:01:17,610 --> 00:01:22,040
Immagina per un secondo che sei un architetto e hai il compito di costruire 4 case.

21
00:01:22,230 --> 00:01:27,440
Ogni casa avrà un numero di bagni da letto e un numero di piedi quadrati.

22
00:01:27,450 --> 00:01:30,690
La prima cosa che potrebbe venire in mente è di creare un oggetto per ogni casa.

23
00:01:30,690 --> 00:01:32,010
Dobbiamo fare.

24
00:01:32,190 --> 00:01:37,710
una volta che iniziamo a dover creare più di pochi oggetti, le cose diventano molto ripetitive e noiose.

25
00:01:37,830 --> 00:01:38,940
Sembra abbastanza ragionevole ma

26
00:01:39,510 --> 00:01:43,830
Rifattiamo questo codice leggendo un progetto per capire come dovrebbe essere una casa.

27
00:01:44,100 --> 00:01:49,380
Facciamo una funzione che quando usata costruiremo un oggetto casa in javascript.

28
00:01:49,380 --> 00:01:52,650
Chiamiamo le funzioni di costruzione di funzioni speciali.

29
00:01:52,650 --> 00:01:56,100
Ora vediamo come si presenta la funzione del nostro costruttore per una casa.

30
00:01:56,340 --> 00:01:59,790
Subito dopo vediamo che il nome della funzione è in maiuscolo.

31
00:01:59,790 --> 00:02:01,950
Questo non cambia nulla riguardo alla funzione.

32
00:02:02,040 --> 00:02:06,960
È solo best practice e convenzioni in modo che altri sviluppatori sappiano che questa è una funzione di costruzione.

33
00:02:07,920 --> 00:02:11,250
La prossima cosa che vediamo è che la parola chiave è tornata.

34
00:02:11,250 --> 00:02:12,900
Proprio quando pensavi di aver finito con quello.

35
00:02:13,050 --> 00:02:15,680
Se non hai voglia di quella serie, torna indietro e fallo.

36
00:02:15,840 --> 00:02:20,110
Altrimenti il ​​resto della serie sarà abbastanza confuso in questa funzione.

37
00:02:20,110 --> 00:02:25,170
Stiamo associando le proprietà alla parola chiave this stiamo sperando in qualche modo che quando

38
00:02:25,410 --> 00:02:30,170
chiamiamo la funzione verrà restituito un nuovo oggetto con i valori specificati in questa funzione.

39
00:02:30,190 --> 00:02:32,070
Comunque manca qualcosa qui.

40
00:02:32,070 --> 00:02:37,140
prima variabile di casa, la stiamo impostando uguale al risultato della funzione di casa chiamata.

41
00:02:37,140 --> 00:02:38,070
Se guardiamo la

42
00:02:38,070 --> 00:02:41,460
Il problema è che la nostra funzione di casa non restituisce nulla.

43
00:02:41,550 --> 00:02:43,840
Pertanto la funzione restituirà undefined.

44
00:02:44,130 --> 00:02:45,690
Quindi, come possiamo risolvere questo problema.

45
00:02:45,690 --> 00:02:49,710
La risposta si trova in un'altra parola chiave speciale che esplorerà nel prossimo video.

46
00:02:49,770 --> 00:02:50,820
La nuova parola chiave.

47
00:02:50,880 --> 00:02:51,650
Ci vediamo lì.
