Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
inkapsuljacija [2023/09/08 07:30] 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 | ||
| + | } | ||
| + | } | ||
| + | | ||
| + | |||
| + | |||