Sobes.tech
Назад к вопросам
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()
}

Таким образом, в проектах я использовал структуры с методами и интерфейсы для создания гибкой архитектуры, что облегчало поддержку и расширение кода.