Назад к вопросам
СБЕР
Junior — Middle
88
Можешь назвать основные паттерны объектно-ориентированного программирования?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Основные паттерны объектно-ориентированного программирования (ООП) включают:
- Наследование (Inheritance): позволяет создавать новые классы на основе существующих, наследуя их свойства и методы.
- Инкапсуляция (Encapsulation): скрывает внутренние детали реализации объекта, предоставляя доступ только через публичные методы.
- Полиморфизм (Polymorphism): способность объектов разных классов реагировать на одинаковые сообщения (методы) по-разному.
- Абстракция (Abstraction): выделение существенных характеристик объекта, скрывая несущественные детали.
Эти паттерны помогают создавать гибкие, расширяемые и поддерживаемые программы.
Пример на Go (использование интерфейсов для полиморфизма):
package main
import "fmt"
type Animal interface {
Speak() string
}
type Dog struct{}
func (d Dog) Speak() string {
return "Woof!"
}
type Cat struct{}
func (c Cat) Speak() string {
return "Meow!"
}
func main() {
animals := []Animal{Dog{}, Cat{}}
for _, animal := range animals {
fmt.Println(animal.Speak())
}
}
В этом примере разные типы реализуют один интерфейс, демонстрируя полиморфизм.