Ich habe folgendes Modell:Casting Unter-Entitäten zwischen einander
abstract Article {id, name, text}
final NewspaperArticle { printDate } extends Article
final ScientificArticle { quotations, publicationDate } extends Article
final ... { ... } extends Article
Ich frage mich, wie ich erreichen konnte die letzten Einheiten untereinander werfen, so dass die gemeinsamen Felder von Artikel geordneten Klasse festgelegt werden würde und die verschiedenen Felder würde null bleiben. Etwas wie:
Ist es möglich, es zu werfen, oder ich muss Reflexion verwenden?
Design-weise ist das Gießen zwischen NewspaperArticle und ScientificArticle nicht gültig nach Liskows Substitutionsprinzip (http://en.wikipedia.org/wiki/Liskov_substitution_principle). Ein NewspaperArticle ist eine bestimmte Art von Artikel und könnte daher einen ersetzen. Sie können jedoch dasselbe für die endgültigen Entitäten nicht beanspruchen. –
Ich stimme zu, es ist vielleicht nicht "korrekt", aber ich muss es irgendwie erreichen. –
Ich habe herausgefunden, dass es ziemlich gut ist, oft an Kompositionen zu denken (sie repräsentieren gemeinsame Teile vieler Klassen durch eine eigene Klasse, von denen sie ein Objekt erhalten), in seltenen Fällen von Vererbung (wenn Sie Vererbung vorzeitig anwenden, können Sie ernst werden Probleme später, wie ich in einer Firma gesehen habe) und nie der Reflexion (Sie brauchen keine Reflexion für die normale Programmierung, nur für "Meta-Programmierung"). –