1
00:00:02,180 --> 00:00:04,370
Ciao, questo è che non vogliono fare.

2
00:00:04,400 --> 00:00:05,500
E bentornato.

3
00:00:05,690 --> 00:00:12,560
In questo video esamineremo la soluzione per questo esercizio insieme ad almeno una delle migliori pratiche

4
00:00:12,710 --> 00:00:14,710
nell'implementazione di una soluzione.

5
00:00:14,700 --> 00:00:20,780
Pertanto, anche se hai completato correttamente la soluzione, potrebbe comunque essere utile per te guardare questo

6
00:00:21,050 --> 00:00:24,070
video perché discuteremo di questa best practice.

7
00:00:24,140 --> 00:00:27,170
Spero che tu sia in grado di implementare correttamente la soluzione.

8
00:00:27,170 --> 00:00:34,460
In caso contrario, questo video dovrebbe essere davvero molto utile e sicuramente rafforzerebbe i concetti che sono stati

9
00:00:34,460 --> 00:00:35,550
appresi finora.

10
00:00:36,390 --> 00:00:39,740
Nel caso in cui non potessi iniziare, non preoccuparti.

11
00:00:39,820 --> 00:00:42,040
Non devi essere scoraggiato da questo.

12
00:00:42,100 --> 00:00:48,330
Questa discussione dovrebbe essere molto utile poiché siamo ancora agli inizi del corso.

13
00:00:48,370 --> 00:00:55,330
Potrebbero essere necessari alcuni esercizi per familiarizzare con un programma che può accadere se sei completamente

14
00:00:55,390 --> 00:00:56,910
nuovo alla programmazione.

15
00:00:56,920 --> 00:01:04,180
Tuttavia spero che tu abbia fatto del tuo meglio per implementare l'esercizio in quanto questi esercizi sono

16
00:01:04,180 --> 00:01:08,150
stati progettati per testare ciò che hai imparato finora.

17
00:01:08,200 --> 00:01:14,090
Se non è stato possibile completare l'esercizio, implementarlo mentre discutiamo la soluzione qui.

18
00:01:14,290 --> 00:01:17,880
Più ti importa più ti sentirai a tuo agio con la programmazione.

19
00:01:18,490 --> 00:01:24,720
E per quelli di voi che sono in grado di completare la soluzione, come ho detto prima,

20
00:01:24,830 --> 00:01:32,680
raccomanderei comunque WW visto che abbiamo anche discusso almeno di una buona pratica, specialmente nei dump di implementare i costruttori e

21
00:01:32,990 --> 00:01:34,720
questo può essere utile.

22
00:01:35,160 --> 00:01:37,910
Quindi tre cose di cui parleremo qui.

23
00:01:38,010 --> 00:01:39,850
La prima è la soluzione corretta.

24
00:01:40,080 --> 00:01:45,720
Poi vedremo anche l'aggiunta di migliori pratiche in termini di intimidazione e vedremo

25
00:01:45,730 --> 00:01:49,770
anche gli errori comuni che gli studenti stavano facendo.

26
00:01:49,800 --> 00:01:56,940
Devo aver esaminato almeno alcune centinaia di soluzioni finora e ho potuto vedere alcuni errori comuni che sono

27
00:01:56,940 --> 00:01:58,100
stati fatti.

28
00:01:58,130 --> 00:02:04,100
Posso discuterne e questo può aiutare a evitare tali errori in futuro.

29
00:02:04,260 --> 00:02:07,240
Quindi andiamo forte e guardiamo cosa abbiamo qui.

30
00:02:07,410 --> 00:02:09,780
Quindi questo è il mio editor di Eclipse.

31
00:02:09,780 --> 00:02:14,940
Lo sto mostrando nell'editor degli script e questa è la classe dell'istruttore, quindi è stato fornito

32
00:02:15,120 --> 00:02:21,200
un modello di questo e questa è la classe del libro, quindi è stata fornita anche la classe del libro.

33
00:02:21,600 --> 00:02:24,200
Quindi andiamo avanti e osserviamo la classe dell'istruttore.

34
00:02:24,210 --> 00:02:26,540
Quindi questi sono i diversi campi qui.

35
00:02:26,570 --> 00:02:27,620
Fuori dall'istruttore.

36
00:02:27,620 --> 00:02:29,240
Quindi questo è l'ID dell'istruttore.

37
00:02:29,250 --> 00:02:35,520
Questo avrebbe il Dipartimento di titolo medio e i libri che l'istruttore ha scritto in modo che io faccia.

38
00:02:35,530 --> 00:02:38,700
Ecco il titolo dell'istruttore.

