Виртуальные методы и их переопределение - проверка корректности реализации - C#
Формулировка задачи:
Пожалуйста , кто шарит , скажите , я правильно сделал или нет ?
Задание
1.
В базовый класс добавить виртуальные методы;2.
В классах потомках переопределить виртуальные методы3.
Продемонстрировать работу виртуальных методов.using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication19 { class Person { public string Name; public int Age; public Person(string name, int age) { Name = name; Age = age; } public virtual void ShowInfo() //объявление виртуального метода { Console.WriteLine("Имя: " + Name + "\n" + "Возраст: " + Age ); } } class Student : Person { public string HighSchoolName; public bool Status; // Передача параметров в базовый конструктор public Student(string name, int age, string hsName,bool status) : base(name, age) { HighSchoolName = hsName; Status = status; } public override void ShowInfo() // переопределение метода { // Обращение к методу базового класса, используя ключевое слово base Console.WriteLine("|||Исполнитель заказа:|||"); base.ShowInfo(); string temp; Console.Write("Название ВУЗа: " + HighSchoolName + "\n" + "Бюджет/Контракт: " + (temp = Status == true ? "1\n" : "2\n")); } } class Customer : Person { public int Price; public Customer(string name, int age, int price) : base(name, age) { Price = price; } public override void ShowInfo() // переопределение метода { // Обращение к методу базового класса, используя ключевое слово base Console.WriteLine("\n|||Заказчик:|||"); base.ShowInfo(); Console.WriteLine("Цена заказа(грн): " + Price); } } class mainlaba1 { public static void Main() { List<Person> persons = new List<Person>(); persons.Add(new Student("Валентин",17,"КрНУ",true)); persons.Add(new Customer("Евгений",20,230)); foreach (Person p in persons) p.ShowInfo(); Console.ReadKey(); } } }
Решение задачи: «Виртуальные методы и их переопределение - проверка корректности реализации»
textual
Листинг программы
Status ? "1\n" : "2\n"
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д