IT-кот 7. Классовое неравенство
Кто как ни кот знает все о классовом неравенстве? Хороший кот легко отличит дворян (т.е. котов) от челяди (т.е. людей). Как? С помощью объектно-ориентированного программирования.
Зачем нужна классификация? Во-первых, она позволяет точно определить, где собрат, а где обслуживающий персонал. Во-вторых, классификация нужна для четкого понимания, кто для чего предназначен: собрат - для "тыгыдык", персонал - для "дай еды".
Что ж, давайте опишем две эти роли на языке программирования.
Начнем с того, что дадим наименование классу - public class Cat { } для дворян и public class It { } для человеков.
Далее опишем характеристики, которые позволят отнести объект материального мира (да прибудет с нами немного философии) к одному из классов.
Итак, что такое человек?
«Человек, — сказал Платон, — это двуногое животное без перьев». Тогда Диоген ощипал петуха и со словами: «Вот твой человек», — поставил его перед Платоном.
Платон задумался и уточнил: «Двуногое животное без перьев и с плоскими ногтями».
Ну хорошо, а кто же тогда - кот. Кот - неописуемый творец мироздания, который, однако, в сравнении с человеком может быть описан как животное без перьев и с четырьмя ногами. Ногтей у котов отродясь не было, у котов - когти.
Так, стоп, у нас появляется еще один класс - оказывается, что кот и человек - животные. Что ж, добавим и его: public class Animal { }.
И перепишем объявления классов, указав, что кот: животное, человек: животное.
public class Cat: Animal { }
public class It: Animal { }
Так, куда писать параметры? Параметры записываются внутри фигурных скобок в виде полей:
public class Animal
{
public bool _hasFeathers; //true, если перья есть, false - если нет
public int _legs;// количество ног
}
Человеку дадим ногти:
public class It: Animal
{
public bool _hasNails;
}
а коту - имя:
public class Cat: Animal
{
public string _name;
}
Осталось создать одного человека (практика показывает, что он плохо, но все же справляется) и пару котов. В программировании для таких целей есть конструктор. Конструктор - это метод, который устанавливает начальное состояние объекта. Объект - это любой экземпляр ("представитель") класса. От обычного метода конструктор отличается тем, что вызывается он один раз для одного создания объекта и не имеет указания возвращаемого типа (а зачем оно ему - мы и так значем, что создаем).
Итого, человек у нас выглядит так:
public class It: Animal
{
public bool _hasNails;
public It(bool hasFeathers, int legs, bool hasNails)
{
_hasFeathers = hasFeathers;
_legs = legs;
_hasNails = hasNails;
}
}
а кот - так:public class Cat: Animal
{
public string _name;
public Cat(bool hasFeathers, int legs, string name)
{
_hasFeathers = hasFeathers;
_legs = legs;
_name = name;
}
}
Пример классового разделения в одном взятом доме - см. по ссылке.
P.S. Догадайтесь, кто здесь "сэр", а кто "Семён Семёнович".
Котомафия
126K пост35.4K подписчика
Правила сообщества
В сообществе категорически запрещено:
✔Оскорблять других пользователей. Запрещено использование нецензурных выражений и ругательств. Замена части букв значками "@", "#", "$" и т. д. при вычислимости исходного слова не избавляет от ответственности. Категорически не рекомендуется использование грубо-просторечной лексики, а также упоминания физиологических отклонений;
✔ Сообщения не по теме. Публикуемые сообщения должны соответствовать заявленной теме сообщества;
✔Размещение постов о помощи животным в сообществе без обязательных тегов: #вдобрыеруки #помощь #без рейтинга
Так же напоминаем, что на Пикабу существует специальное сообщество ."Айболит. Помощь животным"
Дорогие друзья, которым не нравятся посты с просьбами о помощи животным, очень просим Вас добавить теги: #помощь #вдобрыеруки и др. в черный список.
✔Плагиат! Не присваивай себе чужие идеи, записи и другой авторский контент.
✔Некорректные комментарии в комментариях, откровенный флуд, провокации, пропаганду жестокого и безответственного отношения к животным и пр. участники заносятся в черный список без дополнительных пояснений и предупреждений!
✔Нарушать правила Пикабу.
Заметили нарушение правил: напишите@zluchkin , @Darsinka
Не забывайте ставить тег "моё", "кот", "котомафия" если выкладываете своих любимцев.
Мы есть в VK:@kotomafia _fan, отмечайте нас на Ваших фото.