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

Базовый класс и интерфейсы в C#

Класс может наследовать один базовый класс и при этом реализовать один или несколько интерфейсов. Сначала указывают базовый класс, затем интерфейсы через запятую.

Часть методов контракта уже может быть в базе. Новый класс берет их через наследование и дописывает только то, чего не хватает для интерфейса. Запишем сотрудника-программиста:

interface IProgrammer { List<string> GetLangs(); void AddLang(string lang); } class Employee { public string Name { get; set; } = ""; public int Salary { get; set; } public Employee(string name, int salary) { Name = name; Salary = salary; } } class Developer : Employee, IProgrammer { private List<string> langs = new List<string>(); public Developer(string name, int salary) : base(name, salary) { } public List<string> GetLangs() { return langs; } public void AddLang(string lang) { langs.Add(lang); } }

Создадим разработчика, добавим язык и выведем список:

var dev = new Developer("ann", 2000); dev.AddLang("csharp"); Console.WriteLine(dev.GetLangs().Count);

Сделайте интерфейс IStorable, в котором будет метод Save.

Сделайте класс Entity. Пусть у класса будет свойство Title типа string.

Сделайте класс Article, который будет наследовать класс Entity и реализовывать интерфейс IStorable.

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