Объекты: состояние, поведение и интерфейс
Введено| English | Значение |
|---|---|
| instance/ˈɪnstəns/ | экземпляр |
| encapsulation/ɪnˌkæpsjʊˈleɪʃn/ | инкапсуляция |
What would explain this observation?
- Two bank-account model objects can respond to the same deposit operation while holding different balances.
Build the model
- A class defines a type with state and behaviour.
- An object is an instance 实例.
- Encapsulation 封装 controls access through an interface so operations can preserve invariants.
- Inheritance models an appropriate type relationship; composition models an object containing or using another object.
- encapsulation: Controlling access to state through an interface.
- instance: An individual object of a class.
Что должно предотвратить недопустимое изменение состояния?
Сложность 1/5 · 100 монет + небольшой бонус за первое выполнение сегодня
Инкапсуляция работает, когда каждое изменение состояния проходит через операцию, проверяющую инвариант перед его применением. Публично доступные для записи поля полностью обходят проверку, и пользователи в конечном итоге совершат ошибки.
Сопоставьте каждый технический термин с его точным определением.
Сложность 2/5 · 140 монет + небольшой бонус за первое выполнение сегодня
Используйте определения для различения смежных величин и процессов.
Choose evidence that can test it
- A method call acts on a particular instance.
- State changes should satisfy preconditions and postconditions.
- Polymorphism lets code use a common interface with different implementations when the contract is respected.
In the lab: Implement a small synthetic account or inventory model. Test two independent instances, rejected invalid operations and boundary values. Keep the model away from real financial accounts and credentials.
Какие две привычки делают расследование или модель в данном случае более обоснованными?
Сложность 2/5 · 140 монет + небольшой бонус за первое выполнение сегодня
Указание условий и допущений позволяет другим точно воспроизвести работу, а фиксация подтверждающих данных даёт возможность проверить вывод. Сокрытие противоречащих результатов устраняет доказательства, способные оспорить ошибочный вывод, а одно измерение никогда не может обосновать более широкий claim.
Work from known quantities
- Known: object A starts at 40 units and receives 15; object B starts at 20 and receives 5.
- Final balances are 55 and 25.
- Their total is 80, but neither individual object balance is 80.
Your turn: An instance starts at 12 units, adds 8 and removes 3. Find its final value.
Экземпляр начинается со значения 12 единиц, прибавляет 8 и вычитает 3. Найдите его конечное значение.
Сложность 2/5 · 140 монет + небольшой бонус за первое выполнение сегодня
Результат: 17 единиц. Известно: старт 12; добавить 8; убрать 3. Отслеживайте состояние пошагово: 12 + 8 = 20; 20 - 3 = 17 единиц. Каждая операция изменяет состояние только этого экземпляра.
Check the conclusion and its limits
- A class is not the same thing as one instance.
- Inheritance is not automatically better than composition.
- Merely hiding a field does not prove that all operations preserve valid state.
Not true: Two instances of a class must always share one balance. Each instance owns its own state: two accounts of the same class can hold different balances. They share the class definition - the operations and structure - not the field values.
- A class defines a type with state and behaviour.
- A method call acts on a particular instance.
- Watch for: A class is not the same thing as one instance.
Два экземпляра класса всегда должны иметь общий баланс.
Сложность 1/5 · 100 монет + небольшой бонус за первое выполнение сегодня
Каждый экземпляр обладает собственным состоянием: два счета одного класса могут иметь разные балансы. Они разделяют определение класса — операции и структуру, — но не значения полей.
Контроль доступа к состоянию через интерфейс: запишите технический термин.
Сложность 1/5 · 100 монет + небольшой бонус за первое выполнение сегодня
инкапсуляция означает Контроль доступа к состоянию через интерфейс.