Поддерживаемая фокусная точка HL. Первая оценка 2027 целевой показатель; официальный PDF возвращает 403; ранее приобретенный краткий план является финальной оценкой 2026. Оставшиеся руководство, оценка и практические требования сохраняют свои зарегистрированные удержания.
Предварительные требования: прочитайте указанные количества и единицы измерения, используйте арифметику и нижеприведённые условия модели. Каждый урок осваивает собственный метод перед независимым переносом.
Это оригинальные или явно вымышленные учебные примеры, а не фактические измерения или завершённые оценочные исследования учащихся.
Два объекта модели банковского счета могут реагировать на одну и ту же операцию пополнения, имея при этом разные балансы.
Начните с гипотезы. Укажите величины или признаки, которые вы будете сравнивать, затем определите, какие доказательства могут различить два объяснения.
Постройте модель
Класс определяет тип с состоянием и поведением. Объект — это экземпляр. Инкапсуляция контролирует доступ через интерфейс, чтобы операции могли сохранять инварианты. Наследование моделирует соответствующую связь типов; композиция моделирует объект, содержащий или использующий другой объект.
инкапсуляция: Управление доступом к состоянию через интерфейс; экземпляр: Отдельный объект класса.
Выберите доказательства для проверки гипотезы
Вызов метода действует над конкретным экземпляром. Изменения состояния должны удовлетворять предусловиям и постусловиям. Полиморфизм позволяет коду использовать общий интерфейс с различными реализациями при соблюдении контракта.
Реализуйте небольшую синтетическую модель счета или инвентаря. Протестируйте два независимых экземпляра, отклоните недопустимые операции и граничные значения. Держите модель отдельно от реальных финансовых счетов и учетных данных.
Работайте с известными величинами
Укажите известные значения и их единицы измерения. Выберите соотношение, предположения которого подходят к данному случаю, затем преобразуйте формулу перед подстановкой.
Известно: объект A начинается со 40 единиц и получает 15; объект B начинается со 20 и получает 5. Итоговые балансы составляют 55 и 25. Их сумма равна 80, но ни один из индивидуальных балансов объектов не равен 80.
Пример:
Экземпляр начинается со 12 единиц, добавляет 8 и удаляет 3. Найдите его конечное значение. Используйте ту же последовательность: известные величины → модель → соотношение → подстановка → единицы и интерпретация.
Проверьте вывод и его границы применимости
Класс — это не то же самое, что и один экземпляр. Наследование не всегда лучше композиции. Просто скрытие поля не доказывает, что все операции сохраняют допустимое состояние.
Вернитесь к первоначальному наблюдению. Объясните, что подтверждает результат, при каких условиях он верен и каким образом можно проверить конкурирующее объяснение.
Предупреждение:
Два экземпляра одного класса всегда должны иметь общий баланс. Это утверждение неверно: Класс — это не то же самое, что и один экземпляр. Наследование не всегда лучше композиции. Просто скрытие поля не доказывает, что все операции сохраняют допустимое состояние.
Ключевые моменты:
Объекты: состояние, поведение и интерфейс: Вызов метода действует над конкретным экземпляром. Изменения состояния должны удовлетворять предусловиям и постусловиям. Полиморфизм позволяет коду использовать общий интерфейс с различными реализациями при соблюдении контракта.
Работоспособная трассировка и границы
class Account:
def __init__(self, balance):
self.balance = balance
def withdraw(self, amount):
if amount < 0 or amount > self.balance:
return False
self.balance -= amount
return True
a, b = Account(15), Account(20)
print(a.withdraw(30), a.balance, b.balance)
print(a.withdraw(15), a.balance, b.balance)
Ожидаемый вывод:
False 15 20
True 0 20
Отказ происходит до мутации. При неотрицательных начальных балансах валидированные снятие средств сохраняют баланс ≥ 0. Этот небольшой учебный класс раскрывает атрибуты; производственный дизайн должен контролировать все пути мутации, а не полагаться на то, что метод один обеспечивает инкапсуляцию.
Больше тем в International Baccalaureate · IB Diploma · Computer Science · HL