Non ho familiarità con la parola "sottotipo" dopo aver visto the wikipedia article.Quando la sostituzione di Liskov si riferisce ai sottotipi, si tratta di classi derivate nel contesto di C#?
ho preso la sostituzione Liskov a significare se si dispone di un metodo che prende un Animal
, si dovrebbe essere in grado di passare in un Cat
o un Animal
dove Cat : Animal
senza effetti collaterali indesiderati.
E 'questo a cui si riferisce la sostituzione di Liskov?
Sì, fondamentalmente. Ovviamente di solito * ci saranno * differenze distinguibili, altrimenti non ci preoccuperemo di sottoclassi diverse, ma fintanto che tutti obbediscono al contratto dell'interfaccia/classe base, e tutto dipende dal client, dovrebbe funzionare. (Ho pensato che fosse troppo semplice da aggiungere come risposta.) –
Perché votare per chiudere questa domanda come "non costruttivo"? – ken2k
Grazie, non ero sicuro se si riferisse al modo in cui è possibile utilizzare tipi come int/double al posto uno dell'altro. Se lo metti nella casella di risposta, posso contrassegnarlo come risposta. – NibblyPig