39
00:02:38,700 --> 00:02:41,030
Pochi studenti si stavano confondendo con questo.

40
00:02:41,040 --> 00:02:46,120
Pensavano che questo fosse in qualche modo correlato al titolo del libro e

41
00:02:46,170 --> 00:02:52,320
non è il caso perché il titolo dell'istruttore potrebbe essere qualcosa come assistente professore o professore o

42
00:02:52,320 --> 00:02:53,180
professore associato.

43
00:02:53,460 --> 00:02:56,320
OK, ora andiamo avanti e guardiamo i costruttori.

44
00:02:56,370 --> 00:02:59,040
Quindi questi sono i quattro costruttori che abbiamo.

45
00:02:59,550 --> 00:03:01,580
Quindi questi sono tutti i costruttori caricati.

46
00:03:01,950 --> 00:03:08,160
E questo è quello dei costruttori e se interrompi questo costruttore invocherà

47
00:03:08,820 --> 00:03:12,650
questo costruttore usando questa istruzione di invocazione.

48
00:03:12,690 --> 00:03:19,530
Quindi questo particolare il secondo costruttore ha parametri e viene invocato da questo e questo e questo

49
00:03:19,540 --> 00:03:22,870
particolare costrutto che viene invocato da qui.

50
00:03:23,280 --> 00:03:31,290
E l'ultimo è invocato dal terzo e in ciascuno dei costruttori stiamo inizializzando una delle

51
00:03:31,290 --> 00:03:32,940
variabili di istanza.

52
00:03:33,000 --> 00:03:38,100
Quindi i costruttori sono usati per inizializzare le variabili inizializzando lo stato.

53
00:03:38,280 --> 00:03:44,280
Ma il modo in cui lo stiamo facendo mentre stiamo invocando i costruttori sovraccaricati per farlo.

54
00:03:44,480 --> 00:03:50,150
E in ognuno dei costruttori sovraccaricati stiamo iniziando a scappare dalle variabili di istanza.

55
00:03:50,400 --> 00:03:53,720
Ecco cosa sta succedendo qui su questa affermazione.

56
00:03:53,830 --> 00:03:55,490
Noi chiamiamo ciò che deve essere fatto.

57
00:03:55,670 --> 00:03:57,960
Intendevo solo nel costruttore.

58
00:03:58,140 --> 00:04:02,940
Se abbiamo questa dichiarazione di invocazione nel costruttore, deve essere la prima.

59
00:04:03,130 --> 00:04:09,060
E per accedere alle variabili di istanza, stiamo usando questo riferimento.

60
00:04:09,100 --> 00:04:15,830
Pochi studenti come si sono confusi tra questo in posizione su questo riferimento e sono completamente diversi.

61
00:04:15,840 --> 00:04:19,560
Questa interazione è solo per invocare un costruttore e un disordine sovraccaricati.

62
00:04:19,560 --> 00:04:26,970
La Francia è utilizzata per accedere a una variabile di istanza NBP sono necessari solo se esiste una variabile

63
00:04:26,970 --> 00:04:32,040
locale nel costruttore che nasconde la variabile di istanza per esempio qui.

64
00:04:32,040 --> 00:04:32,910
B Come libri.

65
00:04:33,030 --> 00:04:40,650
Quindi questo è il parametro costruttore ed è una variabile locale e nasconde o oscura la variabile di

66
00:04:40,740 --> 00:04:43,910
istanza del libro che qui è definita.

67
00:04:43,980 --> 00:04:47,110
È un array off box.

68
00:04:47,210 --> 00:04:54,470
Quindi, se accedete direttamente ai libri, si riferirà a questa particolare variabile locale perché nasconde

69
00:04:54,470 --> 00:04:56,640
la variabile di istanza.

70
00:04:56,720 --> 00:05:02,390
Quindi avrebbe questa idea se si desidera accedere alla variabile di istanza, quindi si

71
00:05:02,450 --> 00:05:04,240
dovrebbe usare questo riferimento.

72
00:05:04,250 --> 00:05:10,550
Quindi questo è quello che abbiamo qui con i costruttori e torneremo al costruttore alla fine

73
00:05:10,550 --> 00:05:12,660
quando discuteremo delle migliori pratiche.

74
00:05:12,680 --> 00:05:14,950
Ora qui diamo un'occhiata ai metodi ora.

75
00:05:15,140 --> 00:05:20,620
Quindi questo è il primo metodo che ottiene i dati più recenti dei libri e restituisce una stringa.

76
00:05:20,650 --> 00:05:26,930
Quindi si suppone che restituisca il titolo dell'ultimo libro memorizzato nei libri.

77
00:05:27,280 --> 00:05:27,590
OK.

