Junior — Middle
Объектке багытталган программалоодо маалыматтарды капсулдаштыруу концепциясын түшүндүрүңүз.
sobes.tech AI
AIден жооп
Капсулация — бул объект-ориентирленген программалоонун негизги принциптеринин бири, ал объекттин ички абалын жашырып, ага тек гана методдор (интерфейс) аркылуу жетүүнү камсыз кылат.
Go тилинде капсулация идентификаторлордун көрүнүктүүлүгү аркылуу ишке ашырылат:
- Аты чоң тамгадан башталгандар экспорттолот жана башка пакеттерден жеткиликтүү болот (жалпыга маалымдоо).
- Аты кичүү тамгадан башталгандар гана пакеттердин ичинде жеткиликтүү болот (жеке).
Мындайча айтканда, маалыматтарды капсулациялоо үчүн, структуранын талааларын кичүү тамгамен жарыялоо жана ошол талааларга жетүү жана өзгөртүү үчүн методдорду камсыз кылуу керек.
Мисал:
package user
type User struct {
name string // жеке талаа
}
func NewUser(name string) *User {
return &User{name: name}
}
func (u *User) GetName() string {
return u.name
}
func (u *User) SetName(name string) {
u.name = name
}
Бул ыкма маалыматтарга жетүүнү көзөмөлдөөгө, алардын бүтүндүгүн камсыз кылууга жана ички ишке ашырууну өзгөртүүгө мүмкүндүк берет, сырткы кодго таасир этпестен.