Полиморфизм исследование отмечает C # (а) виртуальный метод

  В объектно-ориентированном программировании, характеристики трех классов инкапсуляция, наследование, полиморфизм. Отличающиеся несколькими состояния конкретные, зависят от трех методов, то есть виртуальные методы , абстрактные классы и интерфейсы.

  Какова конкретная роль полиморфизма это? Или полиморфизм существует, что это такое? Полиморфизм существует эффективно уменьшить сцепную процедуру, при использовании, может не только показать, что мы имеем в общем, но и выделить какой-то особый характер, когда это необходимо.

  Так как же добиться этого с помощью трех полиморфных описанным выше способом?

  Позвольте мне говорить о современных виртуальных методах:

  Во-первых, мы определяем человека базовый класс. Который содержит имя человека и гражданство.

класс Люди 
{ 
    общественности  Строки Имя,
     общественная  Строка Страна,
     общественные  аннулируются Ввести () 
    { 
      Console.WriteLine (
« Меня зовут » + Имя);
      Console.WriteLine ( «Я родом из» + Страны); }
}

 

  Затем мы добавим класс.

Класс человек1: Person 
{ 
    
}

  На данный момент мы создавали ссылку на объект назначения

CH = человек1 новый новый человек1 (); 
ch.Name = " Bob " ; 
ch.Country = " Китайский " ; 
ch.Introudce (); 


Результат: 
Меня зовут Боб , 
я пришел из Китая

 

  Если все китайцы, то этот метод является достаточно компетентным, но почему такой человек, от иностранных, а не китайский, то этот метод будет ввести немного громоздко. Это особый случай, есть разумное, мы не можем поставить его особенным, потому что он это отрицал. На этом полиморфизма выделяются кричал: «Мой объем волос, пусть меня !.»

  Виртуальные методы: метод в объявлении класса перед добавлением виртуального  модификатора, это называется виртуальным методом, в то время как невиртуальные. А с использованием виртуального  пост-модификатор, не допускается , то там статический, абстрактный или переопределения  модификатора. С помощью этого виртуального метода, мы можем очень легко решить этот частный случай.

  Во- первых, мы должны изменить способ представления базового класса, пусть пустой, и стать виртуальным методом (это означает , что добавление модификатора Virtual )

класс Люди 
{ 
    общественности  Строка Имя,
     общественная  Струнная Страна,
     общественный виртуальная  пустота Introudce () // добавить модификатор виртуальной презентации , так что этот метод становится виртуальным методом 
    { 
        Console.WriteLine ( « Меня зовут » + Имя); 
        Console.WriteLine ( " Я родом из " + страны); 
    } 
}

 

   Затем мы добавим это асоциальное исключение пришло, и , в частности, способ внесения изменений в его отличительном, мы называем рерайт ( Переопределить ) .

класс people2 
{ 
    общественного  переопределения  недействительным ввести () 
    { 
        Console.WriteLine ( " Меня зовут " + Name); 
        Console.WriteLine ( " Я из " + страны); 
    } 
}

 

  Далее мы просто нужно положить в холодильник на слоне. Создание объекта, присвоение ссылки

People2 Eup = новый people2 (); 
Eup.Name = " Джек " ; 
Eup.Country = " Американский " ; 
Eup.Introudce (); 

运行结果: 
Меня зовут это Джек 
I ' м от американской

 

  Не требует масштабных изменений, изменить его по мере необходимости, могут быть использованы в оригинальном методе не требует изменения времени, это преимущество виртуальных методов.

Вот некоторые из моей маленькой скромному мнению, если есть ошибки, повезло достаточно, чтобы быть замеченными пожилые, пожилые люди также хотят, чтобы быть в состоянии дать мне знать, спасибо спасибо! ! !

 

 

 

 

 

рекомендация

отwww.cnblogs.com/wangxiao666/p/11832267.html