16 lines
1.6 KiB
Markdown
16 lines
1.6 KiB
Markdown
Объединение данных и кода для их обработки в единую структуру - класс, с реализацией контроля доступа к внутренним элементам класса через строго определенный интерфейс взаимодействия
|
|
Подробнее про [[Модификаторы|модификаторы доступа]]
|
|
Внешние классы могут быть только `public` и `default`, в отличие от [[Вложенные классы|вложенных]]
|
|
## Публичные и приватные поля и методы
|
|
Внутреннее закрытое состояние:
|
|
- детали реализации не имеют значения для внешних пользователей класса
|
|
- реализация можно менять как угодно, пока не затронут внешний интерфейс
|
|
Внешний открытый интерфейс:
|
|
- фиксируется в начале разработки и далее не должен меняться
|
|
- обеспечивает внешним пользователям возможность управлять объектами класса в контролируемых пределах
|
|
## Getter/Setter
|
|
Стандартная практика - поля private, методы - public
|
|
Геттер может выводить значение в определенном формате
|
|
Сеттер может валидировать данные
|
|
|
|
Подробнее про [[Конструкторы|конструкторы]] |