Классы, наследование, пакеты и модульность в Java ☕️

Модульный программирование это процесс разделения компьютерной программы на отдельные подпрограммы. Модуль — это отдельный программный компонент. Его часто можно использовать в различных приложениях и функциях с другими компонентами системы. —www.techopedia.com

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


Занятия ☕️

Если мы еще не знали, все в Java так или иначе связано с классом, то почему? потому что Java — это объектно-ориентированный язык программирования, и, как и в любом языке ООП, Все является объектом. А чтобы объекты имели «Группировку» или «Чертеж», они должны принадлежать классу или быть классифицированы внутри него.

Вот пример.

Транспорт включают вагонывелосипеды, автотранспорт (мотоциклы, машины, грузовые автомобилиавтобусы), рельсовые транспортные средства (поезда, трамваи), плавсредства (корабли, катера), амфибии (винтовой аппарат, судно на воздушной подушке), самолет (самолеты, вертолеты) и космические корабли. — википедия


Следуя определению транспортных средств, данному в Википедии, хотя мы могли бы легко классифицировать синюю машину и синий велосипед как два разных объекта, мы в равной степени можем сказать, что они оба являются «транспортными средствами» и поэтому принадлежат к группе или классу «транспортных средств». Мы также видим, как классы действуют как чертежи для нескольких других типов объектов (включенных выше).

Хотя эти объекты относятся к одному и тому же классу, они не обязательно выполняют одни и те же «функции/действия», в этом случае мы называем эти функции/действия « методы ».

Методы 🏃🏼‍♀️💨

Можно сказать, что метод — это любой действие что объект может выполнять. Действия в том числе; летать, ехать, ездить, реверсировать. Однако объекты одного и того же класса (например, автомобиль и велосипед в нашем примере) могут не иметь всех общих методов, точно так же, как нельзя крутить педали автомобиля, как нельзя управлять велосипедом. Думайте о методах как Глаголы.


методы класса

Атрибуты 🎨

Атрибуты — это свойства объекта, это те вещи, которые определяют объект или отличают один объект от другого. «синий автомобиль» — слово «синий» говорит вам немного больше об автомобиле. Думайте об атрибутах как прилагательные.

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


атрибуты транслируются в переменные


Наследство 👩‍👩‍👧‍👧

Хорошо иметь кучу объектов и их коллективных методов и атрибутов, но что было бы лучше, если бы мы разделили эти методы и атрибуты на другие связанные объекты, и зачем нам это делать? Ну в основном для возможность повторного использования и соблюдение принципа DRY (не повторяйся). Здесь пригодится Наследование, наследование позволяет один класс ( подкласс/ребенок ) «наследовать» атрибуты и методы от другого класса ( суперкласс/родитель ).

Мы не будем слишком углубляться в детали наследования, просто рассмотрим практический пример в Java. Но для заметок у нас есть несколько типов наследования:

  • Сингл (мы бы коснулись этого)
  • Несколько
  • Многоуровневый
  • Иерархический
  • Гибридный

Чтобы объявить дочерний класс родительского класса в Java, вы используете ключевое слово *расширяет*.

Модульность 🍰

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

[‘😚’ + ‘❤️’ + ‘😉’] = 😘

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

Пакеты

Пакет в Java используется для группировки связанных классов. Пакет — это в основном папка связанных классов. Пакеты пригодятся при создании более удобного для сопровождения кода и в основном бывают двух типов:

  • Встроенные пакеты (Пакеты из Java API)
  • Пользовательские пакеты (пакеты, которые вы создаете)

Мы будем рассматривать только второй.

Собираем все вместе

Давайте рассмотрим очень простой пример: мы построим Калькулятор класс (родительский класс) с методами и атрибутами класса, затем расширить МойКалькулятор подкласс (дочерний класс) от него, который наследует от него методы и атрибуты. Мы будем использовать модуляризацию по умолчанию, так как мы разделим каждый из файлов классов и поместим их в одну папку (package).

Примечание : у вас должен быть только один класс на файл пакета

Сначала у нас будет такая структура папок пакета:


создайте папку пакета под названием калькулятор с этими классами

