Sobes.tech
Junior — Middle

Можеш ли да назовеш основните модели на обектно-ориентираното програмиране?

sobes.tech AI

Отговор от AI

Основните модели на обектно-ориентираното програмиране (ООП) включват:

  • Наследяване: позволява създаването на нови класове въз основа на съществуващи, наследявайки техните свойства и методи.
  • Инкапсулация: скрива вътрешните детайли на реализацията на обекта, предоставяйки достъп само чрез публични методи.
  • Полиморфизъм: способността на обекти от различни класове да реагират по различен начин на едни и същи съобщения (методи).
  • Абстракция: подчертава съществените характеристики на обекта, скривайки незначителните детайли.

Тези модели помагат за създаването на гъвкави, разширяеми и поддържани програми.

Пример на Go (използване на интерфейси за полиморфизъм):

package main
import "fmt"

type Animal interface {
    Speak() string
}

type Dog struct{}
func (d Dog) Speak() string {
    return "Гауу!"
}

type Cat struct{}
func (c Cat) Speak() string {
    return "Мяу!"
}

func main() {
    animals := []Animal{Dog{}, Cat{}}
    for _, animal := range animals {
        fmt.Println(animal.Speak())
    }
}

В този пример различни типове реализират един интерфейс, демонстрирайки полиморфизъм.