Что такое ООП? Класс, объект

ООП (Объектно-ориентированное программирование) – это способ построения программных продуктов. Такие программные продукты состоят из объектов и вся работа такого программного продукта построена на взаимодействии этих объектов.

Что же такое объект в таком программном продукте?

Да, в общем-то, всё что угодно.

Например, какой-либо элемент интерфейса – скажем, панель с кнопками – может быть обьектом.

Или если, например, программный продукт как-то связан с котами (например, программа для поиска подходящей породы кошки), то в ней точно будет объект кота.

И таких разных объектов в продукте может быть очень много и все они будут тем или иным образом взаимодействовать друг с другом.

То есть, как уже можно было догадаться, объект это программная модель какой-либо сущности реального мира.

Сущность на основе которой строиться модель может иметь какие-либо характеристики и может проявлять какое-либо поведение. Соответственно модель тоже должна содержать эти характеристики и уметь проявлять поведение этой сущности.

Характеристики в объекте правильно называть свойствами, а какое-либо поведение объект проявляет с помощью методов(функций) в нем.

Например, есть сущность реального мира кот. Кот имеет характеристики – имя кота, цвет кота и т.д.

Кот может проявлять какое-либо поведение – например сказать Мяу.

Если представить кота, как его модель в виде объекта, то свойствами этого объекта будут, например, кот по имени Барсик серого цвета, и он будет говорить мяу с помощью метода в нем.

Как видим, объект кота уже имеет конкретное имя Барсик и имеет конкретный цвет серый. То есть объект – это уже конкретный кот, а не просто кот в общем.

А вот кот в общем – это КЛАСС.

Кот в общем – это шаблон по которому был создан объект кота.

То есть класс задает, что у кота должно быть имя и цвет (это называется ПОЛЯМИ класса) и он должен уметь говорить мяу (в классе описывается то, как он должен говорить мяу).

А уже по этому шаблону создается объект кота с конкретным именем, цветом и он уже, собственно, говорит мяу, как ему было задано говорить мяу в классе кота.


Класс кота и объект этого класса на примере.

Ниже приведен класс кота и создание его объекта с подробным пояснением.

// Это класс кота (кот “в общем” или шаблон кота). class Cat { // Это поля класса. То есть любой кот, который будет создан по этому шаблону, будет иметь // имя и цвет. Когда по шаблону кота будет создан конкретный объект кота, // этот объект будет иметь конкретное значение в name и конкретное значение в color. String name; String color; // Любой кот должен уметь говорить “мяу”. // Здесь в методе sayMeow мы описываем, как наш кот будет говорить “мяу”. void sayMeow() { System.out.println(“Meow”); } } class JavaOOP { public static void main(String[] args) { // В main мы создаем объект кошки по классу кошки. // То есть мы создаем конкретного кота. // С помощью new выделяем память под объект этого кота. Cat somecat = new Cat(); // Внизу мы даем этому конкретному коту имя и цвет. somecat.name = “Barsik”; somecat.color = “White”; // И теперь давайте же наш только что появившийся кот скажет “мяу”. somecat.sayMeow(); } }

Вывод:

Конструктор класса

Узнайте, как работают конструкторы в Java: создание объектов, инициализация полей. Примеры кода для понимания принципов ООП.

Time to read: 9

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

Инкапсуляция в Java: один из трёх столпов ООП. Узнайте, как сокрытие деталей реализации класса защищает данные и упрощает работу с объектами. Примеры

Time to read: 13

Модификаторы доступа

Public и private в Java: как ограничивать доступ к полям и методам. Основы инкапсуляции и безопасность данных в ООП.

Time to read: 12