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())
}
}
Дар ин мисол, намудҳои гуногун интерфейси якхеларо иҷро мекунанд ва полиформизмро нишон медиҳанд.