Mỗi lớp học trong hệ thống phân cấp này bao gồm trong danh sách khả năng hiển thị của nó các tính năng trong danh sách khả năng hiển thị QueueItem? - Đếm, INIT, Tham gia và Viết. Do đó, nếu chúng tôi yêu cầu một đối tượng hàng đợi trong một cation fi cụ thể và muốn cho phép khả năng rằng các hàng đợi được bao bọc hoặc reset sau đó chúng ta có thể khai báo nó polymorphically như sau.
Đợi:? QueueItem
Các lớp của đối tượng identi ed fi bởi hàng đợi biến là một trong những người trong hệ thống phân cấp thừa kế của Hình 1.1 - QueueItem ?, BoundedQueueItem ?, ResettableQueueItem? hoặc ResettableBoundedQueueItem ?. Đa hình trong Object-Z cũng tương tự như genericity theo nghĩa là nó cho phép một biến được khai báo có thể được kết hợp với nhiều hơn một loại. Vì vậy, như với genericity, chúng tôi chỉ có thể sử dụng biến trong biểu thức có một biến bất kỳ loại có thể có của nó có thể được sử dụng. ???? Trong khi hàng đợi biểu hiện đếm và hàng đợi biểu hiện hoạt động gia và xếp hàng lại được cũng như hình thành, hàng đợi biểu hiện hoạt động lập lại không phải là - vì đối tượng identi fi ed bởi hàng đợi có thể được các lớp QueueItem? hoặc BoundedQueueItem ?. Nếu chúng tôi muốn để có thể thiết lập lại hàng đợi, chúng tôi thay vì có thể khai báo như sau.
Queue:? ResettableQueueItem
Các đối tượng identi fi edby các variablequeue, trong trường hợp này, là của lớp ResettableQueueItem? hoặc ResettableBoundedQueueItem ?. Các tính năng truy cập là những tính năng hữu hình của ResettableQueueItem ?.
đang được dịch, vui lòng đợi..