[Technical Issue] OOP - override string ToString() при унаследяване
Здравейте,
Това стрингосване не ми е много ясно и се опитвам да разбера как работи. Ще дам следния пример. Да кажем имаме
class Animal
{
private int age;
private string location;
.........................................
public override string ToString()
{
string output = "";
output + = "Age: " + age.ToString() + "\n";
output+= "Location: " + location + "\n";
return string.Format(output);
}
}
До тук ясно какво работи стрингосването. Правим унаследен клас
class Dog: Animal
{
private string breed;
...................................
public override string ToString()
}
И тук идват трудностите. Как да направя така, че като стрингосам Dog, да ми стрингоса age и location както е според класа Animal и да добави после
output += "Breed: " + breed;
Разбира се, винаги е вариант да копирам целия код от метода в родителския клас и да го сложа в Dog, като после допиша породата, но ми се струва доста дървено решение и повтаряне на кода. Та има ли начин да накарам Dog да се стрингоса по начина, зададен в Animal и после да добави останалите променливи?
Пиша в Main() dog.ToString() и то ми вика Animal.ToString(), прави каквот оправи, добавя специфичните неща за dog и ми връща стринга. Надявам се да съм формулирал въпроса си достатъчно ясно. Благодаря предварително.
Така стана. Мерси!