78
00:05:27,680 --> 00:05:35,270
Quindi qui la corte sta andando al codice cliente il codice che sta invocando questa classe creerebbe un oggetto istruttore

79
00:05:35,270 --> 00:05:43,010
e passerebbe tutto lo staff qui su uno di essi come libri e i libri hanno già un mucchio di

80
00:05:43,010 --> 00:05:43,710
libri.

81
00:05:43,790 --> 00:05:49,730
Si suppone che Unbe legga e l'ultimo elemento che è considerato come il libro più recente

82
00:05:49,730 --> 00:05:54,830
che è stato aggiunto in quel particolare libro sia per leggere l'ultimo libro.

83
00:05:54,920 --> 00:06:03,550
Vorremmo vedere i libri presi in prestito meno uno, abbiamo bisogno di meno uno perché l'indicizzazione e Arrius inizia da zero.

84
00:06:03,650 --> 00:06:04,790
Ecco perché abbiamo bisogno di farlo.

85
00:06:04,790 --> 00:06:09,620
Se fosse iniziato da uno, avremmo detto che i libri non sono stati appresi ma poiché inizia da zero.

86
00:06:09,620 --> 00:06:11,030
Dobbiamo dire meno uno.

87
00:06:11,180 --> 00:06:16,560
Se hai appena detto libri non molto, sarebbe fuori dai confini e Ari e sarebbe

88
00:06:16,810 --> 00:06:17,750
scritto a.

89
00:06:18,030 --> 00:06:18,420
OK.

90
00:06:18,530 --> 00:06:19,960
Quindi questo.

91
00:06:20,240 --> 00:06:20,490
OK.

92
00:06:20,510 --> 00:06:26,440
Questa spedizione qui essenzialmente sta restituendo l'ultimo negozio di libri nei libri letti.

93
00:06:26,600 --> 00:06:27,940
Quindi è un oggetto libro.

94
00:06:28,080 --> 00:06:33,800
E dato che dovremmo restituire il titolo del libro, siamo solo in Wilkin, vai al metodo

95
00:06:34,130 --> 00:06:36,020
che restituirebbe una stringa.

96
00:06:36,050 --> 00:06:38,770
Quindi se guardi il libro di classe Djala.

97
00:06:38,810 --> 00:06:44,000
Quindi questa è la classe del libro e questo è il costruttore e c'è solo una singola variabile di istanza

98
00:06:44,000 --> 00:06:44,700
chiamata Titolo.

99
00:06:45,080 --> 00:06:49,430
E possiamo impostarlo da qui e possiamo ottenere che io possa qui.

100
00:06:49,470 --> 00:06:55,800
OK possiamo diventare più ristretti sotto il titolo del libro, quindi puoi farlo oppure puoi anche accedere

101
00:06:55,800 --> 00:06:57,150
direttamente al titolo.

102
00:06:57,240 --> 00:06:57,860
Si può dire.

103
00:06:57,890 --> 00:07:01,630
Preso qui invece di accedere al metodo di acquisizione dei dati.

104
00:07:01,950 --> 00:07:03,160
Quindi puoi farlo anche tu.

105
00:07:03,450 --> 00:07:05,000
Ma non dovresti farlo.

106
00:07:05,130 --> 00:07:11,150
Come apprendiamo più avanti in una o due sezioni successive, quando ci occupiamo di nascondere le informazioni.

107
00:07:11,310 --> 00:07:17,930
Quindi vedremo che dovremmo sempre accedere a quei valori i valori dei campi.

108
00:07:18,020 --> 00:07:19,580
Questi sono tali tipi di metodi.

109
00:07:19,620 --> 00:07:23,690
Questi sono chiamati metodi meno accessibili perché accediamo a qualcosa.

110
00:07:23,910 --> 00:07:29,430
Ma non dovremmo accedere direttamente ai campi e per impedirle di farlo.

111
00:07:29,430 --> 00:07:30,950
Usiamo la parola chiave privata.

112
00:07:31,230 --> 00:07:36,270
Ma dal momento che siamo all'inizio del corso, non entreremo più in pubblico su tutte

113
00:07:36,270 --> 00:07:39,430
quelle cose che sono chiamate modificatori di accesso.

114
00:07:39,480 --> 00:07:45,870
Quindi questo è solo per tua informazione che quando stiamo accedendo allo stato oa un particolare oggetto

115
00:07:45,870 --> 00:07:50,920
dobbiamo usare metodi di accesso come questo invece di accedere direttamente a goofiness.

116
00:07:51,180 --> 00:07:52,850
Quindi è solo per tua informazione.

