Можно сказать, что объектно-ориентированное программирование — это способность представлять повседневные идеи, вещи или объекты в коде. И человека, и машину можно рассматривать как объекты, которые можно представить, например, в коде.

Что такое класс?

Одно из моих любимых описаний того, что такое класс, — это то, где класс называется чертежом объекта. Своего рода воплощение объекта, если хотите. В Java этот план может содержать свои определяющие функции или характеристики в форме переменных или свойств, и, как и любой развивающийся объект, если их необходимо изменить, Java обеспечивает это с помощью действий, обычно называемых методами. Это просто самые основные вещи, которые может вместить класс.

Наследование

Объекты могут передавать поведение и функции друг другу. Хороший способ понять это — быстро взглянуть на свое подобие в зеркале. Вы можете начать замечать, что эти задумчивые глаза, которые вы так любите, да, эти глаза-бусинки, смотрящие на вас, очень похожи, если не почти идентичны глазам вашей мамы. Твоё постоянное жуткое предпочтение пива перед вином. Могло ли это исходить от твоего отца? Точно так же, как мы получаем определенные атрибуты от наших родителей, объекты также создаются из родительских классов, которые разделяют с ними определенные качества посредством наследования.

Инкапсуляция

В объектно-ориентированном программировании объекты создаются таким образом, что только некоторые данные могут быть показаны, а некоторые скрыты. Это в основном для обеспечения безопасности. Мне нравится думать об этом как о сокрытии семейных драгоценностей. Некоторые вещи просто нужно держать в тайне.

Полиморфизм

Это относится к различным реализациям унаследованных действий или методов. Конечно, вы и ваш отец оба любите пиво, но вы можете заметить, что это не совсем один и тот же напиток. Он может предпочесть старый зарекомендовавший себя бренд, ласково известный как Zamalek, где вы превратились в красочного хипстера, любящего брюки длиной до щиколотки, который только коснется его вариации ремесленного убеждения.

Абстракция

Java использует интерфейсы и абстрактные классы только для того, чтобы показать важную информацию. В прошлом у меня был случай, когда кто-то использовал аналогию с автомобильным двигателем, чтобы пояснить это. Во время вождения автомобиля нам не нужно знать, кроме основ, как работает двигатель. В лучшем случае большинство водителей заботит только то, как заставить машину двигаться и останавливаться, чтобы она могла доставить их из пункта А в пункт Б.

Это самые основные концепции объектно-ориентированного программирования, которые, как правило, имеют больше смысла, только когда вы действительно начинаете программировать по-настоящему.