Định nghĩa các quan hệ tổng quát hóa

32 465 0
Tài liệu đã được kiểm tra trùng lặp
Định nghĩa các quan hệ tổng quát hóa

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 90 Các bước thiết kế Class w Tạo các Design Class ban đầu w Xác đònh các Persistent Class w Đònh nghóa các Operation w Đònh nghóa Class Visibility w Đònh nghóa các Method w Đònh nghóa các trạng thái w Đònh nghóa các thuộc tính w Đònh nghóa các phụ thuộc w Đònh nghóa các mỗi kết hợp w Đònh nghóa các quan hệ tổng quát hóa w Giải quyết đụng độ giữa các Use-Case w Xử lý các yêu cầu phi chức năng nói chung w Checkpoints PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 91 Đònh nghóa quan hệ tổng quát hóa w Mục đích § Xác đònh các khả năng dùng lại § Tinh chỉnh cây kế thừa để có thể cài đặt hiệu quả w Những gì cần xem xét: § So sánh Abstract classes với concrete classes § Bài toán đa kế thừa § So sánh Generalization và Aggregation § Tổng quát hóa để hỗ trợ tái sử dụng trong cài đặt § Tổng quát hóa để hỗ trợ đa xạ (polymorphism) § Tổng quát hóa để hỗ trợ đa hình (metamorphosis) § Mô phỏng tổng quát hóa PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 92 Nhắc lại: Generalization w Một class chi sẻ cấu trúc và hành vi của một hay nhiều class w Là quan hệ “Là một dạng của” w Trong phân tích, ít khi dùng đến Account balance name number Withdraw() CreateStatement() Checking Savings GetInterest() Superclass (parent) Subclasses Generalization Relationship descendents ancestor PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 93 Lion talk () Tiger talk () Animal {abstract} talk () {abstract} Không có thể hiện của Animal Tất cả các object đều hoặc là Lion hoặc là Tiger Abstract class Abstract operation Communication Chuyên biệt hóa Abstract và Concrete Class w Abstract class không có bất kỳ thể hiện nào w Concrete classes có thể có thể hiện (object) PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 94 Airplane Helicopter Wolf Horse FlyingThing Animal Bird multiple inheritance Dùng đa kế thức chỉ khi thật cần thiết, và phải luôn cẩn thận ! Nhắc lại: Đa kế thừa w Một class có thể kế thừa từ nhiều class PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 95 Tên của attribute hay operation bò trùng Lặp lại việc kế thừa FlyingThing color getColor Animal color getColor Bird FlyingThing Animal Bird AnimateObject color Các vấn đề của đa kế thừa Lời giải của các vấn đề trên phụ thuộc cài đặt cụ thể PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 96 Các ràng buộc của quan hệ tổng quát hóa w Complete (Hoàn chỉnh) § Kết thúc toàn bộ cây kế thừa trong thiết kế w Incomplete (Không hoàn chỉnh ) § Cây kế thừa có thể mở rộng w Disjoint (Phân tách) § Các Subclass loại trừ lần nhau § Không hỗ trợ đa kế thừa w Overlapping (Chồng lắp) § Các Subclass không loại trừ lẫn nhau § Hỗ trợ đa kế thừa PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 97 Ví dụ: Generalization Constraints Asset Real Estate Bank Account Security Saving Checking Stock Bond {disjoint} {disjoint,complete} {disjoint} Kết thúc cây kế thừa Không hỗ trợ đa kế thừa PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 98 Ví dụ: Generalization Constraints (tt.) Vehicle Water Vehicle Land Vehicle Amphibious Vehicle {overlapping} Hỗ trợ đa kế thừa PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 99 Window WindowWithScrollbar Scrollbar Có đúng không? Chọn Generalization hay Aggregation w Rất dễ nhầm lẫm giữa Generalization và aggregation § Generalization biểu diễn quan hệ “là một” hay “dạng của” § Aggregation biểu diễn quan hệ “một bộ phận của” [...]... Scrollbar 1 PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 1 100 Sử dụng quan hệ tổng quát hóa w Chia sẻ các thuộc tính và hành vi chu w Chia sẻ cài đặt w Cài đặt cơ chế Polymorphism w Cài đặt cơ chế Metamorphosis PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 101 Sử dụng quan hệ tổng quát hóa w Chia sẻ các thuộc tính và hành vi chu w Chia sẻ cài đặt w Cài đặt cơ chế Polymorphism w... Một hướng tiếp cận Modeling Metam w Có thể tạo một quan hệ tổng quát hóa Chuyện g một parttrở thàn stu Student name address studentID ParttimeStudent FulltimeStudent maxNumCourses gradDate PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 117 Một hướng tiếp cận khác w Quan hệ kế thừa có thể dùng để mô h cấu trúc, hành vi và quan hệ chung va hệ với phần “thay đổi” Student Student name address... Generalization w Các Interface hỗ trợ biểu diễn độc lập với polymorphism § Realization relationships có thể băng ng cấu trúc phân cấp của quan hệ tổng qua w Các Interface chỉ thuần là đặc tả, không co § Abstract base class có thể đònh nghóa at associations w Các Interface hoàn toàn độc lập với quan h § Generalization thường dùng để cài đặt lại § Interfaces thường dùng để đặc tả việc t các hành vi w Generalization... trúc Dương Anh Đức 107 1 1 inse (Ite rem inse rem Quan hệ kế thừa dạng . nghóa các Method w Đònh nghóa các trạng thái w Đònh nghóa các thuộc tính w Đònh nghóa các phụ thuộc w Đònh nghóa các mỗi kết hợp w Đònh nghóa các quan hệ. Generalization và Aggregation § Tổng quát hóa để hỗ trợ tái sử dụng trong cài đặt § Tổng quát hóa để hỗ trợ đa xạ (polymorphism) § Tổng quát hóa để hỗ trợ đa hình

Ngày đăng: 06/10/2013, 08:20

Hình ảnh liên quan

§ Tổng quát hóa để hỗ trợ đa hình (metamorphosis) - Định nghĩa các quan hệ tổng quát hóa

ng.

quát hóa để hỗ trợ đa hình (metamorphosis) Xem tại trang 2 của tài liệu.
§ 1. Một thay đổi trong hình dạng, cấu trúc, hay chức năng; đặc biệt là các thay đổi vật lý mà các  động vật phải trải qua, như con nòng nọc biến  - Định nghĩa các quan hệ tổng quát hóa

1..

Một thay đổi trong hình dạng, cấu trúc, hay chức năng; đặc biệt là các thay đổi vật lý mà các động vật phải trải qua, như con nòng nọc biến Xem tại trang 22 của tài liệu.
w Quan hệ kế thừa có thể dùng để mô hình hóa - Định nghĩa các quan hệ tổng quát hóa

w.

Quan hệ kế thừa có thể dùng để mô hình hóa Xem tại trang 25 của tài liệu.
w Kỹ thuật này thêm tính mềm dẻo cho mô hình - Định nghĩa các quan hệ tổng quát hóa

w.

Kỹ thuật này thêm tính mềm dẻo cho mô hình Xem tại trang 27 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan