ООП — одна из самых фундаментальных концепций программирования. Давайте рассмотрим четыре основных концепции ООП в Java и обсудим, как каждая из них работает.
Java является одним из многих языков программирования и технологий, поддерживаемых ведущими инструментами Netreo в, Retrace и префиксов. В Netreo мы стремимся помочь разработчикам стать лучше. Давайте взглянем на некоторые из основополагающих концепций языка программирования Java с учебником по концепциям ООП в Java.
- Определение концепций ООП в Java
- Как работают концепции ООП в Java
- Как работает абстракция
- Как работает инкапсуляция
- Как работает наследование
- Как работает полиморфизм
- Примеры концепций ООП в Java
- Краткий пример инкапсуляции в Java
- Пример наследования в Java
- Краткий пример полиморфизма в Java
- Лучшие практики для концепций ООП в Java
Определение концепций ООП в Java
Основные идеи объектно-ориентированного программирования Java, концепции ООП включают абстракцию, инкапсуляцию, наследование и полиморфизм. По сути, концепции Java OOP позволяют нам создавать рабочие методы и переменные, а затем повторно использовать их все или часть без ущерба для безопасности. Понимание концепций ООП — ключ к пониманию того, как работает Java.
Java определяет концепции ООП следующим образом:
- Абстракция. Использование простых вещей для обозначения сложности. Все мы знаем, как включить телевизор, но нам не нужно знать, как он работает, чтобы наслаждаться им. В Java абстракция означает простые вещи, такие как объекты,классы и переменные, которые представляют более сложный базовый код и данные. Это важно, поскольку позволяет избежать повторения одной и той же работы несколько раз.
- Инкапсуляция. Практика сохранения закрытых полей внутри класса с последующим предоставлением доступа к этим полям через общедоступные методы. Инкапсуляция — это защитный барьер, который защищает данные и код внутри самого класса. Затем мы можем повторно использовать такие объекты, как компоненты кода или переменные, не открывая доступ к данным в масштабах всей системы.
- Наследование. Специальная функция объектно-ориентированного программирования в Java, наследование, позволяет программистам создавать новые классы, которые разделяют некоторые атрибуты существующих классов. Использование наследования позволяет нам опираться на предыдущую работу, не изобретая велосипед.
- Полиморфизм. Позволяет программистам использовать одно и то же слово в Java для обозначения разных вещей в разных контекстах. Одна из форм полиморфизма — перегрузка метода.Вот когда сам код подразумевает разные значения. Другая форма — это переопределение метода. Вот когда значения предоставленных переменных имеют разное значение. Давайте углубимся немного дальше.
Как работают концепции ООП в Java
Концепции ООП в Java работают, позволяя программистам создавать компоненты, которые можно повторно использовать различными способами, сохраняя при этом безопасность.
Как работает абстракция
Абстракция позволяет программистам создавать полезные и повторно используемые инструменты. Например, программист может создать несколько различных типов объектов, которые могут быть переменными, функциями или структурами данных. Программисты также могут создавать различные классы объектов как способы определения объектов.
Например, класс переменной может быть адресом. Класс может указать, что каждый объект адреса должен иметь имя, улицу, город и почтовый индекс. Объектами в этом случае могут быть адреса сотрудников, адреса клиентов или адреса поставщиков.
Как работает инкапсуляция
Инкапсуляция позволяет нам повторно использовать функциональность без ущерба для безопасности. Это мощная, экономящая время концепция ООП в Java. Например, мы можем создать фрагмент кода, который вызывает определенные данные из базы данных. Может быть полезно повторно использовать этот код с другими базами данных или процессами. Инкапсуляция позволяет нам делать это, сохраняя при этом конфиденциальность исходных данных. Это также позволяет нам изменять наш исходный код, не нарушая его для других, которые тем временем приняли его.
Как работает наследование
Наследование — это еще одна экономящая труд концепция Java ООП, которая работает, позволяя новому классу перенимать свойства другого. Мы называем наследующий класс подклассом или дочерним классом. Исходный класс часто называют родительским. Мы используем ключевое слово extends для определения нового класса, который наследует свойства старого класса.
Как работает полиморфизм
Полиморфизм в Java работает, используя ссылку на родительский класс для воздействия на объект в дочернем классе. Мы могли бы создать класс под названием «лошадь», расширив класс «животное». Этот класс может также реализовывать класс «профессиональных гонок». Класс «лошадь» является «полиморфным», поскольку он наследует атрибуты как класса «животное», так и класса «профессиональные скачки».
Еще два примера полиморфизма в Java — это переопределение метода и перегрузка метода.
При переопределении метода дочерний класс может использовать концепцию полиморфизма ООП для переопределения метода своего родительского класса. Это позволяет программисту использовать один метод по-разному в зависимости от того, вызывается ли он объектом родительского класса или объектом дочернего класса.
При перегрузке метода один метод может выполнять разные функции в зависимости от контекста, в котором он вызывается. Это означает, что одно имя метода может работать по-разному в зависимости от того, какие аргументы ему переданы.
Примеры концепций ООП в Java
Теперь, когда мы объяснили основополагающие концепции ООП в Java, давайте рассмотрим несколько распространенных примеров.
Краткий пример инкапсуляции в Java
В приведенном ниже примере инкапсуляция демонстрируется как концепция ООП в Java. Здесь переменная name остается закрытой или инкапсулированной.
//save as Student.java package com.javatpoint; public class Student { private String name; public String getName() { return name; } public void setName(String name) { this.name = name } } //save as Test.java package com.javatpoint; class Test { public static void main(String[] args) { Student s = new Student(); s.setName(“vijay”); System.out.println(s.getName()); } }
Compile By: javac -d . Test.java Run By: java com.javatpoint.Test Output: vijay
Пример наследования в Java
В Java довольно просто добиться наследования как концепции ООП. Наследование может быть таким же простым, как использование ключевого слова extends :
class Mammal { } class Aardvark extends Mammal { }
Краткий пример полиморфизма в Java
В приведенном ниже примере полиморфизма как концепции ООП в Java у нас есть два класса: Person и Employee. Класс Employee наследуется от класса Person с помощью ключевого слова extends. Здесь дочерний класс переопределяет родительский класс.
class Person { void walk() { System.out.println(“Can Run….”); } } class Employee extends Person { void walk() { System.out.println(“Running Fast…”); } public static void main(String arg[]) { Person p = new Employee(); //upcasting p.walk(); } }
Лучшие практики для концепций ООП в Java
Цель концепций ООП в Java — сэкономить время без ущерба для безопасности и простоты использования. Все следующие передовые практики направлены на достижение этой главной цели.
- DRY (Don’t Repeat Yourself). Основная концепция Java, DRY просто означает, что у вас никогда не должно быть двух блоков идентичного кода в двух разных местах. Вместо этого используйте один метод для разных приложений.
- Если вы ожидаете, что ваш код Java изменится в будущем, инкапсулируйте его, сделав с самого начала все переменные и методы закрытыми. По мере изменения кода увеличивайте доступ к «защищенным» по мере необходимости, но не слишком общедоступным.
- Single Responsibility. Этот принцип наилучшей практики для концепций ООП в Java гласит, что класс всегда должен иметь только одну функциональность. Таким образом, класс может быть вызван и / или расширен сам по себе, когда для него появятся новые применения, не вызывая связи между различными функциями.
- Open Closed Design. Сделайте все методы и классы закрытыми для модификации, но открытыми для расширения. Таким образом, испытанный и проверенный код может оставаться статичным, но его можно модифицировать для выполнения новых задач по мере необходимости.
Эти концепции и передовые методы хороши ровно настолько, насколько хороши разработчики, которые их реализуют. Чтобы сделать вашу работу лучше, вам понадобятся инструменты повышения производительности для улучшения вашего программирования на Java.