Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 51 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
51
Dung lượng
2,56 MB
Nội dung
Chương 8: Thiết kế lớp phương thức Mục tiêu chương: Làm quen với tiêu chí thiết kế hướng đối tượng: khớp nối, gắn kết đồng cảm Có thể định, tái cấu trúc tối ưu hóa thiết kế đối tượng Có thể xác định việc sử dụng lại lớp, thư viện, khung thành phần xác định trước Có thể định ràng buộc hợp đồng Có thể tạo đặc tả phương pháp Các đặc điểm hướng đối tượng Các phần tử phân tích hướng đối tượng: - Các lớp đối tượng - Các đối tượng - Các thuộc tính - Các trạng thái - Các phương thức - Các thơng điệp Tính đóng gói ẩn dấu thơng tin - Đóng gói chế tổ hợp thao tác liệu vào đối tượng - Ẩn dấu thơng tin có nghĩa thông tin đối tượng yêu cầu sử dụng xuất bên ngồi đối tượng Ẩn dấu thơng tin có liên quan mật thiết với phạm vi hoạt động phương thức thuộc tính (visibility) - Sự liên lạc/tương tác đối tượng thông qua phương thức - Việc sử dụng đối tượng để gửi thơng điệp làm kích họat phương thức chìa khóa cho khả sử dụng lại (key to reusability), che cho hoạt động bên đối tượng khỏi bị thay đổi bên ngồi hệ thống tác động đến Nó giữ cho hệ thống không bị ảnh hưởng đối tượng bị thay đổi Tính đa hình (Đa xạ) ràng buộc động - Đa hình có nghĩa hệ thống hướng đối tượng gửi thông điệp gửi đến tập đối tượng kích hoạt thực phương thức khác đối tượng khác - Ràng buộc động có nghĩa kiểu đối tượng phân biệt thời điểm thực Ví dụ, giả sử có danh sách (mảng) nhân viên bao gồm nhân viên trả lương theo công nhân viên trả lương theo tháng Trên đối tượng nhân viên thuộc hai loại có phương thức tính lương (computerPay()) hình slide liền sau Khi thơng điệp gửi tính lương cho tất đối tượng nhân viên với loại nhân viên thực phương thức tính lương khác Như phương thức cụ thể xác định thời điểm thực - Cơ chế đa hình ràng buộc động phụ thuộc vào ngơn ngữ lập trình cụ thể Hầu hết ngơn ngữ lập trình hỗ trợ ràng buộc động cho phương thức, số ngôn ngữ hỗ trợ ràng buộc động cho thuộc tính Do đó, đội dự án cần phải biết rõ ngôn ngữ sử dụng để viết chương trình thiết kế hệ thống Tính kế thừa - Kế thừa cho phép xác định lớp sau việc sử dụng lại lớp xác định trước (lớp kế thừa thuộc tính siêu lớp) - Kế thừa đơn (Single inheritance): lớp có lớp cha - Kế thừa bội/ Đa kế thừa (Multiple inheritance): Một lớp có nhiều lớp cha - Khái niệm định nghĩa lại xung đột kế thừa - Đa phần xung đột kế thừa phân lớp chưa tốt Các xung đột kế thừa: - Hai thuộc tính hay phương thức kế thừa có tên ngữ nghĩa - Hai thuộc tính hay phương thức kế thừa có tên khác có ngữ nghĩa (đồng nghĩa) - Hai thuộc tính hay phương thức có tên ngữ nghĩa khác (đồng âm) Để giảm bớt xung đột kế thừa, Jim Rumbaugh đồng nghiệp đưa số quy tắc sau: Không định nghĩa lại truy vấn Khi định nghĩa lại phương thức kế thừa nên giữ nguyên ngữ nghĩa giống phương thức kế thừa Ngữ nghĩa kế thừ phương thức không bao giwof thay đổi Tập tham số (đối số) phương thức kế thừa không nên thay đổi Tiêu chuẩn thiết kế lớp phương thức Khi đánh giá thiết kế hướng đối tượng, tập tiêu chí sử dụng để đánh giá thiết kế Các tiêu chí bao gồm song hành (coupling) môđun, gắn kết (cohesion) môđun, công sinh (connascence) các môđun Mỗi mô đun lớp đối tượng đối tượng phương thức 10 Hoạt động 4: Tối ưu hóa thiết kế • Xem xét lại thơng điệp gửi trực tiếp gián tiếp: - Nếu fan-out phương thức cao so với phương thức khác hệ thống, phương thức nên tối ưu hóa cách tạo mục cho thuộc tính sử dụng để gửi thông điệp đến đối tượng thông điệp 35 Các ràng buộc đặc tả thông điệp 36 Những loại ràng buộc điều kiện sau phải trước phương thức thực điều kiện trước phải sau phương thức thực Ràng buộc bất biến phải đối tượng lớp 37 biến thiên biểu đồ lớp 38 biến thiên biểu đồ lớp 39 Đặc tả thông điệp - Tài liệu mô tả thông điệp truyền đối tượng - Đặc tả thông điệp tạo cho phương thức hiển thị cơng khai lớp - Nó nên chứa đủ thơng tin cho lập trình viên hiểu phương thức phải làm việc 40 Các thành phần có đặc tả thông điệp: - Tên phương thức - Tên lớp đối tượng - số ID - Danh sách đối tượng phương thức gửi thông điệp tới cho phương thức - Danh sách ca sử dụng mà phương thức sử sụng để nhận thực ca sử dụng - Mô tả thông điệp: cung cấp thông tin mơ tả thơng điệp làm - Các tham số nhận được: kiểu liệu tham số truyền qua phương thức - Kiểu liệu trả lại cho các đối tượng phương thức gửi thông điệp đến cho phương thức - Điều kiện trước thực phương thức - Điều kiện sau thực phương thức 41 Ví dụ đặc tả thông điệp phương thức GetReview() 42 Đặc tả phương thức tài liệu văn bao gồm hướng dẫn rõ ràng cách viết mã để thực phương thức 43 Đặc tả phương thức ‒ Khơng có định dạng chung cho đực tả phương thức Một đặc tả phương thức thường bao gồm bốn phần để truyền đạt thông tin giúp lập trình viên viết mã thích hợp, phần thơng tin chung, kiện, thông điệp truyền đặc tả thuật tốn (như hình slide kế tiếp) ‒ Thông tin chung: chứa thông tin chung tên phương thức, tên lớp mà thực phương thức này, mã số ID phương thức, mã số ID đặc tả thơng điệp phương thức, tên lập trình viên, ngày đến hạn ngơn ngữ lập trình ‒ Các kiện: dùng để kích hoạt phương thức Mỗi kiện điều xảy diễn ‒ Thơng điệp truyền: thơng điệp truyền đến phương thức truyền từ phương thức, xác định dựa biểu đò biểu đồ cộng tác ‒ Đặc tả thuật tốn: trình bày slide 44 45 Đặc tả thuật tốn Đặc tả thuật tốn viết ngơn ngữ tiếng Anh có cấu trúc Anh (Structured English), số dạng mã giả số dạng ngơn ngữ thức 46 - Ngơn ngữ tiếng Anh có cấu trúc đơn giản cách thức để viết hướng dẫn mơ tả bước quy trình Trên slide mơ tả số cấu trúc câu tiếng Anh dùng đặc tả thuật toán - Câu lệnh If kiểm soát hành động thực điều kiện khác - Câu lệnh For (hoặc câu lệnh while) thực số hành động đạt số điều kiện - Câu lệnh Case cải tiến câu lệnh If có nhiều rẽ nhánh 47 Pseudocode ngôn ngữ chứa cấu trúc lôgic, bao gồm câu lệnh tuần tự, câu lệnh có điều kiện lặp lại Ngơn ngữ mã giả gần giống với ngôn ngữ mã lệnh Khi viết mã giả, ý đặc biệt đến chi tiết dễ đọc 48 Tổng kết Chương trình bày nội dung sau: - Các đặc điểm PTTK hướng đối tượng - Các tiêu chuẩn thiết kế - Các hoạt động thiết kế đối tượng - Các ràng buộc đặc tả thông điệp - Đặc tả phương thức 49 ... viết chương trình thiết kế hệ thống Tính kế thừa - Kế thừa cho phép xác định lớp sau việc sử dụng lại lớp xác định trước (lớp kế thừa thuộc tính siêu lớp) - Kế thừa đơn (Single inheritance): lớp. .. gắn kết môđun: - Sự gắn kết phương thức - Sự gắn kết lớp đối tượng - Sự gắn kết tổng quát hóa/chuyên biệt hóa 16 Sự gắn kết (Conhension) – tiếp Sự gắn kết phương thức có nghĩa: - Thể gắn kết... lệ 18 phân tích cấu trúc giá đối thủ cạnh tranh Đây kiểu gắn kết phương thức tệ 18 Sự gắn kết (Conhension) – tiếp Sự gắn kết lớp đối tượng có nghĩa: - Thể gắn kết thuộc tính phương thức lớp -