117
00:07:52,890 --> 00:07:57,430
Quindi non è una buona pratica accedere direttamente alla pipe in campo.

118
00:07:57,460 --> 00:08:00,800
E che idealmente dovrei essere dichiarato privato.

119
00:08:00,810 --> 00:08:05,720
Allo stesso modo tutte queste caratteristiche dovrebbero essere dichiarate come private, ma è qualcosa che le persone

120
00:08:05,760 --> 00:08:06,890
studiano in seguito.

121
00:08:07,260 --> 00:08:08,600
Quindi è così ora.

122
00:08:08,610 --> 00:08:12,410
Pochi studenti in realtà molti studenti hanno fatto qualcosa del genere.

123
00:08:12,420 --> 00:08:19,560
Hanno detto che i libri non vanno meglio perché presumevano che i libri che leggevo avrebbero sempre come solo

124
00:08:19,890 --> 00:08:21,000
tre libri.

125
00:08:21,000 --> 00:08:27,030
Questo perché nella descrizione del problema ho dato un esempio in cui i libri o sono

126
00:08:27,030 --> 00:08:32,900
passati qui aveva tre libri e per qualche ragione hanno pensato che sarà sempre così.

127
00:08:33,010 --> 00:08:35,430
Quindi non è il caso che fosse solo un esempio.

128
00:08:35,490 --> 00:08:38,460
È stato anche menzionato nella descrizione del problema.

129
00:08:38,460 --> 00:08:43,800
Quindi la matrice che viene approvata può avere tre libri e metà dei libri o può contenere 100 libri.

130
00:08:44,100 --> 00:08:46,890
Quindi non puoi fare così non puoi.

131
00:08:47,140 --> 00:08:51,900
Corda calda il valore dell'indice come questo è chiamato come codifica a mano.

132
00:08:52,020 --> 00:08:54,760
In termini di programmazione non dovresti farlo.

133
00:08:54,780 --> 00:08:57,030
Deve essere generico in questo me.

134
00:08:57,270 --> 00:09:00,580
Questo è uno degli errori più comuni fatti da pochi studenti.

135
00:09:00,950 --> 00:09:06,810
Ora diamo un'occhiata al secondo metodo adottato metodo in modo che il metodo di libro sta prendendo

136
00:09:06,870 --> 00:09:12,170
questi due parametri nel prossimo Titan e ha bisogno di aggiornare il titolo del libro.

137
00:09:12,390 --> 00:09:15,380
Questo particolare indice nei libri è così.

138
00:09:15,390 --> 00:09:21,170
La seconda affermazione è così che stai dicendo che i libri non sono indicizzati e vogliamo aggiornare quelle idee.

139
00:09:21,180 --> 00:09:23,340
Quindi stiamo lavorando per impostare un metodo più stretto.

140
00:09:23,460 --> 00:09:25,830
E stiamo passando la nuova presa.

141
00:09:25,830 --> 00:09:27,450
OK, ecco cosa fa

142
00:09:27,600 --> 00:09:32,760
Ma deve restituire il titolo di anatra è stato inserito e che era lì prima.

143
00:09:32,760 --> 00:09:36,910
Questo aggiornamento è stato fatto su Vinita in cui è stata scritta un'istanza di libro qui.

144
00:09:36,920 --> 00:09:37,510
OK.

145
00:09:37,680 --> 00:09:43,400
Quindi quello che stiamo facendo è creare una variabile temporanea e la chiameremo come un vecchio libro.

146
00:09:43,410 --> 00:09:51,240
Quindi il tipo di lettore è rotto e stiamo creando un oggetto nuovo di zecca qui e stiamo assegnando

147
00:09:51,240 --> 00:09:54,640
il titolo del libro a questo particolare indice.

148
00:09:54,980 --> 00:10:01,490
Quindi pensiamo che i libri spesso accanto alla porta ottengano il titolo e che il titolo venga assegnato qui che

149
00:10:01,490 --> 00:10:03,530
viene archiviato nell'oggetto del libro.

150
00:10:03,670 --> 00:10:07,030
E poi, dopo averlo fatto, ci stiamo aggiornando.

151
00:10:07,070 --> 00:10:12,810
Amo questo libro o nella seconda dichiarazione e stiamo tornando al vecchio libro.

152
00:10:12,910 --> 00:10:20,210
Quindi il vecchio libro ha essenzialmente il titolo del libro e questo particolare indice prima di essere aggiornato.

153
00:10:20,350 --> 00:10:25,790
Questo è tutto ciò che stiamo facendo e stiamo usando una variabile temporanea.

154
00:10:25,840 --> 00:10:28,000
Pochi studenti hanno appena avuto questo.

