‫Ben tornato.
‫È di nuovo tempo di sfida, e spero che tu riesca a dare un'occhiata all'intero video sull'eredità e a
‫capire cosa stava succedendo e come creare il post e il post dell'immagine e come si correlano tra loro, quindi
‫come sono collegati tra loro.
‫Quindi quell'image post è la classe guida e si pone come la classe base perché ora la piccola sfida è
‫creare una nuova classe chiamata Video Post, che è una classe guida con la proprietà video che hai URL e
‫lunghezza.
‫Quindi queste sono proprietà uniche di quel post video.
‫Quindi immagina di essere ancora in questo tipo di cose e abbiamo post normali che sono solo testo di quello che
‫abbiamo o che possono essere testo, ma anche qualsiasi altra cosa.
‫Quindi abbiamo un post con immagine che ha anche un URL dell'immagine.
‫E ora quello che vogliamo avere è un post video in cui abbiamo effettivamente un URL video invece di
‫un URL immagine e anche la lunghezza del video.
‫Quindi queste sono le informazioni che vogliamo avere su ogni post video.
‫Quindi ora crea i costruttori richiesti per creare un post video adattato al metodo string di
‫conseguenza, perché abbiamo visto nel post dell'immagine che il metodo a due stringhe aggiunge ulteriori informazioni in base alle informazioni
‫che sono già state inviate qui.
‫Ma vogliamo sapere ancora di più sul post del video di quanto sappiamo sul post.
‫Quindi, solo per stringere il metodo, quindi creare un'istanza di post video.
‫Quindi più o meno la stessa cosa che abbiamo fatto qui con il post dell'immagine.
‫Basta crearne uno e poi guidarlo sulla console.
‫Quindi forse dovrei aggiungerlo e usare il metodo delle due stringhe su di esso.
‫Quindi, se ti senti una vera sfida, puoi andare avanti con le cose più avanzate.
‫Quindi usa un timer e un metodo di callback qui e puoi Google.
‫Puoi semplicemente sì, puoi provare a farlo da solo o puoi farlo su Google.
‫Quindi l'idea è che il nostro post video abbia un metodo chiamato Play e uno che si chiama Stop e viene chiamato
‫un play.
‫Quindi dovrebbero scrivere la durata corrente del video.
‫Quindi ogni singolo secondo in cui dovrebbe esserci un segno di spunta che scrive in
‫quale secondo del video siamo attualmente e poi viene premuto uno stop, il timer viene fermato e c'è anche un testo scritto, fermalo.
‫Ed è meglio con la nostra gente.
‫E sì, è più o meno così.
‫Quindi riproduci il video dopo aver creato l'istanza e mettilo in pausa quando l'utente preme anarchia o magari fermalo
‫quando l'utente preme un tasto qualsiasi.
‫Quindi per processo, qualsiasi chiave, intendo solo che hai una linea rossa lì.
‫Quindi, mantienilo semplice o rischioso.
‫Quindi mantienilo semplice.
‫Ed è quello che vedi qui ti aiuterà a creare anche lettori video in seguito.
‫Quindi questo è davvero solo un concetto di base e usa i timer qui.
‫Ma come ho detto, questa è la parte più avanzata.
‫Se non hai voglia di farlo o se è troppo difficile, va bene lo stesso.
‫Puoi semplicemente dare un'occhiata al video, ma ti consiglio davvero di dare un'occhiata perché ti insegnerà come
‫usare timer e callback semplicemente cercando su Google.
‫Ed è meglio provare tu stesso a sperimentare come funziona e poi lo ricorderai sicuramente la prossima volta
‫che vuoi usare i timer.
‫Tutto bene.
‫Quindi forse, sai, e prova a fare questa sfida.
‫Già, spero che tu l'abbia provato, prima di tutto, ovviamente, abbiamo bisogno di una nuova classe.
‫E sarà il nostro video post e ora quel video post dovrebbe ereditare dal post e qui, come
‫ho detto, avremmo una proprietà diversa o in realtà due proprietà diverse, che prima
‫non avevamo.
‫E uno di questi è il video che è un video di stringa protetto.
‫Sei L ed è un set quindi la stessa cosa con la lunghezza protetta int length con
‫una L maiuscola. Nella migliore delle ipotesi anche ottenere e impostare.
‫Successivamente abbiamo bisogno di costruttore.
‫Quindi creiamo un costruttore qui, post video pubblico e lo lascerò di nuovo vuoto.
‫Lo stesso approccio che abbiamo avuto nel nostro post sull'immagine qui dove abbiamo semplicemente creato questo costruttore vuoto perché nessuno dei due
‫costruttori chiama una classe base.
‫Quello del post si chiamerà così quello qui.
‫Quindi, se abbiamo un'entità che pubblichi, verrà chiamato il metodo post o il costruttore del post verrà
‫chiamato quello predefinito.
‫Ma ne abbiamo anche uno in cui effettivamente consegniamo le informazioni richieste.
‫Quindi, ad esempio, per un post video, ciò che è interessante lì, beh, da un lato è di nuovo il titolo, il
‫titolo della stringa, quindi il nome utente.
‫Quindi inviato per nome utente, quindi a te sono la stringa L video, l'URL e il bool sono pubblicati e anche la lunghezza così in lunghezza
‫è utile anche qui.
‫Tutto bene.
‫Quindi un costruttore piuttosto lungo in termini di parametri.
‫E ora ovviamente abbiamo bisogno di usare questo punto e, naturalmente, questo DOT, ottieni ID o ottieni l'ID successivo sarà
‫richiesto anche qui.
‫Quindi non vogliamo creare un ID già presente.
‫Vogliamo andare avanti e usare il prossimo ID.
‫E come potresti ricordare, l'ID successivo impostato sta tornando e aumenta o incrementa l'ID del post corrente,
‫che è una variabile statica.
‫Quindi è unico per l'intero programma, il che significa che verrà sovrascritto con il nuovo valore o
‫praticamente otterremo semplicemente il nuovo valore.
‫E sarà sempre un solo ID una volta.
‫Quindi ogni lato sarà unico e questo è davvero importante qui.
‫Quindi il titolo sarà il titolo e in realtà possiamo anche andare avanti e copiarlo da qui perché è lo
‫stesso approccio.
‫Destra.
‫E.
‫Possiamo semplicemente importare qui e ora andiamo avanti con i nostri URL univoci, quindi, ehm, video di proprietà, il tuo
‫URL è un membro del post video e in realtà l'ho chiamato per errore appena pubblicato, ma
‫dovrebbe essere come post video pubblico, ma non di posta.
‫E questo sarà questo video.
‫Il tuo URL sarà il video YORO e questa lunghezza sarà una lunghezza.
‫Quindi tutto ciò che viene dato qui come argomento dovrebbe essere preso nelle proprietà dell'oggetto, che sono lunghezza, video,
‫URL e ovviamente quello che abbiamo ereditato dal post.
‫Va bene, quindi questo è il nostro costruttore.
‫E ora abbiamo bisogno di avere un metodo a due stringhe.
‫Come abbiamo detto, avremmo bisogno di un metodo specifico per le stringhe.
‫Ed è più semplice se lo copiamo dal post immagine e lo sovrascriviamo di nuovo.
‫Quindi pubblico sovrascrive stringa su stringa.
‫Quindi sovrascriviamo il metodo della nostra classe post, il che significa che sovrascriviamo questo metodo qui, che sovrascrive nuovamente
‫dal sistema quell'oggetto.
‫Quindi questa è la bellezza dell'ereditarietà che puoi sovrascrivere e sovrascrivere.
‫Quindi ora abbiamo il formato della stringa e potrebbe essere leggermente diverso.
‫Beh, diverso.
‫Possiamo decidere se lo vogliamo o no.
‫Potremmo inviare la lunghezza qui o lasciarla così com'è.
‫Quindi l'unica differenza non sarebbe l'URL dell'immagine, ma il video richiesto.
‫E se ne hai voglia, puoi aggiungere anche la lunghezza qui.
‫Quindi, se vuoi informarti a riguardo.
‫Quindi forse facciamolo.
‫Forse è più semplice farlo.
‫E questo sarà per allora e qui dentro.
‫Aggiungo solo questo, quella lunghezza e separo con una virgola.
‫Quindi ora per renderlo più leggibile, userò solo una seconda riga qui.
‫Va bene, questo è il nostro metodo G-string, e ora possiamo andare avanti nel
‫nostro post o addirittura nella nostra classe di programma e qui possiamo creare un post video, post video.
‫Lo chiameremo post video.
‫Uno sarà un nuovo post video.
‫E potremmo andare avanti e fare così.
‫Ma poi sarebbe un post vuoto, che è il nostro post ID zero come questo qui, che ha solo il mio primo post,
‫come per intero, è pubblico ed è di Dennis Pennetta, ma non è molto interessante.
‫Quindi ne creeremo uno con i nostri valori unici, che avrà un ID univoco perché l'abbiamo creato in quel
‫modo.
‫Quindi possiamo andare avanti qui.
‫E dirò che questo è un video fallito e l'ho caricato.
‫Quindi è stato caricato e puoi trovarlo sotto https video dot com slash fail video o qualcosa del genere.
‫È solo un falso ID o un falso collegamento video punto com slash fail video.
‫E poi, poiché questo è troppo lungo per un ruolo, lo passerò al prossimo.
‫Quello di cui abbiamo bisogno ora, se dai un'occhiata qui, ci sono due sovraccarichi.
‫Quindi diamo un'occhiata a quelli del signore supremo.
‫Abbiamo bisogno di ulteriori informazioni sull'accesso o se è pubblico o meno.
‫Eccoci di nuovo qui, pubblici, e ora ci vuole la lunghezza.
‫Quindi diciamo che questo video dura 15 secondi o forse 10 secondi.
‫Dieci va bene.
‫Quindi fallo durare 10 secondi.
‫E adesso.
‫È praticamente tutto, quindi possiamo già iniziare il nostro programma e dovremmo vedere le informazioni
‫sul nostro post video e, naturalmente, manca ancora la parte più impegnativa.
‫Quindi ci siamo.
‫Dai un'occhiata alle mie nuove scarpe su immagini, punto com.
‫E in realtà, non chiamiamo ancora il metodo il metodo a due stringhe.
‫Quindi forse dovremmo farlo.
‫E poi, dobbiamo chiamare questi post video al metodo delle stringhe.
‫Tutto bene.
‫Quindi, a proposito, se ti stavi chiedendo video cartolina, puoi vedere che ci sono già più metodi qui.
‫E non abbiamo creato noi quei numeri.
‫Erano proprio lì.
‫E questo perché abbiamo ereditato da post, che ancora una volta eredita dal sistema quell'oggetto.
‫A proposito, se lo controlli anche per il post uno, pubblicane uno in cui puoi vedere anche quei metodi lì.
‫Quindi è uguale a quel codice hash che ottiene il tipo aggiorna questi metodi, sono ereditati dal sistema, quella classe di oggetti.
‫Tutto bene.
‫Quindi ora abbiamo le due stringhe.
‫Quindi ora, ovviamente, dobbiamo inserirlo in una console.
‫Destra.
‫E in effetti, copiamo questo codice qui e sostituiamo l'immagine con il video.
‫Posta uno.
‫Tutto bene.
‫E ora possiamo avviarlo.
‫Ci siamo.
‫Quindi una cosa è per gli auguri di compleanno, poi tre.
‫Come puoi vedere, il post del video ha una I diversa. D. rispetto al nostro post immagine.
‫Quindi abbiamo uno, tre e due.
‫Questo è solo l'ordine in cui li scriviamo sulla console.
‫Quindi, se dai un'occhiata qui, il post del video, anche se è stato creato dopo il post dell'immagine che
‫abbiamo stampato in precedenza, e questo ci dà questo ordine sbagliato, se vuoi.
‫Ma l'ordine non è così importante.
‫Se stai bene, si basa su ciò che vuoi mostrare.
‫Quindi, se vuoi mostrare le immagini in base all'ordine in cui sono state create o i post
‫in generale in base all'ordine in cui sono stati creati, o vuoi mostrare prima l'ultima, quel genere di cose,
‫poi l'ordine di certo, conta.
‫Ma nel nostro caso, è davvero un bene che sia così.
‫Quindi puoi vedere che l'ID è impostato nel momento in cui viene creato l'oggetto.
‫Quindi ne ho fatti tre e ne ho fatti due e non nel momento in cui viene chiamato come qui, come il metodo delle due
‫stringhe.
‫Quindi, se desideri avere il corretto.
‫Ordine per l'ordine in cui sono stati creati, andremmo avanti così e ora possiamo vedere uno, due e
‫tre.
‫Quindi grazie per gli auguri di compleanno oltre alla nostra immagine per le scarpe nuove e al video fallito di Dennis Panetta.
‫E come puoi vedere qui, viene inviata anche la lunghezza di dieci.
‫Tutto bene.
‫Quindi quella era la prima parte.
‫E ora la sfida più avanzata, che consiste nel creare un timer e un metodo di callback, che viene chiamato
‫ogni secondo e dovrebbe informarci sulla durata del video o sulla durata attuale del video.
‫E, naturalmente, dobbiamo creare i campi come richiesto.
‫Quindi avremo bisogno di alcuni campi aggiuntivi qui.
‫Ad esempio, avremo bisogno di sapere a che punto del video ci troviamo.
‫Quindi andiamo avanti e creiamo effettivamente i campi prima delle proprietà.
‫Quindi ha proprietà e ora creiamo i campi dei membri.
‫E uno sarà un booleano protetto che sta riproducendo, questo è utile perché se un video è in riproduzione, puoi metterlo
‫in pausa.
‫Se non sta giocando, puoi smettere di iniziare.
‫Quindi è davvero importante.
‫Quindi, se un video è già in riproduzione, non vorrai iniziare a giocare.
‫Ecco perché abbiamo questo booleano di supporto qui e quindi abbiamo bisogno di una durata protetta e cur.
‫Ora è zero per chiamare il timer.
‫Creiamo un nuovo metodo, creiamo un metodo public void play e creiamo anche il metodo stop.
‫Quindi vuoto pubblico Stop.
‫Ora, cosa vogliamo fare qui?
‫Bene, prima di tutto, scriviamo qualcosa sulla console come giocare così sappiamo, OK, il gioco
‫è stato avviato o in riproduzione.
‫Il video è stato avviato.
‫E qui voglio impostare il timer e prima creiamo il timer.
‫Quindi avremo bisogno di un timer qui, timer, e lo chiamerò timer.
‫Ora, per usare il timer, dobbiamo usare un sistema che threading è quello di cui ho bisogno usando il sistema,
‫quel threading.
‫E ora quello che possiamo fare è inizializzare il timer, in qualunque punto tu abbia premuto.
‫Quindi il timer sarà un nuovo.
‫Timer, timer, callback dovrebbe essere il metodo che viene chiamato dopo ciò che dobbiamo affermare qui, che dirò
‫solo ora.
‫Quindi, come puoi vedere, hai bisogno di una richiamata timer, quindi hai bisogno di un oggetto.
‫Hai bisogno di tempo e un periodo.
‫E il momento dovuto è quando dovrebbe iniziare.
‫E il periodo dovrebbe essere quanto spesso dovrebbe essere ripetuto o in quale periodo di tempo dovrebbe essere ripetuto.
‫Quindi il tempo dovuto lo imposterò a zero e il periodo è di 1000 millisecondi.
‫Quindi ora, ovviamente, ho bisogno di questo metodo di callback del timer e andrò avanti e lo creerò.
‫E dovrebbe essere un metodo privato perché non voglio che nessun altro lo chiami solo questa classe stessa.
‫Quindi solo il post video nullo dovrebbe essere in grado di chiamare questo timer callback e il timer callback.
‫Beh, ha bisogno di un oggetto come parametro.
‫Dirò solo, oh, lo chiamerò.
‫Oh, e ora posso verificare se la durata corrente è inferiore alla lunghezza del video, quindi voglio andare
‫avanti e aumentare la durata corrente di uno e visualizzarla sulla console.
‫Quindi video CW a zero secondi come questo e quindi dobbiamo avere la durata corrente.
‫Quindi questo farà semplicemente direttamente sulla console.
‫Ora, per forzare il raccoglitore di rifiuti per questo video, useremo solo la raccolta di punti GC.
‫Quindi questo ripulirà ogni disordine.
‫E comunque, se la durata attuale non è inferiore alla lunghezza, quindi significa che il video è finito, vogliamo
‫chiamare il metodo stop.
‫Quindi qui dentro, chiameremo semplicemente stop.
‫E ora stop deve, ovviamente, essere attuato.
‫Quindi controlliamo ciò di cui abbiamo bisogno nella riga di destra di Stop Console Todd e questo verrà interrotto e poi lo diciamo e basta, in
‫quale secondo fermiamo il video.
‫Dirò la durata attuale.
‫E, naturalmente, dobbiamo reimpostare la durata corrente a zero e fermare il timer e fermare il tempo.
‫Chiamiamo questo metodo entrambi.
‫Questo pulisce semplicemente il tempo o ferma il timer e lo azzera.
‫Ora, per renderlo ancora più pulito, come ho detto, abbiamo questo campo da gioco e possiamo usarlo nel nostro
‫metodo di gioco.
‫Quindi potremmo dire solo se sta giocando è falso.
‫Quindi usiamo il punto esclamativo all'inizio.
‫Solo allora voglio farlo.
‫Solo allora voglio iniziare a giocare.
‫Solo allora voglio inizializzare il timer.
‫E se non sta suonando, non dovrebbe succedere nulla.
‫E qui possiamo fare lo stesso.
‫Quindi, nel metodo di arresto, possiamo verificare se il suo gioco è vero, quindi solo se il giocatore sta giocando, dovremmo essere in
‫grado di fermarlo.
‫Tutto bene.
‫Quindi questo è tutto per la nostra lezione di post video.
‫Quindi ora dovremmo essere in grado di verificarlo accedendo al nostro programma e ad un certo punto iniziare a creare o avviare la
‫riproduzione del video.
‫Quindi quello che farò è dopo aver creato il video post, lo riprodurrò.
‫E poi, come ho detto, vorrei lasciare o lasciare che l'utente smetta di riprodurre il video.
‫Quindi, come facciamo quella console che legge Key?
‫E poi chiamerò il metodo stop.
‫E nel frattempo, ovviamente, vorrei informare l'utente su cosa dovresti fare.
‫Quindi userò S. W. qui la riga di destra della console e dirò di premere un tasto qualsiasi per interrompere il video.
‫Tutto bene.
‫E ora possiamo verificarlo.
‫E vedi se quello che abbiamo costruito funziona davvero in modo che possiamo premere un tasto qualsiasi per fermare il video, come puoi
‫vedere, il video è iniziato ed è in esecuzione.
‫E diciamo che voglio premere un tasto qualsiasi.
‫E in realtà ero troppo lento.
‫Quindi il video è andato avanti e dopo 10 secondi si è fermato.
‫E perché?
‫Bene, questo perché il nostro video dura solo 10 secondi.
‫Quindi abbiamo questa proprietà di lunghezza, che indica quanto è lungo il video.
‫Quindi diciamo che creiamo un video diverso e vogliamo questo video o in realtà abbiamo cambiato la durata di
‫un post video in soli cinque secondi.
‫Quindi facciamolo ed eseguiamolo di nuovo, e poi vedrai che dopo cinque secondi si fermerà.
‫Ed eccoci qua, la neve finita.
‫Fermiamolo manualmente.
‫Eseguiamolo di nuovo.
‫Ci siamo e premiamo un tasto qualsiasi per fermare il video, e non funziona, e questo perché se controlliamo il
‫post che sta suonando Klaus è sbagliato ed è per questo che il suo modo di suonare non è mai vero.
‫Quindi quello che dobbiamo fare qui è impostare la riproduzione su true, ovviamente.
‫E lo stesso vale per la nostra sosta qui.
‫Quindi diciamo che sta giocando il suo falso.
‫Va bene, ora torniamo qui ed eseguiamolo di nuovo, e ora il video è in esecuzione e l'ho pubblicato o l'ho
‫fermato e dice fermato alle quattro e potremmo anche andare avanti e cambiarlo per fermare quei
‫quattro secondi in questo modo .
‫E per avere più tempo, come hai visto, era abbastanza vicino.
‫Mi concederò di nuovo 10 secondi.
‫Quindi lo trascino.
‫Eccomi qui.
‫E lo fermo.
‫Così ho premuto il tasto Invio.
‫Okkeydokey, quindi è stata una vera sfida.
‫Spero che tu sia riuscito a farlo anche nella cosa più avanzata.
‫Ma ciò che è veramente interessante, e non l'ho toccato troppo, è l'intero metodo del timer.
‫Quindi, se l'hai usato, allora capisci cosa sta succedendo o questa volta della lezione.
‫Quindi c'è una classe chiamata Timer e puoi usarla per usare i metodi del timer, lavorare per usare
‫un timer.
‫Quindi quello che fa è andare avanti e creare un nuovo oggetto timer e puoi usare un callback timer
‫e un callback timer ti permette di essere chiamato o di eseguire del codice ogni volta che questa durata è finita.
‫Quindi ogni volta che il lasso di tempo che hai assegnato qui.
‫Quindi nel mio caso, mille millisecondi sono finiti o questo periodo, quindi questa volta ricorda che lo
‫chiameremmo.
‫Quindi siamo chiamati nel mio caso ogni singolo secondo.
‫Ecco perché dice video a un secondo, due secondi e così via.
‫È piuttosto interessante perché ora puoi andare avanti e creare un metodo basato su timer o programmi basati su timer
‫praticamente.
‫E potresti creare un intero timer con cui un utente può giocare e fare anche di più di quanto abbiamo appena fatto
‫qui.
‫Quindi l'idea generale è creare un nuovo timer, creare un callback del timer, che questa volta è un
‫metodo di callback che richiede un oggetto importante.
‫E poi qui puoi andare avanti o all'interno delle parentesi graffe, puoi andare avanti ed eseguire il tuo
‫codice regolarmente.
‫E questo sarà ogni tanto in tanti secondi.
‫Quindi, ovviamente, l'oggetto timer ha, se lo guardi, un tempo di scadenza che puoi assegnare, che è
‫questo qui, e uno stato che puoi assegnare.
‫E io uso solo il modello statale.
‫Tutto bene.
‫Quindi era così.
‫E andremo avanti e vedremo ancora di più cosa possiamo fare con l'ereditarietà e la programmazione orientata agli oggetti nei
‫prossimi video.
‫Quindi ci vediamo lì.