Home
Accesso / Registrazione
 di 

Programmazione orientata agli oggetti in ANSI-C. Ereditarietà multipla. Esercizi

Programmazione orientata agli oggetti in ANSI-C. Ereditarietà multipla. Esercizi

La programmazione per la grafica offre molte possibilità di sviluppare e approfondire il concetto di ereditarietà: un punto e una lunghezza di lato definiscono un quadrato, un punto e un paio di coordinate di offeset definiscono un rettangolo, un punto e un array di coppie di offset definiscono un poligono o addirittura una spline.

Prima che si proceda a definire tutte queste classi, possiamo realizzare interessanti esempi con punti e testo, con colori o altre caratteristiche visuali.

Conferire a move() il linking dinamico è difficile ma sempre interessante: gli oggetti bloccati potrebbero decidere di mantenere il loro punto di riferimento fisso e muovere la loro porzione di testo.

L'ereditarietà può essere rilevata anche in altre aree: sets, bags e altre collezioni di oggetti come liste, stack, code e così via, per non disdegnare inoltre le stringhe, gli atomi e le variabili con nome e valore.

Le superclassi possono essere impiegate per impacchettare gli algoritmi. Vediamo cosa significa. Se assumiamo l'esistenza di metodi dinamicamente linkati per confrontare o scambiare gli elementi di una collezione di oggetti basati su qualche indice positivo, possiamo implementare una superclasse che contiene un algoritmo di ordinamento.

Le sottoclassi dovranno implementare il confronto e lo scambio di posizione dei loro oggetti in qualche array, ma andranno ad ereditare l'abilità di essere ordinate.

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online