Тимур Машнин

Объектно-ориентированное программирование на Java. Платформа Java SE


Скачать книгу

с огромным набором методов, чтобы сделать жизнь проще.

      Вы не только можете добавить элемент в самом конце, но вы также можете добавить элемент по определенному индексу.

      Вы можете очистить массив, вы можете выполнить поиск по массиву.

      Например, вы ищете конкретное слово, но вы не знаете, в каком индексе оно находится.

      Это метод indexOf.

      Вы также можете удалить и установить определенный индекс.

      По сути, ArrayList это массив внутри класса, который имеет большой размер 2^32—1, так что вы не сможете использовать всю длину массива.

      ArrayList имеет переменную размера, которую он всегда поддерживает.

      Вы добавляете элемент в массив и удаляете, при этом изменяется переменная размера.

      Абстракция

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

      Абстракция является одним из ключевых принципов OOAD (объектно-ориентированный анализ и дизайн).

      И абстракция достигается композицией (разделением) и агрегацией (объединением).

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

      И мы можем записать все свойства автомобиля, двигателя и колеса в одном классе.

      В этом примере атрибуты колеса и двигателя добавляются к типу автомобиля.

      При программировании это не вызовет каких-либо проблем.

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

      Теперь, используя абстракцию, мы можем отделить вещи, которые можно сгруппировать в другом типе.

      Часто изменяющиеся свойства и методы можно сгруппировать в отдельный тип, чтобы основной тип не нуждался в изменении.

      Это добавляет силы принципу OOAD – «Код должен быть открыт для расширения, но закрыт для модификации».

      И это упрощает представление модели.

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

      Вы можете видеть, что атрибуты и методы, связанные с двигателем и колесом, перемещаются в соответствующие классы.

      Двигатель и колесо относятся к типу автомобиля.

      Когда создается экземпляр автомобиля, оба – двигатель и колесо будут доступны для автомобиля, а когда будут изменения этих типов (двигателя и колеса), изменения будут ограничиваться только этими классами и не будут влиять на класс Car.

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

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

      Абстракция является одним из основополагающих принципов языков объектно-ориентированного программирования.

      И абстракция помогает снизить сложность, а также