Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

TÌM HIỂU CÔNG NGHỆ DESIGN BY CONTRACT VÀ XÂY DỰNG CÔNG CỤ HỖ TRỢ CHO C# - 5 pdf
MIỄN PHÍ
Số trang
12
Kích thước
526.8 KB
Định dạng
PDF
Lượt xem
907

TÌM HIỂU CÔNG NGHỆ DESIGN BY CONTRACT VÀ XÂY DỰNG CÔNG CỤ HỖ TRỢ CHO C# - 5 pdf

Nội dung xem thử

Mô tả chi tiết

Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C#

49

giữa những hàm với những thuộc tính. Ví dụ, điều kiện bất biến của STACK2 có

thể mô tả sự liên quan giữa thuộc tính empty và count như sau:

empty = (count = 0)

Trong ví dụ này, xác nhận về điều kiện bất biến liên quan đến một thuộc tính

và một hàm. Nó không riêng là việc lặp lại xác nhận ở hậu điều kiện của hàm

(empty). Một xác nhận sẽ trở nên hữu ích hơn nếu nó có liên quan đến nhiều thuộc

tính như ví dụ trên hoặc nhiều hơn một hàm.

Tiếp theo, ta có một ví dụ tiêu biểu khác. Liên quan đến khái niệm tài khoản

ngân hàng, ta giả sử có một lớp là BANK_ACCOUNT có các đặc tính như

deposits_list, withdrawals_list và balance. Lúc đó, điều kiện bất biến

của lớp này có thể là một mệnh đề như sau:

consistent_balance: deposits_list.total –

withdrawals_list.total = balance

Hàm total cho biết giá trị tích lũy của danh sách những hoạt động (số tiền

gửi hay số tiền rút). Ví dụ trên cho thấy tình trạng nhất quán giữa những giá trị có

thể truy cập thông qua các thuộc tính deposits_list, withdrawals_list và

balance.

9.2. Định dạng và các thuộc tính của điều kiện bất biến của

lớp

Về mặt cú pháp, một điều kiện bất biến của lớp là một xác nhận, nằm trong

phần invariant, sau phần feature và trước end.

class STACK4[G] creation

…As in STACK2 ...

feature

... As in STACK2 ...

invariant

count_non_negative: 0 <= count

count_bounded: count <= capacity

Tải ngay đi em, còn do dự, trời tối mất!