Очевидно, что использование виртуального и переопределения - это нормальная ситуация, но подсчитывает ли этот показатель telecoms'ish?Полиморфизм без использования виртуального ключевого слова
public class Pipe
{
// whole bunch of protected member variables such as bandwidth, latency, download limit
// etc,
public int GetCost()
{
// work out cost based on above
}
}
public class BigFatPipe : Pipe
{
public BigFatPipe()
{
// sets up the member variables one way
}
}
public class CheapestPossiblePipe: Pipe
{
public CheapestPossiblePipe()
{
// sets up the member variables another way
}
}
, то вы могли бы назвать
PrintPrice(new BigFatPipe())
PrintPrice(new CheapestPossiblePipe())
public void PrintPrice(Pipe pipe)
{
int a = pipe.GetCost();
....
}
Вы получите два разных ответа. Это не самый полезный пример, но он рассчитывает?
Является ли это вопрос ++ C или C# один? Вы должны использовать теги, имеющие отношение к вашему вопросу. – Nasreddine
Полиморфизм - это способность объекта принимать различные формы. Он не должен переопределять метод per se '. –
Это кросс-язык, я мог бы включить Java и, возможно, другие. Полиморфизм не был тегом, который, как я думал, привлечет много внимания – tony