Come posso spiegare le interfacce e i costruttori C # a un genio di 8 anni?
Come posso spiegare le interfacce e i costruttori C # a un genio di 8 anni?
Li prenderei uno di questi giocattoli:
Efareiun'analogiasulfattocheilpezzogialloincimaabbiadeibuchiconunaformaspecifica,eleformechetipermettonodipassareattraversoquestibuchisonountipoconcretodiquellaforma.L'interfaccia,sebbenenonstiacreandoalcunaazionesullaforma,implicachelaformadebbaaverealcunecaratteristiche,comeledimensioni,ilnumerodilati,èrotondo,ecc.
Perquantoriguardailcostruttore,direilorocheèla"ricetta" + l'azione di costruire uno di questi piccoli giocattoli: (a) È qualcosa che è specifico per quel tipo di giocattolo; (b) può essere applicato ad altri giocattoli simili al primo giocattolo; (c) Posso costruirla leggermente in modo diverso la prossima volta, come cambiare il colore o avere un'altezza diversa dall'altezza originale; ecc.
Quindi, dopo queste analogie, potrei puntare al codice (supponendo che tu stia mostrando codice a tuo figlio) mostrando che l'interfaccia non interferisce con il comportamento concreto della classe, dice alla classe alcune delle caratteristiche che dovrebbe avere e il costruttore della classe è la subroutine di costruire quel tipo.
Ha senso?
Indirizzate il bambino all'appropriato MSDN pages . Se è un genio, sarà sufficiente;)
Altrimenti, siediti con lui, scrivi un semplice codice che mostri entrambi. Gli stessi esempi di console mostrerebbero un adulto. Niente di stravagante, solo alcune linee stampate nei costruttori per mostrare come viene creato un grafo di oggetti e magari il classico esempio di animale per le interfacce (quello con diversi animali che implementano un metodo Speak o Move).
Se il bambino è sinceramente interessato alla programmazione, ciò lo manterrà divertito. Se perderà interesse dopo pochi minuti, lascialo stare. Avere una normale infanzia. Dagli il "talk dell'interfaccia" quando crescerà un po '.
Interfacce: i dossi sui pezzi Lego / Mindstorm, che ti consentono di connetterti facilmente i bit
Costruttori - Un metodo che prepara l'oggetto per l'uso, quindi forse un'analogia di cucina è buona. Aggiungere acqua bollente alla zuppa in polvere per fare la zuppa?
Leggi altre domande sui tag programming-languages c# interfaces