Примечание : я буду использовать Visual Studio Code для этого урока, «почему??» Как бы ни было здорово и приятно иметь IDE, такую ​​как Netbean или IntelliJ, абстрагирующую от вас все детали компиляции, одна проблема заключается в том, что вы можете не полностью понимать процесс и адекватно отлаживать проблемы, когда возникает необходимость.


Калькулятор.java 👨🏽‍💼👩🏼‍💼


Калькулятор.java

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


MyCalculator.java 👨‍👧


MyCalculator.java

Здесь мы объявляем дочерний класс МойКалькулятор который наследуется от родительского класса Калькулятор. Обратите внимание, что мы использовали необъявленную переменную z, нам не нужно объявлять г переменная снова приводит к тому, что дочерний класс (MyCalculator) наследует все атрибуты и методы от родителя ( Calculator ). А так как мы уже объявили z в родительском классе, нам не нужно повторять объявление в дочернем классе.

Мы также создали новый метод умножение который также принимает две целочисленные переменные и возвращает их произведение.

Примечание : к новому методу, созданному в нашем дочернем классе, нельзя получить доступ из нашего родительского класса. наследование не работает наоборот.

Примечание (снова): Чтобы наследовать от родительского класса, используйте « расширяет ключевое слово


Главная.java 🚀

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


main.java

  • Строка 3: объявляем две целочисленные переменные а а также б это будут аргументы, которые мы будем передавать нашим методам.
  • Строка 4: Чтобы получить доступ к методам, которые находятся в нашем классе MyCalculator, нам нужно создать пример этого класса. Итак, мы создали экземпляр MyCalculator под названием demo.
  • Мы вызываем методы сложения, вычитания и умножения, передавая переменные a и b в качестве аргументов.

Бежать

Хорошо, это та часть, где мы запускаем нашу программу. Поскольку мы не используем Netbean или IntelliJ, мы будем компилировать и запускать нашу программу вручную.

Есть два основных шага для успешного запуска Java-программы:

  • Компиляция (javac)
  • Исполнение (java)

Для компиляции мы используем javac команда

Для выполнения мы используем Ява команда

Примечание. Обычно, имея дело только с одним файлом/классом Java, мы запускаем обе команды только для этого класса. но в этом случае, когда мы имеем несколько связанных классов, было бы неплохо скомпилировать все программы один раз. К счастью, мы можем.

Откройте командную строку или терминал, в зависимости от используемой операционной системы.

Для окон : Нажмите клавишу Windows + R, затем введите «cmd» (без кавычек) и нажмите клавишу ввода. Вы должны увидеть всплывающую командную строку.


по умолчанию вы должны быть в своем каталоге пользователей ( C:\Users\Your_Name)

Теперь нам нужно зайти в каталог, где мы сохранили нашу программу. Я предполагаю, что он был сохранен на рабочем столе, а имя папки — «калькулятор». Чтобы перейти в каталог вашей программы, введите:

cd Рабочий стол/калькулятор


нажмите Ввод.

Теперь вы должны быть в каталоге вашего проекта.

Компиляция

Чтобы скомпилировать все классы в каталоге одновременно, введите:

javac./*.java

Примечание : Эта команда указывает компилятору Java просмотреть текущую папку, найти все файлы с расширением «.java» (в данном случае Calculator.java, MyCalculator.java и Main.java) и скомпилировать их.

Другой способ компилировать классы — по одному: если вы предпочитаете использовать этот метод, вам нужно выполнить компиляцию в следующем порядке:

  • Скомпилировать родительский класс ( Калькулятор javac.java )
  • Скомпилируйте дочерний класс ( javac MyCalculator.java )
  • Наконец, скомпилируйте основной класс ( javac Main.java )

Это создаст файл .class для каждого из классов (MyCalculator.class, Calculator.class, Main.class).

Выполнять

Чтобы запустить вашу программу, вам нужно только запустить класс, содержащий главный метод (в нашем случае Main.class)

Тип:

Java Главная

Вы должны получить следующий результат:

🎉🥂 Мы подошли к концу этого короткого😅 урока. Надеюсь, это поможет кому-то.

Ваше здоровье.

PS: не забудьте похлопать, если вам помогло.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *