Java ООП для начинающих: классы, объекты, примеры

Введение

Java — объектно-ориентированный язык, поэтому мы уже сталкивались с концепциями ООП. Пока ООП можно рассматривать как создание классов и на их основе — объектов. Класс — основной компонент, содержащий поля и методы. Даже в коде класса Main мы использовали ООП, хотя и не углублялись в его принципы. ООП — удобный инструмент.

Пример с Трансформером

Рассмотрим пример с трансформером. Создадим класс Трансформер. В нём будут поля (переменные) и методы (функции), описывающие трансформера: вес, скорость, сила, умения прыгать, бегать, бить и т.д. На основе класса создадим конкретный объект — конкретного робота со своими характеристиками. Благодаря ООП, мы один раз описываем характеристики и используем их для множества объектов, не переписывая код.

Основные концепции ООП

Четыре основных принципа ООП: абстракция, инкапсуляция, наследование и полиморфизм.

Абстракция

Абстракция — отделение несущественных характеристик. Например, у всех трансформеров есть скорость (общая характеристика), которую мы запишем в класс. Цвет щита — не общая характеристика, поэтому его не записываем в класс, чтобы не перегружать его. Скорость — общая характеристика, цвет щита — характеристика конкретного объекта.

Полиморфизм

Полиморфизм позволяет создавать один интерфейс для разных функций. Например, функция «работать» может реализовываться по-разному для разных объектов: один трансформер моет полы, другой убирает, третий моет посуду. Один общий метод («работать») реализуется по-своему для каждого объекта. Подробнее об интерфейсах поговорим позже.

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

Инкапсуляция — защита характеристик (полей и методов). Модификаторы доступа, такие как public и private, определяют доступ к ним. Public означает доступ повсюду, а private — только внутри класса. Инкапсуляция защищает методы от внешнего вмешательства.

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

Наследование — когда один класс наследует все методы (с модификатором доступа public) другого класса. Например, класс-наследник наследует все из базового класса. Подробнее о наследовании поговорим в отдельном уроке.

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

Что будем искать? Например,программа