155
00:10:28,030 --> 00:10:34,960
Queste due affermazioni e stavano leggendo i libri nel prossimo anno, ma non sarebbe corretto perché in quel

156
00:10:35,310 --> 00:10:39,430
caso l'oggetto che si sta scrivendo avrà il nuovo titolo.

157
00:10:39,450 --> 00:10:42,340
Quindi non è quello che ci aspettiamo qui.

158
00:10:42,340 --> 00:10:43,620
Quindi è sbagliato.

159
00:10:44,370 --> 00:10:51,450
Quindi è necessario utilizzare variabili temporanee in tali scenari se si desidera memorizzare il valore prima che venga

160
00:10:51,450 --> 00:10:52,150
aggiornato.

161
00:10:52,260 --> 00:10:53,920
Quindi è quello che vorresti fare.

162
00:10:53,950 --> 00:10:58,910
E la seconda cosa è stata che alcuni studenti lo hanno effettivamente implementato e lo sarà.

163
00:10:59,050 --> 00:11:02,130
Quindi è solo un modo in cui lo implementano ma non è corretto.

164
00:11:02,400 --> 00:11:07,890
Quindi le ultime due affermazioni erano corrette e hanno usato una variabile temporanea ma

165
00:11:08,070 --> 00:11:14,200
con una variabile temporanea invece di creare un nuovo oggetto hanno appena assegnato i libri all'indice.

166
00:11:14,220 --> 00:11:23,040
Quindi, una volta che lo facciamo, sappiamo che entrambi i libri offrono indici e builder di libri antichi della stessa istanza

167
00:11:23,040 --> 00:11:24,240
di libri.

168
00:11:24,240 --> 00:11:31,380
Quindi, quando hai aggiunto il titolo qui usando i libri su indice, ti darebbe anche lo stesso titolo.

169
00:11:31,410 --> 00:11:37,170
Se vedrete che solo il cane del libro si sta facendo diking, è quello che la mia migliore ipotesi è discutere perché

170
00:11:37,170 --> 00:11:38,250
stiamo leggendo questo libro.

171
00:11:38,490 --> 00:11:44,500
E quando faccio il vecchio libro non capisco l'idea di leggere il titolo che è stato aggiornato qui.

172
00:11:44,790 --> 00:11:51,900
OK, quindi stiamo avendo lo stesso oggetto libro a cui fanno riferimento due variabili diverse.

173
00:11:51,900 --> 00:11:54,120
Uno è libri e il prossimo uno è orribile.

174
00:11:54,300 --> 00:12:01,260
E questo è quello che abbiamo discusso durante un passaggio per il meccanismo del valore quando siamo in

175
00:12:01,260 --> 00:12:05,190
quella particolare conferenza e anche nella lezione precedente all'esercizio.

176
00:12:05,320 --> 00:12:11,330
Quindi, se sei ancora confuso, torna indietro e guarda quelle due lezioni su di esso dovrebbe essere chiaro per te.

177
00:12:11,400 --> 00:12:13,680
Quindi questo non è quello che dobbiamo fare.

178
00:12:13,710 --> 00:12:19,100
Dobbiamo creare un nuovo oggetto e quindi dobbiamo impostare l'I-T.

179
00:12:19,240 --> 00:12:20,360
OK, questa è la cosa.

180
00:12:20,530 --> 00:12:23,820
Ed ecco una seconda versione del peccato.

181
00:12:24,300 --> 00:12:24,640
OK.

182
00:12:24,640 --> 00:12:29,210
Quindi qui quello che stiamo facendo è che le ultime due dichiarazioni sono le stesse.

183
00:12:29,380 --> 00:12:37,830
Ma invece di lavorare su questo particolare titolo del mistico del costruttore come argomento invochiamo qui il costruttore

184
00:12:38,080 --> 00:12:39,320
di sblocco.

185
00:12:39,580 --> 00:12:46,300
Quindi se ricordi che ho detto che potrebbero esserci dei cambiamenti che devi fare nella classe del libro ma

186
00:12:46,300 --> 00:12:50,390
non è realmente necessario come mostrato da questo particolare metodo.

187
00:12:50,710 --> 00:12:57,380
Ma il cambiamento che puoi fare è introdurre un nuovo o un costruttore qui.

188
00:12:57,490 --> 00:13:01,280
E se lo fai puoi usare questo tipo di logica.

189
00:13:01,300 --> 00:13:07,160
Quindi stiamo creando un oggetto libro vuoto e stiamo impostando un buon titolo con il titolo del libro.

190
00:13:07,210 --> 00:13:08,610
Questo particolare indice.

191
00:13:08,690 --> 00:13:10,870
OK, è solo un modo diverso di implementare.

