‫Torna a questa lezione, creeremo i nostri delegati per filtrare un elenco di persone e questo ci darà una
‫comprensione più profonda di come lavorano i delegati sotto il cofano.
‫Quindi consideriamo la seguente classe che abbiamo qui.
‫Quindi è una persona di classe molto semplice con una proprietà name e una proprietà age.
‫Solo due proprietà qui.
‫Quindi vogliamo creare i nostri delegati per filtrare le persone in base all'età, i nostri delegati di filtro
‫prenderanno una persona come parametro e restituiranno un bool se la condizione relativa all'età è soddisfatta.
‫Qual è esattamente la condizione?
‫Bene, non ci interessa, dal momento che il codice potrebbe essere utilizzato per filtrare un elenco su una pagina Web, ad
‫esempio, e la funzione di filtraggio potrebbe cambiare rapidamente e.
‫Bene, questo è esattamente il bello dei delegati.
‫Che lusso.
‫Va bene.
‫Quindi definiamo il nostro tipo di delegato.
‫E quindi, vado avanti e dico che questo sarà un delegato di tipo booleano.
‫Lo chiamerò delegato del filtro e richiederà una persona.
‫Quindi un oggetto persona chiamato Pete.
‫Ora, andiamo avanti e creiamo solo un piccolo elenco di persone o oggetti persona, per così dire, qui
‫abbiamo quattro oggetti persona.
‫Uno, due, tre e quattro.
‫E poi li aggiungiamo tutti a una lista.
‫Quindi hanno nomi diversi e età diverse qui.
‫Quindi ora vogliamo effettivamente filtrare quelle persone in base alla loro età, ad esempio, visualizzare solo gli adulti di
‫età pari o superiore a 18 anni o solo i minori di età inferiore a 18 anni.
‫Poiché desideri applicare filtri diversi, creiamo effettivamente un metodo chiamato display people.
‫Questo metodo prenderà l'elenco di persone e un filtro come delegato, quindi filtrerà l'elenco di persone in
‫base a quel filtro.
‫Quindi vogliamo anche inserire una stringa chiamata titolo per far sembrare le cose più organizzate nel consiglio.
‫Quindi, prima di tutto, lasciami impostare l'intestazione del mio metodo qui.
‫Quindi qui abbiamo il metodo display people e richiederemo una stringa, l'elenco delle persone e il delegato
‫del filtro che chiamerò filter.
‫Ora, cos'è che voglio fare qui?
‫Bene, prima di tutto, scriverò solo il titolo.
‫E poi esaminerò tutte le persone che sono all'interno della mia lista personale qui.
‫E controllerò se il filtro funziona con la persona che abbiamo superato.
‫Quindi qui diremo solo il nome della persona e quanti anni ha.
‫E ora possiamo andare avanti e definire solo un paio di metodi che useremo come filtri.
‫OK, quindi uno sarà per i minatori.
‫Quindi ecco il minatore.
‫Quindi prendiamo la persona e controlliamo la sua età rispetto ai 18 anni.
‫E se è più basso, allora sappiamo che dobbiamo tornare.
‫Vero.
‫Il che significa che la persona è un minatore, altrimenti restituiremo falso.
‫OK, questo sarà l'unico filtro.
‫Quindi creiamo un altro filtro per gli adulti come il sapone e ora un altro filtro per gli
‫anziani, diciamo persone sopra i 65 anni.
‫Ad esempio, ora il metodo principale, chiamiamo il metodo display people un paio di volte, quello che abbiamo appena
‫creato, questo qui.
‫Quindi andiamo avanti nel nostro metodo principale.
‫E qui mostrerò le persone e qui passerò solo al titolo.
‫Dirò solo ragazzi, per esempio, sto passando nell'elenco delle persone così come nel mio filtro.
‫Quindi qui il mio è un filtro minore e lo chiamo minore in questo modo.
‫E ora diamo un'occhiata.
‫Eseguiamo questo e vediamo se mostrerà i nostri figli e solo questo posto, Walter, che ha 12 anni.
‫OK, quindi quel filtro ha funzionato.
‫Vedete, abbiamo passato un metodo che non dovevamo passare in alcun parametro a questo metodo perché lo abbiamo passato
‫nella posizione di un delegato in modo che potesse semplicemente filtrare il delegato.
‫Fammi scorrere un po' in modo che tu possa vedere che va un po' meglio.
‫Quindi qui dobbiamo passare e filtrare i delegati, il che significa che possiamo passare un metodo
‫che segue semplicemente la descrizione dei delegati del filtro, il che significa che deve solo passare un booleano e deve
‫avere un parametro di tipo persona.
‫Ed è esattamente ciò che i nostri metodi filtrano come li ho chiamati qui.
‫Restituiscono un booleano e richiedono la persona P, quindi se è minore non seguisse la struttura, questo non
‫funzionerebbe.
‫Quindi, se dovessi sbarazzarmi di questo e tornare vero qui, ad esempio, allora questo non funzionerebbe.
‫Vedete qui, questo è Mörner che può convertire un gruppo di metodi in un programma che filtra i delegati in modo
‫che non segua le istruzioni dei nostri delegati.
‫Bene, ora facciamo la stessa cosa con il nostro altro tipo di filtri.
‫Quindi, prima di tutto, con gli adulti e poi con gli anziani, quindi diamo un'occhiata.
‫Vediamo bambini, Walter, adulti, Aiden e Anatoliy, e poi gli anziani siedono solo e lui ha sessantanove anni.
‫Quindi questo è tutto per una piccola introduzione per i delegati.
‫Ma potresti notare uno schema fastidioso che abbiamo qui e lo elimineremo nella prossima lezione, che
‫è lo schema del metodo anonimo.
‫Quindi Segou lì.