VB.NET - Агрегация объекта унаследованных классов
-
11-12-2019 - |
Вопрос
Я играю вокруг с составом пары объектов.
У меня есть два класса (примечание и задача).Класс задач получен из класса Note, поскольку задача - это устойчивое примечание.
Каждая заметка имеет свой свой свой свой свой свой свой свой свой свой свой свой характер, в качестве примечания или задачи можно добавить в существующую записку или задачу (поэтому эта записка «ребенок» может быть задачей или запиской)
т.е.
dim x as new note()
x.Child.item(0).Child.item(0).Child.item(0).description.ToString()
.
Окончательный дочерний объект Note на самом деле является задачей, как я могу сделать эту агрегацию?Мне все равно, если его записка или задача, но я хотел бы выпустить функциональность базы или расширенный класс.
Мои ближайшие мысли заключались в том, что каждый объект должен иметь список задач и список заметок, но ощущается, что может быть более элегантное решение.
У кого-нибудь есть мысли на этом?
Решение
Вы коллекция объектов Note, которые вы хотите уже дать вам то, что вы хотите.
Если вам нужно дифференцироваться между примечанием и задачей, вы можете спросить, является ли экземпляр задача «typeof», а затем включить соответствующим образом, чтобы получить полученные свойства и методы.
Если нужны методы и свойства, являются частью базового класса, вам не нужно бросать, вы можете полагаться на полиморфизм, чтобы вызвать соответствующий тип типа / свойство.
Другие советы
Если я вас правильно понимаю, вы должны реализовать поведение вашего класса с помощью виртуальных методов / свойств C # C #, что они используют поздние связанные звонки, чтобы соответствующий функционал называется из правильного класса - бытьчто родитель или полученный класс.
Я думаю, что эквивалент VB.NET «переопределяется» и «переопределение».