192
00:13:10,940 --> 00:13:19,130
Ma per questo abbiamo bisogno di aggiungere il costruttore più qui perché il compilatore non agirà in questo modo, sappiamo che se

193
00:13:19,410 --> 00:13:25,610
non c'è alcun costruttore all'interno di quella classe allora il compilatore si inserirà automaticamente nel nostro costruttore

194
00:13:25,800 --> 00:13:29,490
e questo verrà aggiunto in un byte court .

195
00:13:29,720 --> 00:13:34,980
Ma poiché la classe ha già un costruttore, non lo farà.

196
00:13:35,030 --> 00:13:41,550
Quindi se hai bisogno di un r costruttore in tal caso è necessario aggiungere manualmente il costruttore.

197
00:13:41,600 --> 00:13:45,530
Tutto ciò che hai in questo particolare costruttore.

198
00:13:45,600 --> 00:13:47,120
Quindi questo cambia.

199
00:13:47,160 --> 00:13:48,920
Ma non era veramente richiesto.

200
00:13:49,110 --> 00:13:52,370
E finalmente ecco il terzo un grande libro.

201
00:13:52,400 --> 00:13:58,370
Il secondo metodo di aggiornamento che restituisce anche il libro con i vecchi dati.

202
00:13:58,530 --> 00:14:00,600
Quindi ci vuole un indice e prenotare.

203
00:14:00,600 --> 00:14:07,120
In questo caso stiamo creando una variabile temporanea, ma stiamo assegnando libri fuori indice.

204
00:14:07,200 --> 00:14:14,190
OK il libro che è all'indice e poi a quei libri sull'indice stiamo assegnando il libro che è

205
00:14:14,280 --> 00:14:15,870
passato nel metodo.

206
00:14:16,050 --> 00:14:23,370
Quindi, in questo caso, OK a questo dopo la falsa dichiarazione, anche il libro di nascita dei libri fuori indice

207
00:14:23,460 --> 00:14:25,670
sta vedendo spesso lo stesso oggetto.

208
00:14:25,980 --> 00:14:32,810
Ma dopo questa affermazione i libri di indice fanno riferimento a un nuovo oggetto che è una sorta di

209
00:14:32,810 --> 00:14:41,170
amici di bytebook mentre il vecchio libro dice ancora che il vecchio oggetto del libro a cui è stato assegnato è cresciuto in questo modo.

210
00:14:42,070 --> 00:14:45,910
Quindi qui abbiamo due oggetti diversi che offrono questo.

211
00:14:46,120 --> 00:14:52,680
Uno di questi è contro il mio vecchio libro e l'altro è referenziato da libri di indice e

212
00:14:52,680 --> 00:14:55,050
B sono scritti nel libro qui.

213
00:14:55,060 --> 00:14:57,090
Questo ha detto che è un bedacht.

214
00:14:57,580 --> 00:14:59,400
Spero che questo sia anche un corriere.

215
00:14:59,530 --> 00:15:04,890
Quindi, i metodi del libro stanno aggiornando i libri in questo particolare indice.

216
00:15:04,990 --> 00:15:12,940
Ma le meta metriche stesse le istanze di libri scritti che hanno il titolo prima di aggiornare il titolo del libro

217
00:15:12,940 --> 00:15:16,470
in questo allegato prima che venisse aggiornato ora.

218
00:15:16,480 --> 00:15:21,910
Pochi studenti lo hanno fatto e cito un esempio al posto dei libri di indice come fa questo libro

219
00:15:21,920 --> 00:15:25,970
con i cani che poi non è proprio sbagliato, ma non è obbligatorio.

220
00:15:26,010 --> 00:15:27,960
Avresti detto questo non libri.

221
00:15:28,160 --> 00:15:34,630
Quando c'è una variabile locale all'interno di questo metodo che aveva il NE che è stato nei libri.

222
00:15:34,940 --> 00:15:40,100
Ok se questo fosse il caso, allora nasconderebbe la variabile di istanza.

223
00:15:40,270 --> 00:15:46,870
Suppongo che possiamo usare questo riferimento ma qui poiché non esiste una variabile locale chiamata libri, possiamo accedere

224
00:15:46,870 --> 00:15:49,160
direttamente al supporto di istanza.

225
00:15:49,540 --> 00:15:50,910
OK, questa è una cosa.

226
00:15:51,020 --> 00:15:54,280
Anche su Lyneham non è necessario il metodo principale.

227
00:15:54,400 --> 00:15:56,590
Ma fammi vedere più tardi.

228
00:15:56,600 --> 00:15:59,200
Per prima cosa fammi parlare delle migliori pratiche.

