Итак, ООП - это метод программирования в основе которого идея того,
что любой процесс можно описать в виде взаимодействия объектов,
обладающих как общим, так и более специфическим поведением.
Задача программиста научиться определять общий код
(свойства и поведение объектов) и разделять код
по уровням абстракции (на вершине более общий код,
у основания конечная реализация со своим более специфичным кодом.
В качестве примера можно использовать код ниже.
Клиент и сервер обладают как общим поведением(HelloBase()),
так и специфичным.
Для более полной реализации Общий код помечен как абстрактный,
т.е. не имеющий самостоятельных объектов,
разрешено создание только объектов-наследников.
class Program { static void Main(string[] args) { var cl = new ClientClass(); var sr = new ServerClass(); if (cl is Client client) { client.HelloBase(); client.HelloClient(); } if (sr is ServerClass s) { s.HelloBase(); s.HelloServer(); } } } public interface Base { void HelloBase(); } public interface Client : Base { void HelloClient(); } public interface Server : Base { void HelloServer(); } public abstract class BaseClass : Base { public void HelloBase() => Console.WriteLine("HelloBase"); } public class ClientClass : BaseClass, Client { public void HelloClient() => Console.WriteLine("HelloCLient"); } public class ServerClass : BaseClass, Server { public void HelloServer() => Console.WriteLine("HelloServer"); }
Комментарии
Отправить комментарий