Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
|
inkapsuljacija [2023/09/08 07:27] oresh.dm создано |
inkapsuljacija [2023/09/18 11:40] (текущий) oresh.dm |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | Свойства доступны только из нутри класса, | + | Инкапсуляция - это принцип размещения данных и методов работы с этими данными в одном объекте. Разграничение доступа к этим данным посредством спец. флагов(ключевых слов). |
| + | |||
| + | Свойства | ||
| + | |||
| + | class Wallet { | ||
| + | var balance = 0 | ||
| + | } | ||
| + | |||
| + | Без инкапсуляции | ||
| + | var wallet = Wallet() | ||
| + | wallet.balance = -5000 // что не должно быть так | ||
| + | |||
| + | С инкапсуляцией | ||
| + | class Wallet { | ||
| + | private var balance = 0 | ||
| + | func add(cash: Int) { | ||
| + | self.balance = +=cash | ||
| + | } | ||
| + | |||
| + | func getBallance()-> | ||
| + | return self.balance | ||
| + | } | ||
| + | } | ||
| + | |||
| + | |||