229
00:15:59,200 --> 00:16:01,000
Un'altra buona pratica.

230
00:16:01,450 --> 00:16:09,370
Quindi, invece di dichiarare in questo modo, possiamo farlo in un albero leggermente diverso che è una

231
00:16:09,370 --> 00:16:10,480
normale convenzione.

232
00:16:10,480 --> 00:16:14,280
Quindi permettimi di copiare questo OK.

233
00:16:14,320 --> 00:16:17,850
Quindi ora quello che faremo è che abbiamo questo dot book.

234
00:16:17,860 --> 00:16:20,350
Vediamo anche Oppy this

235
00:16:24,260 --> 00:16:32,530
here Nome id tutti i film saranno in stanchly di I verranno inizializzati qui e poi B

236
00:16:36,110 --> 00:16:40,180
come funziona il tuo titolo e questo dipartimento DOT.

237
00:16:40,260 --> 00:16:42,870
Quindi tutti i campi sono inizializzati qui.

238
00:16:43,490 --> 00:16:51,570
OK, questo è come il costruttore principale e possiamo ancora vedere come questi

239
00:16:51,660 --> 00:16:58,150
costruttori, ad esempio, possono capire come questo costruttore qui.

240
00:16:58,380 --> 00:17:10,180
Ma questo invocherà il ferro constrictor per il reparto in cui passerà anche i libri del Dipartimento Buckhart.

241
00:17:10,310 --> 00:17:17,140
Non è come i libri qui perché solo quattro dei parametri qui passerebbe un valore predefinito.

242
00:17:17,150 --> 00:17:18,970
In questo caso possiamo passarlo.

243
00:17:19,300 --> 00:17:22,950
Quindi la stessa cosa può essere fatta per tutti i costruttori.

244
00:17:23,000 --> 00:17:25,790
Quindi in un caso possiamo anche come entrambi.

245
00:17:25,790 --> 00:17:27,080
Fammi solo copiarli.

246
00:17:31,490 --> 00:17:34,040
Questo e questo sarebbe

247
00:17:37,040 --> 00:17:45,050
il tipo 2 e può iscrivere questo costruttore o farlo direttamente nel costruttore principale.

248
00:17:45,220 --> 00:17:49,930
Ma se coinvolge il costruttore principale ha bisogno di passare valori per dipartimento sui libri.

249
00:17:49,930 --> 00:17:58,450
Ancora una volta può passare alcuni valori predefiniti come questo e B può rimuovere la casa e la stessa cosa qui.

250
00:18:00,420 --> 00:18:03,410
Puoi testarlo e ti darà lo stesso risultato.

251
00:18:03,630 --> 00:18:08,510
È solo un modo diverso di inizializzare tutto.

252
00:18:08,550 --> 00:18:11,440
In modo che dette stringhe possano essere assegnate null.

253
00:18:11,730 --> 00:18:13,320
Ed è per questo che stiamo passando NULL.

254
00:18:13,530 --> 00:18:19,590
Quindi tutti questi tre costruttori obiettano nel camminare su questo particolare costruttore di istruttori che

255
00:18:19,590 --> 00:18:21,660
sta facendo tutta l'inizializzazione.

256
00:18:21,780 --> 00:18:25,920
Quindi tutte le inizializzazioni avvengono in un singolo costruttore.

257
00:18:25,920 --> 00:18:28,640
Ma qui non era il caso.

258
00:18:28,680 --> 00:18:34,740
Quindi questo in questo particolare costruttore stava inizializzando due campi e ognuno degli

259
00:18:34,950 --> 00:18:41,040
altri costruttori stava invocando un costruttore sovraccarico, ma stiamo inizializzando solo una delle funzionalità.

260
00:18:41,070 --> 00:18:42,710
Quindi questo sta inizializzando i libri.

261
00:18:42,710 --> 00:18:44,890
Questo è dipartimento e questo è scrivere.

262
00:18:44,910 --> 00:18:48,940
Quindi la cosa bella di questo è che tutti sono fatti in un unico posto.

263
00:18:49,130 --> 00:18:49,370
OK.

264
00:18:49,380 --> 00:18:54,760
Bill, quindi, come tutta la logica qui e tutti gli altri costruttori stiano camminando in quella direzione.

265
00:18:54,800 --> 00:18:59,190
Quindi anche nella libreria Java molte classi sono scritte in questo modo.

266
00:18:59,200 --> 00:19:05,040
Quindi puoi considerarlo come una convenzione, ma rigorosamente. Non devi seguirlo, puoi ancora

267
00:19:05,040 --> 00:19:08,590
farlo, ma questa è la normale convenzione.

