Назад к вопросам
Junior — Middle
76
Расскажите о вашем практическом опыте применения принципов объектно-ориентированного программирования в проектах
Ответ от нейросети
sobes.tech AI
В Go, несмотря на отсутствие классической объектно-ориентированной модели с наследованием, можно применять основные принципы ООП — инкапсуляцию, полиморфизм и композицию.
Например, для инкапсуляции используют структуры и методы:
package main
import "fmt"
type User struct {
name string
age int
}
func (u *User) Greet() {
fmt.Printf("Привет, меня зовут %s и мне %d лет\n", u.name, u.age)
}
func main() {
user := User{name: "Иван", age: 30}
user.Greet()
}
Полиморфизм достигается через интерфейсы:
type Greeter interface {
Greet()
}
func SayHello(g Greeter) {
g.Greet()
}
Таким образом, в проектах я использовал структуры с методами и интерфейсы для создания гибкой архитектуры, что облегчало поддержку и расширение кода.