Programmazione orientata agli oggetti in ANSI-C. Implementazione – esercizi

Tecnicamente, i selettori delle superclassi possono essere usati solamente da metodi interni. Decidiamo di non controllare i parametri dei selettori della superclasse. E' davvero una saggia decisione.

Crediamo che un puntatore identifichi un oggetto se l'oggetto inizia con un numero magico. E' una soluzione poco economica perchè incrementa la dimensione di ogni oggetto. Possiamo richiedere solamente che una descrizione di classe debba iniziare con un numero magico?

La parte fissa di una descrizione di classe (nome, superclasse e dimensione) può essere protetta tramite un checksum. Deve essere scelto attentamente per permettere l'inizializzazione statica di Class e Object.

Cast() duplica l'algoritmo di IsOf(). IsOf() Può essere cambiato così che la implementazione naif di cast() può essere usata e non incappare nella ricorsione infinita?

Cast() è la nostra funzione più importante per produrre i messaggi di errore. Piuttosto che una semplice assert() i messaggi possono contenere il punto della chiamata, la classe attesa e la classe attualmente fornita.

Iscriviti e ricevi GRATIS
Speciale Pi

Fai subito il DOWNLOAD (valore 15€) GRATIS

STAMPA     Tags:,

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Iscriviti e ricevi GRATIS
Speciale Pi

Fai subito il DOWNLOAD (valore 15€) GRATIS