Назад к вопросам
Junior
67
questionbank
Какие принципы объектно-ориентированного программирования существуют?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
- Инкапсуляция: Объединение данных и методов, работающих с этими данными, в единый объект и скрытие деталей реализации. Доступ к данным осуществляется через публичные методы.
- Абстракция: Сокрытие сложности путем представления существенных характеристик объекта или системы без включения фоновых деталей или объяснений. Фокусируется на "что делает" объект, а не на "как он делает".
- Наследование: Механизм, позволяющий одному классу (дочернему) наследовать свойства и поведение другого класса (родительского). Способствует повторному использованию кода и созданию иерархий классов.
- Полиморфизм: Способность объектов разных классов реагировать на одно и то же сообщение или вызов метода по-разному, в зависимости от своего типа. Позволяет обрабатывать объекты разных классов единообразно.
Пример полиморфизма:
class Animal {
public void sound() {
System.out.println("Generic animal sound");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Woof");
}
}
class Cat extends Animal {
@Override
public void sound() {
System.out.println("Meow");
}
}
// Использование полиморфизма
Animal myDog = new Dog();
Animal myCat = new Cat();
myDog.sound(); // Выведет "Woof"
myCat.sound(); // Выведет "Meow"