Передача управления из конструктора класса-родителя в конструктор класса-потомка - C#
Формулировка задачи:
Здравствуйте.
Возможно ли передать управление из конструктора класса-родителя в конструктор класса-потомка?
Например, есть класс Polygone. В нём конструктор:
Есть класс Triangle, наследуемый от Polygone.
Можно ли при введении пользователем трёх параметров, при создании экземпляра класса Polygone, создать вместо него экземпляр класса Triangle. То есть передать управление из конструктора Polygone (базовый класс) в конструктор Triangle (дочерний класс)?
Пытался что-то с приведением типов делать, но ничего не вышло.
//Класс Point уже определён. public Polygone(params Point[] p) { //Много кода, в том числе удаляющего повторяющиеся точки. if (p.Length <= 2) { throw new ArgumentException(); } //Код, собственно создающий экземпляр класса Polygone. } }
Решение задачи: «Передача управления из конструктора класса-родителя в конструктор класса-потомка»
textual
Листинг программы
using System; namespace HelloWorld { class A { public void Method() { Console.WriteLine("Method A"); } public int IntField = 10; public int IntProperty { get {return IntField;} set{IntField=value;} } public A() { Console.WriteLine("Constructor A");//конструктору класса будет вызываться при вызове конструктора потомков } } class B:A { public B() { Console.WriteLine("Constructor B"); base.Method();//Обращаемся к базовому методу из класса А Console.WriteLine(base.IntField);//и полю из А Console.WriteLine(base.IntProperty);// и к свойству из А } } class Program { static void Main() { //A a = new A(); B b = new B(); Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д