Trọng tâm SL được hỗ trợ. Mục tiêu đánh giá đầu tiên 2027; PDF chính thức trả về 403; tài liệu ngắn thu thập trước đó là bài đánh giá cuối cùng 2026. Hướng dẫn còn lại, yêu cầu đánh giá và thực hành giữ nguyên các bản ghi đã lưu.
Yêu cầu tiên quyết: đọc các đại lượng và đơn vị được nêu, sử dụng phép tính toán và các điều kiện mô hình dưới đây. Mỗi bài học sẽ phát triển phương pháp riêng trước khi chuyển giao độc lập.
Đây là các ví dụ giảng dạy gốc hoặc được ghi rõ là hư cấu, không phải là các phép đo thực tế hay các nghiên cứu đánh giá học viên đã hoàn tất.
7.2
Đối tượng: trạng thái, hành vi và giao diện
Giải thích hiện tượng này là gì?
Hai đối tượng mô hình tài khoản ngân hàng có thể phản hồi cùng một thao tác gửi tiền trong khi vẫn giữ các số dư khác nhau.
Bắt đầu bằng một dự đoán. Nêu rõ các đại lượng hoặc đặc điểm bạn sẽ so sánh, sau đó quyết định bằng chứng nào có thể phân biệt hai lời giải thích.
Xây dựng mô hình
Một lớp (class) định nghĩa một kiểu với trạng thái và hành vi. Một đối tượng là một thực thể. Đóng gói kiểm soát quyền truy cập thông qua giao diện để các thao tác có thể bảo toàn các bất biến. Kế thừa mô hình hóa mối quan hệ kiểu thích hợp; tổ hợp mô hình hóa một đối tượng chứa hoặc sử dụng một đối tượng khác.
bao封装 (encapsulation): Kiểm soát truy cập vào trạng thái thông qua giao diện; đối tượng thành viên (instance): Một đối tượng cụ thể của một lớp.
Chọn bằng chứng để kiểm định mô hình
Một lời gọi phương thức tác động lên một thực thể cụ thể. Sự thay đổi trạng thái phải thỏa mãn điều kiện tiên决 và hậu điều kiện. Đa hình cho phép mã sử dụng một giao diện chung với các triển khai khác nhau khi hợp đồng được tuân thủ.
Triển khai một mô hình tài khoản hoặc tồn kho tổng hợp nhỏ. Kiểm tra hai thực thể độc lập, từ chối các thao tác không hợp lệ và các giá trị biên. Giữ mô hình tránh xa các tài khoản tài chính thật và thông tin xác thực.
Bắt đầu từ các đại lượng đã biết
Nêu các giá trị đã biết và đơn vị của chúng. Chọn công thức vì các giả thiết của nó phù hợp với trường hợp này, sau đó biến đổi trước khi thay số.
Đã biết: đối tượng A bắt đầu ở 40 đơn vị và nhận được 15; đối tượng B bắt đầu ở 20 và nhận được 5. Số dư cuối cùng là 55 và 25. Tổng của chúng là 80, nhưng số dư của từng đối tượng riêng lẻ không phải là 80.
Ví dụ:
Một thực thể bắt đầu ở 12 đơn vị, thêm 8 và loại bỏ 3. Tìm giá trị cuối cùng của nó. Sử dụng cùng quy trình: các đại lượng đã biết → mô hình → mối liên hệ → thay thế → đơn vị và diễn giải.
Kiểm tra kết luận và giới hạn của nó
Một lớp không giống như một thực thể. Kế thừa không tự động tốt hơn tổ hợp. Chỉ ẩn đi một trường dữ liệu không chứng minh được rằng tất cả các thao tác đều bảo toàn trạng thái hợp lệ.
Quay trở lại quan sát ban đầu. Giải thích kết quả hỗ trợ điều gì, những điều kiện nào mà nó giả định, và một cách để kiểm chứng một giải thích cạnh tranh.
Cảnh báo:
Hai thực thể của một lớp luôn phải chia sẻ chung một số dư. Tuyên bố này là sai: Một lớp không giống như một thực thể. Kế thừa không tự động tốt hơn tổ hợp. Chỉ ẩn đi một trường dữ liệu không chứng minh được rằng tất cả các thao tác đều bảo toàn trạng thái hợp lệ.
Tóm tắt:
Đối tượng: trạng thái, hành vi và giao diện: Một lời gọi phương thức tác động lên một thực thể cụ thể. Sự thay đổi trạng thái phải thỏa mãn điều kiện tiên决 và hậu điều kiện. Đa hình cho phép mã sử dụng một giao diện chung với các triển khai khác nhau khi hợp đồng được tuân thủ.
Chuỗi thực thi chạy được và ranh giới
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)
Kết quả mong đợi:
False 15 20
True 0 20
Từ chối xảy ra trước khi đột biến. Với số dư ban đầu không âm, các giao dịch rút tiền đã xác thực bảo toàn balance≥0. Lớp học nhỏ này tiết lộ các thuộc tính; thiết kế sản xuất phải kiểm soát mọi đường đột biến, không chỉ dựa vào việc phương pháp duy nhất đảm bảo bao封装.