Sobes.tech
Junior — Middle

Мехоҳед моделҳои асосии барномасозии объектӣ-равонагиро номбар кунед?

sobes.tech AI

Ҷавоб аз AI

Нигарони асосии объектӣ-ба равишҳои барномасозӣ (ООП) иборатанд аз:

  • Наследство (Inheritance): имкон медиҳад, ки синфҳои навро бар асоси синфҳои мавҷудбуда созанд, хусусиятҳо ва усулҳои онҳоро ба мерос мегиранд.
  • Инкапсулятсия (Encapsulation): тафсилоти дохилии иҷрои объектро пинҳон мекунад, дастрасиро танҳо тавассути усулҳои умумӣ таъмин мекунад.
  • Полиформизм (Polymorphism): қобилияти объектҳои синфҳои гуногун ба паёмҳо (усулҳо) дар роҳи гуногун ҷавоб додан.
  • Абстраксия (Abstraction): хусусиятҳои муҳими объектро таъкид мекунад, тафсилоти нолозимро пинҳон мекунад.

Ин моделҳо кӯмак мекунанд, ки барномаҳои чандир, васеъшаванда ва нигоҳдошташаванда эҷод кунанд.

Масалан дар 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())
    }
}

Дар ин мисол, намудҳои гуногун интерфейси якхеларо иҷро мекунанд ва полиформизмро нишон медиҳанд.