Bài giảng Chương 8: Thiết kế lớp và phương thức
Số trang: 51
Loại file: pdf
Dung lượng: 4.42 MB
Lượt xem: 6
Lượt tải: 0
Xem trước 6 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
"Bài giảng Chương 8: Thiết kế lớp và phương thức" giúp người học làm quen với các tiêu chí của thiết kế hướng đối tượng: khớp nối, sự gắn kết và sự đồng cảm; chỉ định, tái cấu trúc và tối ưu hóa thiết kế đối tượng; xác định việc sử dụng lại các lớp, thư viện, khung và thành phần được xác định trước; chỉ định các ràng buộc và hợp đồng; tạo ra một đặc tả phương pháp.
Nội dung trích xuất từ tài liệu:
Bài giảng Chương 8: Thiết kế lớp và phương thứcChương 8: Thiết kế lớp và phương thức 1Mục tiêu của chương:Làm quen với các tiêu chí của thiết kế hướng đối tượng: khớp nối, sự gắn kết vàsự đồng cảm.Có thể chỉ định, tái cấu trúc và tối ưu hóa thiết kế đối tượng.Có thể xác định việc sử dụng lại các lớp, thư viện, khung và thành phần đượcxác định trước.Có thể chỉ định các ràng buộc và hợp đồng.Có thể tạo ra một đặc tả phương pháp. 2Các đặc điểm cơ bản của hướng đối tượng 3Các phần tử của 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 4Tính đóng gói và ẩn dấu thông tin- Đóng gói là cơ chế tổ hợp các thao tác và dữ liệu vào một đối tượng.- Ẩn dấu thông tin có nghĩa là chỉ những thông tin của một đối tượng được yêu cầu sử dụng mới xuất hiện ở bên ngoà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 của phương thức và thuộc tính (visibility).- Sự liên lạc/tương tác giữa các đối tượng đều thông qua phương thức.- Việc sử dụng đối tượng để gửi một thông điệp làm kích họat một phương thức là chìa khóa cho khả năng sử dụng lại (key to reusability), vì nó che cho hoạt động bên trong của đối tượng khỏi bị những thay đổi bên ngoài của hệ thống tác động đến. Nó cũng giữ cho hệ thống không bị ảnh hưởng khi đối tượng bị thay đổi. 5Tính đa hình (Đa xạ) và ràng buộc động- Đa hình có nghĩa là hệ thống hướng đối tượng có thể cùng gửi một thông điệp được gửi đến một tập các đối tượng nhưng nó kích hoạt thực hiện các phương thức khác nhau trên các đối tượng khác nhau.- Ràng buộc động có nghĩa kiểu của đối tượng được phân biệt tại thời điểm thực hiện. Ví dụ, giả sử chúng ta có một danh sách (mảng) các nhân viên bao gồm cả nhân viên trả lương theo giờ công và nhân viên trả lương theo tháng. Trên mỗi đối tượng nhân viên thuộc cả hai loại này đều có phương thức tính lương (computerPay()) như hình ở slide liền sau. Khi một thông điệp gửi tính lương cho tất cả các đối tượng nhân viên thì với mỗi loại nhân viên sẽ thực hiện phương thức tính lương khác nhau. Như vậy phương thức cụ thể sẽ được xác định tại thời điểm nó thực hiện.- Cơ chế đa hình và ràng buộc động phụ thuộc vào ngôn ngữ lập trình cụ thể. Hầu hết các ngôn ngữ lập trình hỗ trợ ràng buộc động cho phương thức, một 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ữ nào sẽ được sử dụng để viết chương trình khi thiết kế hệ thống. 67Tính kế thừa- Kế thừa cho phép xác định các lớp sau bằng việc sử dụng lại các lớp đã xác định trước đó (lớp con kế thừa thuộc tính của siêu lớp)- Kế thừa đơn (Single inheritance): một lớp có chỉ một lớp cha- Kế thừa bội/ Đa kế thừa (Multiple inheritance): Một lớp có thể có nhiều lớp cha.- Khái niệm định nghĩa lại và xung đột kế thừa- Đa phần các xung đột kế thừa đều do phân lớp chưa tốtCác xung đột kế thừa:- Hai thuộc tính hay phương thức được kế thừa có cùng tên và ngữ nghĩa- Hai thuộc tính hay phương thức được kế thừa có tên khác nhau nhưng có cùng ngữ nghĩa (đồng nghĩa).- Hai thuộc tính hay phương thức có cùng tên nhưng ngữ nghĩa khác nhau (đồng âm). 8Để giảm bớt các xung đột kế thừa, Jim Rumbaugh và các đồng nghiệp đã đưa ra cácmột số quy tắc như sau:1. Không định nghĩa lại các truy vấn.2. Khi định nghĩa lại các phương thức kế thừa thì nên giữ nguyên ngữ nghĩa của nó giống như phương thức được kế thừa.3. Ngữ nghĩa kế thừ của phương thức không bao giwof được thay đổi.4. Tập các tham số (đối số) của phương thức kế thừa không nên thay đổi. 9Tiêu chuẩn thiết kế lớp và phương thứcKhi đánh giá bản thiết kế hướng đối tượng, một tập các tiêu chí sẽ được sử dụng đểđánh giá bản thiết kế đó. Các tiêu chí đó bao gồm sự song hành (coupling) giữa cácmôđun, sự gắn kết (cohesion) trong môđun, sự công sinh (connascence) giữa các cácmôđun . Mỗi mô đun là một lớp đối tượng hoặc một đối tượng hoặc một phươngthức. 10Coupling (Song hành/Sự phụ thuộc lẫn nhau)- Chỉ sự phụ thuộc lẫn nhau hoặc quan hệ nội tại giữa các mô đun trong một hệ thống. Sự phụ thuộc lẫn nhau càng cao thì thay đổi ở mô đun này càng dễ kéo theo thay đổi ở mô đun khác- Có hai loại song hành giữa các mô đun: tương tác và kế thừa.- Song hành tương tá ...
Nội dung trích xuất từ tài liệu:
Bài giảng Chương 8: Thiết kế lớp và phương thứcChương 8: Thiết kế lớp và phương thức 1Mục tiêu của chương:Làm quen với các tiêu chí của thiết kế hướng đối tượng: khớp nối, sự gắn kết vàsự đồng cảm.Có thể chỉ định, tái cấu trúc và tối ưu hóa thiết kế đối tượng.Có thể xác định việc sử dụng lại các lớp, thư viện, khung và thành phần đượcxác định trước.Có thể chỉ định các ràng buộc và hợp đồng.Có thể tạo ra một đặc tả phương pháp. 2Các đặc điểm cơ bản của hướng đối tượng 3Các phần tử của 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 4Tính đóng gói và ẩn dấu thông tin- Đóng gói là cơ chế tổ hợp các thao tác và dữ liệu vào một đối tượng.- Ẩn dấu thông tin có nghĩa là chỉ những thông tin của một đối tượng được yêu cầu sử dụng mới xuất hiện ở bên ngoà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 của phương thức và thuộc tính (visibility).- Sự liên lạc/tương tác giữa các đối tượng đều thông qua phương thức.- Việc sử dụng đối tượng để gửi một thông điệp làm kích họat một phương thức là chìa khóa cho khả năng sử dụng lại (key to reusability), vì nó che cho hoạt động bên trong của đối tượng khỏi bị những thay đổi bên ngoài của hệ thống tác động đến. Nó cũng giữ cho hệ thống không bị ảnh hưởng khi đối tượng bị thay đổi. 5Tính đa hình (Đa xạ) và ràng buộc động- Đa hình có nghĩa là hệ thống hướng đối tượng có thể cùng gửi một thông điệp được gửi đến một tập các đối tượng nhưng nó kích hoạt thực hiện các phương thức khác nhau trên các đối tượng khác nhau.- Ràng buộc động có nghĩa kiểu của đối tượng được phân biệt tại thời điểm thực hiện. Ví dụ, giả sử chúng ta có một danh sách (mảng) các nhân viên bao gồm cả nhân viên trả lương theo giờ công và nhân viên trả lương theo tháng. Trên mỗi đối tượng nhân viên thuộc cả hai loại này đều có phương thức tính lương (computerPay()) như hình ở slide liền sau. Khi một thông điệp gửi tính lương cho tất cả các đối tượng nhân viên thì với mỗi loại nhân viên sẽ thực hiện phương thức tính lương khác nhau. Như vậy phương thức cụ thể sẽ được xác định tại thời điểm nó thực hiện.- Cơ chế đa hình và ràng buộc động phụ thuộc vào ngôn ngữ lập trình cụ thể. Hầu hết các ngôn ngữ lập trình hỗ trợ ràng buộc động cho phương thức, một 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ữ nào sẽ được sử dụng để viết chương trình khi thiết kế hệ thống. 67Tính kế thừa- Kế thừa cho phép xác định các lớp sau bằng việc sử dụng lại các lớp đã xác định trước đó (lớp con kế thừa thuộc tính của siêu lớp)- Kế thừa đơn (Single inheritance): một lớp có chỉ một lớp cha- Kế thừa bội/ Đa kế thừa (Multiple inheritance): Một lớp có thể có nhiều lớp cha.- Khái niệm định nghĩa lại và xung đột kế thừa- Đa phần các xung đột kế thừa đều do phân lớp chưa tốtCác xung đột kế thừa:- Hai thuộc tính hay phương thức được kế thừa có cùng tên và ngữ nghĩa- Hai thuộc tính hay phương thức được kế thừa có tên khác nhau nhưng có cùng ngữ nghĩa (đồng nghĩa).- Hai thuộc tính hay phương thức có cùng tên nhưng ngữ nghĩa khác nhau (đồng âm). 8Để giảm bớt các xung đột kế thừa, Jim Rumbaugh và các đồng nghiệp đã đưa ra cácmột số quy tắc như sau:1. Không định nghĩa lại các truy vấn.2. Khi định nghĩa lại các phương thức kế thừa thì nên giữ nguyên ngữ nghĩa của nó giống như phương thức được kế thừa.3. Ngữ nghĩa kế thừ của phương thức không bao giwof được thay đổi.4. Tập các tham số (đối số) của phương thức kế thừa không nên thay đổi. 9Tiêu chuẩn thiết kế lớp và phương thứcKhi đánh giá bản thiết kế hướng đối tượng, một tập các tiêu chí sẽ được sử dụng đểđánh giá bản thiết kế đó. Các tiêu chí đó bao gồm sự song hành (coupling) giữa cácmôđun, sự gắn kết (cohesion) trong môđun, sự công sinh (connascence) giữa các cácmôđun . Mỗi mô đun là một lớp đối tượng hoặc một đối tượng hoặc một phươngthức. 10Coupling (Song hành/Sự phụ thuộc lẫn nhau)- Chỉ sự phụ thuộc lẫn nhau hoặc quan hệ nội tại giữa các mô đun trong một hệ thống. Sự phụ thuộc lẫn nhau càng cao thì thay đổi ở mô đun này càng dễ kéo theo thay đổi ở mô đun khác- Có hai loại song hành giữa các mô đun: tương tác và kế thừa.- Song hành tương tá ...
Tìm kiếm theo từ khóa liên quan:
Thiết kế lớp và phương thức Thiết kế hướng đối tượng Tối ưu hóa thiết kế đối tượng Đặc tả phương pháp Tái cấu trúc thiết kế đối tượngGợi ý tài liệu liên quan:
-
Bài giảng Phân tích và thiết kế hướng đối tượng - Đỗ Ngọc Như Loan
9 trang 242 0 0 -
Bài giảng Phân tích thiết kế hướng đối tượng: Chương 2 - Nguyễn Ngọc Duy
7 trang 224 0 0 -
69 trang 146 0 0
-
10 trang 66 0 0
-
Bài giảng Nhập môn công nghệ phần mềm: Chương 7 - Nguyễn Thanh Bình
77 trang 53 0 0 -
64 trang 46 3 0
-
Bài giảng Phân tích thiết kế hướng đối tượng: Giới thiệu - Trương Ninh Thuận
5 trang 35 0 0 -
GiỚI THIỆU CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
29 trang 28 0 0 -
Nhập môn kỹ nghệ phần mềm - Chương 4
22 trang 25 0 0 -
Giáo trình về môn cấu trúc dữ liệu
304 trang 25 0 0