Sobes.tech
Junior — Middle

Obyektga yo'naltirilgan dasturlashning asosiy shablonlarini aytib bera olasizmi?

sobes.tech AI

AIdan javob

Obyektga yo'naltirilgan dasturlashning asosiy namunalariga quyidagilar kiradi:

  • Merosi (Inheritance): mavjud sinflar asosida yangi sinflar yaratishga imkon beradi, ularning xususiyatlari va metodlarini meros qilib oladi.
  • Inkapsulyatsiya (Encapsulation): ob'ektning ichki tafsilotlarini yashiradi, faqat jamoat metodlari orqali kirishni ta'minlaydi.
  • Polimorfizm (Polymorphism): turli sinflarga mansub ob'ektlar bir xil xabarlar (metodlar)ga turlicha javob berish imkoniyatiga ega.
  • Abstraktsiya (Abstraction): ob'ektning muhim xususiyatlarini ajratib ko'rsatadi, muhim bo'lmagan tafsilotlarni yashiradi.

Ushbu namunalar moslashuvchan, kengaytiriladigan va qo'llab-quvvatlanadigan dasturlar yaratishda yordam beradi.

Go tilida misol (interfeyslar yordamida polimorfizm):

package main
import "fmt"

type Animal interface {
    Speak() string
}

type Dog struct{}
func (d Dog) Speak() string {
    return "Gav!"
}

type Cat struct{}
func (c Cat) Speak() string {
    return "Miyav!"
}

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

Ushbu misolda, turli turlar bir xil interfeysni amalga oshiradi va polimorfizmni namoyish etadi.