Касиеттер жана инкапсуляция
Объекттердин маалыматын таза атрибут синтаксиси жана тынч текшерүү менен коргоңуз
@property декоратору колдонулат — ал эми чакырган код мурдагыдай эле жөнөкөй obj.value деп жаза берет.
- инкапсуляция деген эмне жана ал эмне үчүн керек экенин түшүндүрүү,
- бир
_singleжана эки__doubleастын сызуу келишимдерин туура окуу, @propertyменен методду окуу гана атрибутуна айландыруу,- ар бир жазууну текшерген
@x.setterкошуу, - эсептелме (туунду) касиеттерди түзүү жана алардын жеңилдиктерин билүү.
1. Инкапсуляция деген эмне?
Инкапсуляция — объектке багытталган программалоонун негизги мамыларынын бири. Бул тартип: объекттин ички абалын жабык кармап, программанын калган бөлүгүнө көзөмөлдөнгөн, так аныкталган бетти сунуштоо. Объект өз маалыматы үчүн жооптуу болот: кайсы маани туура экенин өзү чечет, эч ким сырттан аны тынч гана бузук абалга алып келе албайт.
Банкоматты элестетиңиз. Сиз накталай акчаны лотоктордун ортосунда жылдыруу үчүн машинанын ичине эч качан кол салбайсыз. Сиз кичинекей корголгон интерфейс аркылуу иштейсиз — картаны салуу, PIN киргизүү, сумманы суроо — жана машина ичиндеги акчага тийгенге чейин эрежелерди текшерет (туура PIN, жетиштүү баланс, күндүк чек). Накталай лотоктор — жеке абал; клавиатура жана экран — ачык интерфейс. Инкапсуляция — класстарды ушундай эле долбоорлоо.
Ансыз чоң программанын каалаган бөлүгү кирип account.balance = -9999 деп коё алат, жана эми сизде каалаган жерден төрөлгөн ката бар. Инкапсуляция менен класстын өзү туура эмес маанилерди кабыл албайт, ошондуктан ката булагында кармалат.