Полиморфизъм (информатика)

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

Полиморфизмът в обектно ориентираното програмиране представлява свойството на обектите от един и същи тип да имат един и същи интерфейс, но с различна реализация на този интерфейс.

Различни неща или обекти могат да имат еднакъв интерфейс или да отговарят на едно и също (по наименование) съобщение и да реагират подходящо, в зависимост от природата или типа на обекта. Това позволява много различни неща да бъдат взаимозаменими. Например, ако една птица получи съобщение „движи се бързо“, тя ще маха с крила и ще лети. Ако един лъв получи същото съобщение, той ще тича, използвайки краката си. И двете животни отговарят на една и съща молба по начини, които са подходящи за всяко от тях.

Смисълът на полиморфизма може да бъде накратко изразен със следната фраза - "Един интерфейс, множество от различни реализации". Чрез полиморфизма се постига по-голяма абстракция и по-лесно повторно използване на кода.


Пример[редактиране | edit source]

Този пример показва как полиморфизмът работи. В резултат на полиморфизма обектите могат да изберат типа на изпълнение на метода по време на изпълнението на програмата.

 
 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 ());
 }
}

Източници[редактиране | edit source]


Външни препратки[редактиране | edit source]