К основному контенту

Основы метода ООП

Итак, ООП - это метод программирования в основе которого идея того,
 что любой процесс можно описать в виде взаимодействия объектов, 
обладающих как общим, так и более специфическим поведением. 
Задача программиста научиться определять общий код 
(свойства и поведение объектов) и разделять код 
по уровням абстракции (на вершине более общий код, 
у основания конечная реализация со своим более специфичным кодом. 
В качестве примера можно использовать код ниже.
Клиент и сервер обладают как общим поведением(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");
    }

Комментарии

Популярные сообщения из этого блога

Кирилица в Arch Linux

После вчерашних обновлений в консоли Arch Linux при выборе русской локали вместо букв печатаются белые квадратики. Очевидно, что по какой-то причине не загружается прописанный в rc.conf шрифт. Временное лекарство от этого: выполнить команду setfont cyr-sun16 . Еще у меня в момент начальной загрузки появляется рябь на экране как от сильных электромагнитных помех в ЭЛТ, хотя у меня ЖК. Может быть это как-то связано.

Сортировка массивов в groovy

Любой массив в java и groovy можно отсортировать статическим методом: Arrays.sort(c); причем это будет очень быстро сто тысяч элементов типа int сортируются за 1 секунду на celeron M 1,8 Mg. Если это массив объектов можно использовать перегруженный метод Arrays.sort(c,comporator);

Arch Linux - руссификация консоли

Вчера, придя с работы, как всегда затеял InstallFest. Уже практически не задумываясь установил свежий арч. И тут заметил что в tty вместо русского - квадратики. Под утро нашел таки сообщение на форме, что в этом виноваты дрова от видео. Там правда речь шла о нвидиа, а у меня ати. Буду пробовать. И еще в lxterminal обратил внимание что сообщения на русском, а то что я вводил на русском потом возвращается системой в виде юникод-символов. Вот такие дела. UPDATE: драйвер не причем. переустановил в консоли(до установки X) по прежнему квадратики вместо букв. неужели придется переключатся на инглиш? Заметил что initscripts скачался c какого-то зеркала не с яндекса. возможно причина в нем.