268
00:19:08,730 --> 00:19:13,140
Quindi tutti questi diversi costrutti finirebbero di più ma non dovrebbe essere così.

269
00:19:13,140 --> 00:19:17,510
Questo può anche migliorare questo e questo può aiutare a riparare il costruttore.

270
00:19:17,550 --> 00:19:18,880
Anche questo è possibile.

271
00:19:19,210 --> 00:19:24,630
E un'altra cosa da notare è solo perché abbiamo sovraccaricato i costruttori e

272
00:19:24,630 --> 00:19:31,770
quindi non supponiamo che un costruttore sovraccarico invochi un altro costruttore usando questo richiamo che non deve essere necessariamente

273
00:19:31,770 --> 00:19:32,620
le chiavi.

274
00:19:32,640 --> 00:19:34,720
È solo che è così.

275
00:19:34,740 --> 00:19:41,130
In questo caso, a volte è possibile che i costruttori siano sovraccaricati, ma non ci sono dichiarazioni di invocazione

276
00:19:41,130 --> 00:19:42,240
tra di loro.

277
00:19:42,240 --> 00:19:46,780
Quindi non si invocheranno a vicenda e saranno completamente indipendenti l'uno dall'altro.

278
00:19:46,980 --> 00:19:49,390
Quindi puoi anche incontrare questi casi.

279
00:19:49,670 --> 00:19:51,620
OK, questo è uno.

280
00:19:51,620 --> 00:19:58,560
Convenzioni sulle best practice per avere un costruttore principale e tutti gli altri costruttori nel camminare e il gioco

281
00:19:58,860 --> 00:19:59,620
è fatto.

282
00:19:59,890 --> 00:20:03,000
E un'altra cosa è che puoi vedere che non esiste un metodo principale qui.

283
00:20:03,210 --> 00:20:09,300
Quindi per la soluzione se si sta andando a qualcosa che non abbiamo bisogno di un metodo principale, il metodo principale è

284
00:20:09,360 --> 00:20:12,130
necessario solo se si vuole eseguirlo dalla riga di comando.

285
00:20:12,300 --> 00:20:14,580
OK, quindi è principalmente a scopo di test.

286
00:20:14,820 --> 00:20:21,690
Ma per poterlo inserire nella piattaforma come soluzione, non hai nemmeno bisogno di me.

287
00:20:21,870 --> 00:20:26,930
Quindi pensa che questa classe sia usata come parte di un programma più ampio.

288
00:20:26,940 --> 00:20:32,370
Cose che pensano che esista un sistema di gestione universitaria e che il sistema di gestione universitaria

289
00:20:32,370 --> 00:20:38,250
abbia una sorta di interfaccia utente in cui gli istruttori si registreranno nel sito e nel registro dei

290
00:20:38,250 --> 00:20:38,890
fornitori.

291
00:20:38,940 --> 00:20:44,390
Creeremo un'istanza per creare un oggetto di un particolare istruttore e anche per quel processo impostato

292
00:20:44,500 --> 00:20:47,430
e archiviato nel database o qualcosa del genere.

293
00:20:47,430 --> 00:20:52,680
Allo stesso modo, ho un caso di test che ho installato per testare questo programma.

294
00:20:52,680 --> 00:20:58,420
Puoi anche pensare di schivare il programma Petkus nel programma ospite dell'unità AJ come quel Granducato logico.

295
00:20:58,470 --> 00:21:04,760
Quindi creerà anche istanze di questi istruttori su valori diversi passati a questi metodi.

296
00:21:04,890 --> 00:21:11,670
E se si aspettano che l'output dell'output restituito sia lo stesso dell'output previsto, significa che il

297
00:21:11,910 --> 00:21:13,980
metodo ha funzionato correttamente.

298
00:21:13,980 --> 00:21:17,130
Altrimenti dirà che il metodo non è corretto.

299
00:21:17,520 --> 00:21:20,500
Quindi questo è il punto.

300
00:21:20,850 --> 00:21:26,490
E se hai il metodo principale puoi anche pensarlo come il metodo principale che è quel

301
00:21:26,880 --> 00:21:31,730
programma logico dal quale stiamo creando queste istanze fuori dalla classe dell'istruttore.

302
00:21:31,800 --> 00:21:32,900
Quindi questo è tutto.

303
00:21:32,910 --> 00:21:40,670
Spero che tu abbia trovato questa soluzione utile e speriamo che sia utile anche per risolvere gli esercizi

304
00:21:40,670 --> 00:21:41,370
futuri.

305
00:21:41,520 --> 00:21:42,090
Grazie.

306
00:21:42,090 --> 00:21:42,840
Cody infelice.
