Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csOpAbFP 91 of 163 menu
◀ ▶

Поля и свойства абстрактного класса в C#

Абстрактный класс не ограничивается списком abstract-методов: в нем так же уместны поля, свойства и обычные методы с телом.

Общее состояние удобно собрать в базе, чтобы потомки не повторяли одни и те же члены. Запишем User с приватным полем имени и свойством для доступа:

abstract class User { private string name = ""; public string Name { get { return name; } set { name = value; } } public abstract void IncreaseRevenue(int value); } class Employee : User { public int Salary; public override void IncreaseRevenue(int value) { Salary += value; } }

Создадим сотрудника, зададим имя через свойство и выведем его методом базы:

var employee = new Employee(); employee.Name = "john"; employee.PrintName(); abstract class User { private string name = ""; public string Name { get { return name; } set { name = value; } } public void PrintName() { Console.WriteLine(Name); } public abstract void IncreaseRevenue(int value); } class Employee : User { public int Salary; public override void IncreaseRevenue(int value) { Salary += value; } }

Сделайте абстрактный класс User с приватным полем name и свойством Name. Сделайте Employee и Student, наследующие от User.

Добавьте в User метод PrintName с телом. Создайте Employee и Student, задайте имя и вызовите у них PrintName.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить