Спросят с вероятностью 81%
Объектно-ориентированное программирование (ООП) — это парадигма, основанная на концепции "объектов", которые могут содержать данные в виде полей (часто называемых атрибутами или свойствами) и код в виде процедур (часто называемых методами). ООП фокусируется на использовании объектов для моделирования реальных или абстрактных сущностей, интересующих в процессе разработки программного обеспечения, облегчая тем самым разработку и поддержку программ.
Основные принципы:
1️⃣ Инкапсуляция — это сокрытие внутренних деталей реализации объекта от внешнего мира. Только сам объект управляет своим состоянием, внешние объекты взаимодействуют с ним через методы. Это позволяет упростить интерфейсы взаимодействия между компонентами и улучшить модульность.
2️⃣ Наследование — механизм, с помощью которого один класс (дочерний класс) может наследовать свойства и методы другого класса (родительского класса), потенциально переопределяя некоторые из них. Это способствует повторному использованию кода и иерархической организации классов.
3️⃣ Полиморфизм — способность объектов с одинаковым интерфейсом предоставлять различную реализацию. Это позволяет одному и тому же коду работать с объектами разных типов.
4️⃣ Абстракция — процесс выделения существенных характеристик объекта, исключая несущественные. Это помогает сосредоточиться на том, что объект делает, а не на том, как он это делает.
Пример:
class Животное {
void есть() {
System.out.println("Животное ест");
}
}
class Кот extends Животное {
void есть() {
System.out.println("Кот ест рыбу");
}
}
public class Main {
public static void main(String[] args) {
Животное моеЖивотное = new Кот();
моеЖивотное.есть(); // Выведет "Кот ест рыбу", демонстрируя полиморфизм
}
}В этом примере
Кот наследует поведение от Животное и переопределяет метод есть, демонстрируя наследование и полиморфизм. Инкапсуляция и абстракция также затрагиваются, поскольку мы взаимодействуем с объектами через их поведение, не заботясь о внутреннем устройстве.Объектно-ориентированное программирование — это подход к разработке программ, который использует "объекты" — сущности с данными и методами для моделирования реального или абстрактного мира. Это помогает сделать код более модульным, легко расширяемым и поддерживаемым.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🎉8🔥7❤1😁1
Спросят с вероятностью 75%
Исключения (exceptions) важная часть обработки ошибок. Есть две основные категории: проверяемые (checked) и непроверяемые (unchecked).
Проверяемые исключения (Checked Exceptions):
✅ Должны быть явно обработаны в коде с помощью блока
try-catch или должны быть указаны в сигнатуре метода с помощью ключевого слова throws. ✅ Они представляют ошибки, которые могут возникнуть во время выполнения программы и которые во многих случаях программист может предвидеть и обработать. Например, ошибка чтения файла, когда файл не существует.
✅ Примеры классов проверяемых исключений включают
IOException, FileNotFoundException, ClassNotFoundException и другие.Пример:
try {
FileInputStream file = new FileInputStream("non_existent_file.txt");
} catch (FileNotFoundException e) {
e.printStackTrace();
}В этом примере
FileNotFoundException является проверяемым исключением, и его необходимо обрабатывать в блоке try-catch.Непроверяемые исключения (Unchecked Exceptions):
✅ Не требуют обязательной обработки в коде. Они обычно возникают из-за ошибок программирования, таких как деление на ноль или доступ к элементу за пределами массива.
✅ К ним относятся ошибки времени выполнения (RuntimeException) и ошибки (Error).
✅ Примеры включают
NullPointerException, IndexOutOfBoundsException, ArithmeticException и другие.Пример:
int result = 10 / 0; // Приводит к ArithmeticException
Здесь
ArithmeticException является непроверяемым исключением, вызванным делением на ноль.Почему разделение на checked и unchecked?
Разделение позволяет управлять потенциальными ошибками, которые могут быть исправлены, и отличать их от ошибок времени выполнения, которые чаще всего являются результатом ошибок в коде. Это способствует написанию более надежного и устойчивого к ошибкам кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥4