Позднее связывание и виртуальные методы - C#
Формулировка задачи:
Добрый день. Возник вопрос по поводу позднее связывания в c#. В с++ п.с. можно организовать следующим образом:
А как п.с. организовать в с#? По примерам сделала следующим образом:
Создала объект obj ,но от него никакого толка. Приведите пожалуйста пример толкового связывания,как в моем примере на с++
class A: { public: virtual void f {} }; class B:public A { public: virtual void f {} }; void main() { A.a; //создание объекта а класса А B.b; //создание объекта b класса B A *p=&b; p->f(); //позднее связывание }
public int func1(Person1 a) { // Используем позднее связывание object obj = Activator.CreateInstance(typeof(object));//Создает экземпляр указанного типа, используя конструктор, заданный для этого типа по умолчанию. return 0; } ... Person1 a = new Person1(s1, s2, s3, s4, s5, 2, 3, 2016); a.virt_func1(a);
Решение задачи: «Позднее связывание и виртуальные методы»
textual
Листинг программы
using System; namespace ConsoleApplication212 { class Program { static void Main(string[] args) { A a = new A(); //создание объекта а класса А B b = new B(); //создание объекта b класса B a = b; //присвоение переменной a объекта из b a.F(); //вызов виртуального метода (будет вызван метод из B) // Console.ReadLine(); } } class A { public virtual void F() { Console.WriteLine("This is method from A"); } } class B : A { public override void F() { Console.WriteLine("This is method from B"); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д