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.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend