Полиморфизъм (информатика)
Полиморфизмът в обектно ориентираното програмиране представлява свойството на обектите от един и същи тип да имат един и същи интерфейс, но с различна реализация на този интерфейс.
Различни неща или обекти могат да имат еднакъв интерфейс или да отговарят на едно и също (по наименование) съобщение и да реагират подходящо, в зависимост от природата или типа на обекта. Това позволява много различни неща да бъдат взаимозаменими. Например, ако една птица получи съобщение „движи се бързо“, тя ще маха с крила и ще лети. Ако един лъв получи същото съобщение, той ще тича, използвайки краката си. И двете животни отговарят на една и съща молба по начини, които са подходящи за всяко от тях.
Смисълът на полиморфизма може да бъде накратко изразен със следната фраза – „Един интерфейс, множество от различни реализации“. Чрез полиморфизма се постига по-голяма абстракция и по-лесно повторно използване на кода.
Пример
редактиранеТози пример показва как полиморфизмът работи. В резултат на полиморфизма обектите могат да изберат типа на изпълнение на метода по време на изпълнението на програмата.
class Zoo
{
//клас Животно
class Animal
{ //Вдигай шум
abstract string MakeNoise ();
}
//класът Котка наследява класа Животно
class Cat : Animal {
//Котката вдига шум мяукайки
string MakeNoise () {
return "Meow";
}
}
//Кучето наследява животното
class Dog : Animal {
//Кучето вдига шум като лае
string MakeNoise () {
return "Bark";
}
}
public static void Main ()
{
//този метод не знае за типа на шум който животното ще вдига
Animal animal = Zoo.GetAnimal ();
Console.WriteLine (animal.MakeNoise ());
}
}
Източници
редактиране