La classe base non dovrebbe avere alcuna conoscenza dei suoi sottotipi?

4

Qual è il principio OO che indica (in somma):

A base object should have no knowledge of its subtypes.

I pensavo era Sostituzione di Liskov ma dopo aver letto quell'articolo di wikipedia non lo faccio credo di essere corretto. Grazie in anticipo!

    
posta herpylderp 08.12.2013 - 13:02
fonte

2 risposte

4

Questo probabilmente rientra nell'inversione di dipendenza.

Il genitore è un'astrazione di livello superiore rispetto al figlio, quindi non può dipendere dall'implementazione del bambino. Non può sapere che esiste un'astrazione di livello inferiore altrimenti sarebbe per definizione dipendente da esso ..

    
risposta data 08.12.2013 - 13:56
fonte
7

È il principio Open Closed.

Classes should be open to extension, but closed to modification.

Se una classe conosce i suoi sottotipi, ciò implica che non puoi semplicemente aggiungerne una (estendere la classe) senza modificare il tipo di base (che dovrebbe essere proibito).

    
risposta data 08.12.2013 - 14:53
fonte

Leggi altre domande sui tag