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.