IT-кот 10. Скрытность на 100
Человеки при всей их обычности обладают сильным колдунством - иначе как объяснить почему лоток снова опустел? IT кот готов передать власть над материей в руки простых котов. Вот это, конечно, да....
Для ЛЛ или тех кто не боится заклинаний на древней латыни (ну почти латыни) пример кода, использующийся в посте теперь буду выкладывать в верхней его части, выделив в рамочку (иначе его никто больше не выделит в рамочку). Пример колдунства лежит здесь.
Как в любом хорошем фокусе, материя никуда не девается - ее лишь убирают из виду. IT-кот называет это заклинание инкапсуляцией.
Что можно инкапсулировать помимо характерной субстанции лотка? Инкапсуляцию можно использовать для защиты чувствительной информации (которую кто-то может "украсть" и применить не так, как задумывалось изначально), либо сокрытия нюансов реализации конкретного действия (когда мы просим это дать еды, нам не важно, как это еды нам достанет).
Если говорить о программировании, то инкапсуляция позволяет разделить весь код на личный и публичный. К личному относится та часть кода, которая содержит в себе чувствительную информацию, либо нюансы реализации, которые не должны быть доступны публике.
Кто такая публика? Это либо другие разработчики, которые пытаются использовать ваш класс в своей работе, либо вы сами через пару месяцев, забыв что в вашем коде от чего зависит.
Первым шагом к инкапсуляции является выделение вышеобозначенных ролей. Для этого каждый элемент класса помечается модификаторами: public (для всех) и private (для частного использования). Также распространен модификатор protected, который позволяет использовать элемент класса самому этому классу, а также всем его потомкам. Если модификатор не указывать, то по умолчанию выставляется самый высокий модификатор (ограничивающий область использования больше всех) - private.
Итак, первая цель - защита чувствительных данных в классе.
Очевидно, что в случае с котом чувствительными данными будет имя - ведь ты не хочешь быть барсиком, когда ты сэр. Возьмем примеры из предыдущих постов (а именно из IT-кот 7. Классовое неравенство и IT-кот 9. "Му" говорит виртуальный кот) можно модифицировать, указав, что имя кота можно менять только в классе кот:
private string _name;
Теперь любая попытка обратиться к коту будет запрещена компьютером и ничего работать не будет. Хотя ладно, пусть обращаются, только с должным почтением, поэтому позволим получать наше имя в отдельном методе:
public string GetName()
{
return "его Величество, " + _name;
}
В отличие от прочих методов этот возвращает тип строку (для указания что конкретно необходимо возвратить используется ключевое слово return).Ну и перепишем перечисление проживающих в доме котов:
Cat cat = animal as Cat;
Console.Write(cat.GetName());
Console.Write(", ");
Итого, мы смогли упростить метод перечисления (на одну строку), вынести способ обращения внутрь класса Cat и позволить тем самым котам самим определять то, как к ним обращаются.Ну ладно, это все удобно, но IT-кот власть за счет сокрытия всего сущего. Как же этого добиться? С помощью личных методов. Очевидно, что личным методом котов является тыгыдык, опишем его так: private void DoTygydyk(). Теперь тыгыдык как бы есть, но его как бы нет совсем. Даже в методе Show (который знает, где кот, а где животное) не получиться кота попросить сделать тыгыдык.
Когда происходит тыгыдык? Всегда, но разве что не в момент создания кота. Поэтому перед каждым действием в классе Cat надо вызвать случайный тыгыдык.


Котомафия
125K постов35.3K подписчиков
Правила сообщества
В сообществе категорически запрещено:
✔Оскорблять других пользователей. Запрещено использование нецензурных выражений и ругательств. Замена части букв значками "@", "#", "$" и т. д. при вычислимости исходного слова не избавляет от ответственности. Категорически не рекомендуется использование грубо-просторечной лексики, а также упоминания физиологических отклонений;
✔ Сообщения не по теме. Публикуемые сообщения должны соответствовать заявленной теме сообщества;
✔Размещение постов о помощи животным в сообществе без обязательных тегов: #вдобрыеруки #помощь #без рейтинга
Так же напоминаем, что на Пикабу существует специальное сообщество ."Айболит. Помощь животным"
Дорогие друзья, которым не нравятся посты с просьбами о помощи животным, очень просим Вас добавить теги: #помощь #вдобрыеруки и др. в черный список.
✔Плагиат! Не присваивай себе чужие идеи, записи и другой авторский контент.
✔Некорректные комментарии в комментариях, откровенный флуд, провокации, пропаганду жестокого и безответственного отношения к животным и пр. участники заносятся в черный список без дополнительных пояснений и предупреждений!
✔Нарушать правила Пикабу.
Заметили нарушение правил: напишите ,
Не забывайте ставить тег "моё", "кот", "котомафия" если выкладываете своих любимцев.
Мы есть в VK: _fan, отмечайте нас на Ваших фото.