1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu BÀI 5: TÌM HIỂU SÂU VỀ SỰ TẬP HỢP (AGGREGATION), SỰ CẤU THÀNH (COMPOSITE), GIAO DIỆN (INTERFACE) VÀ SỰ HIỆN THỰC (REALIZATION) docx

6 500 3
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu sâu về sự tập hợp (aggregation), sự cấu thành (composite), giao diện (interface) và sự hiện thực (realization)
Thể loại Bài giảng
Định dạng
Số trang 6
Dung lượng 519,04 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BÀI 5: TÌM HIỂU SÂU VỀ SỰ TẬP HỢP AGGREGATION, SỰ CẤU THÀNH COMPOSITE, GIAO DIỆN INTERFACE VÀ SỰ HIỆN THỰC REALIZATION Trong bài này, chúng ta tiếp tục với các mối quan hệ giữa các clas

Trang 1

BÀI 5:

TÌM HIỂU SÂU VỀ SỰ TẬP HỢP (AGGREGATION), SỰ CẤU THÀNH (COMPOSITE), GIAO DIỆN (INTERFACE) VÀ SỰ HIỆN THỰC (REALIZATION)

Trong bài này, chúng ta tiếp tục với các mối quan hệ giữa các class và tìm hiểu thêm các khái niệm mới về các class và các sơ đồ lớp (class diagram) Nội dung chính trong bài học: + Sự tập hợp (aggregation)

+ Sự cấu thành (composite)

+ Ngữ cảnh (context)

+ Giao diện (interface)

+ Sự hiện thực (realization)

+ Tính rõ ràng (visibility)

Sự tập hợp (aggregation):

Thuật ngữ: Đôi khi một class bao gồm một số class thành phần (component class) Đây là

loại đặc biệt của mối quan hệ được gọi là sự tập hợp (aggregation) Quan hệ giữa các thành phần với class mà chúng tập hợp nên là một quan hệ bộ phận-tổng thể (part-whole) Trong

bài 2, chúng ta đã thấy rằng hệ thống máy tính cá nhân gia đình là một tập hợp gồm CPU box, keyboard, mouse, monitor, CD-ROM drive, hard disk, floppy disk drive, modem, printer và speaker

Ta biểu diễn một sự tập hợp như một phân cấp với class “whole” ở đỉnh và các thành phần phía dưới Một đường liên kết tổng thể (whole) với các thành phần (component) với một hình thoi gần đầu “whole” Hình 5.1 cho thấy hệ thống máy tính như một sự tập hợp

Hình 5.1

Một aggregation

(part-whole) được biểu diễn

bởi một đường liên kết

giữa tổng thể với các bộ

phận

Trang 2

aggregation không bắt buộc như thế Ví dụ, trong một hệ thống giải trí tại gia, một điều khiển từ xa (remote control) có thể là 1 component của 1 TV và đồng thời là 1 component của một VCR

Ràng buộc trên các mối kết hợp:

Một tập hợp các thành phần trong một aggregation có thể “rơi” vào mối quan hệ OR Ví dụ, trong một số nhà hàng, một bữa ăn (meal) bao gồm soup hoặc salad, main course và dessert

Để mô hình hoá điều này, ta dùng một ràng buộc OR như hình 5.2

Hình 5.2

Ta có thể đặt một ràng

buộc trên một

aggregation để cho thấy

rằng một thành phần

này hoặc thành phần

khác là bộ phận của

tổng thể

Các cấu thành (composite):

Một cấu thành (composite) là một loại aggregation chặt chẽ hơn Mỗi thành phần trong một composite chỉ có thể thuộc một tổng thể mà thôi Các thành phần của một bàn cà phê (coffee table) - mặt bàn và các chân bàn - tạo nên một composite Biểu tượng cho composite tương

tự như cho aggregation, ngoại trừ hình thoi màu đen

Hình 5.3

Trong một composite,

mỗi thành phần thuộc

về duy nhất một tổng thể

(whole)

Ngữ cảnh (context)

Khi ta mô hình hóa một hệ thống, nhóm các class sẽ trộn với nhau thường dưới dạng aggregation hoặc composite Chúng ta sẽ chỉ tập trung vào một nhóm này hay nhóm kia, và

sơ đồ ngữ cảnh (context diagram) cung cấp tính năng mô hình hóa điều đó Một context diagram giống như một bản đồ chi tiết của một vùng từ một bản đồ lớn hơn

Trang 3

Hình 5.4

Một sơ đồ ngữ cảnh

composite biểu diễn các

thành phần của một

class như một diagram

lồng bên trong một hình

chữ nhật class lớn

Context diagram của composite tập trung vào áo sơ-mi và các thành phần bên trong của nó

Để thấy áo sơ-mi trong ngữ cảnh của tủ áo quần, ta phải mở rộng tầm vực Một context diagram cho hệ thống cho phép điều này Ta có thể thấy class Shirt kết nối như thế nào với các class Wardrobe và Outfit

Hình 5.5

Một context diagram

của hệ thống cho thấy

các thành phần của một

class và quan hệ của nó

với các class khác trong

hệ thống

Giao diện và hiện thực (Interface and Realization)

Sau khi tạo ra một số class, ta có thể thấy rằng chúng không cùng liên quan đến một class cha cụ thể, nhưng các hành vi của chúng có thể chứa một số operation giống nhau với dấu hiệu giống nhau Khi đó, ta có thể mã hóa các operation cho một trong số các class đó rồi dùng lại chúng trong các class còn lại Một khả năng khác là ta xây dựng một tập các operation cho các class trong một hệ thống, và tái sử dụng chúng cho các class trong hệ thống khác

Thuật ngữ: Với cả hai cách trên, ta sẽ cần có cách nào đó để nắm bắt tập các operation có

thể tái sử dụng đó Giao diện (interface) là một cấu trúc của UML cho phép làm điều này

Một interface là một tập các operation mà đặc tả một số khía cạnh trong hành vi của một

Trang 4

Thuật ngữ: Mối quan hệ giữa một class và một interface được gọi là hiện thực hóa

(realization) Mối quan hệ náy được mô hình hóa như một đường đứt nét với một hình tam

giác lớn kề và chỉ vào interface

Hình 5.6

Một interface là một tập

hợp các operation mà

một class thực hiện Một

class liên hệ với một

interface thông qua

realization, được biểu

diễn bởi đường đứt nét

có hình tam giác nằm kề

và chỉ vào interface

Một cách khác để biểu diễn một class và một interface là một hình tròn nhỏ kết nối với class bởi một đường thẳng

Hình 5.7

Cách ngắn gọn để biểu

diễn một việc một class

hiện thực hóa một

interface

Tính rõ ràng (visibility):

Thuật ngữ: Liên quan chặt chẽ đến interface và realization là khái niệm tính rõ ràng

(visibility) Visibility ápdụng cho các attribute và operation (hoặc operation của một interface) Có 3 cấp độ cho visibility Ở cấp public, khả năng sử dụng được mở rộng cho các class khác Ở cấp protected, khả năng sử dụng chỉ được mở rộng cho các class thừa kế từ class nguồn Ở cấp private, chỉ class nguồn mới có thể dùng các attribute và operation của

nó.Ví dụ, trong một TV, changeVolume() và changeChannel() là các public operation, paintImageOnScreen() là một private operation Trong một xe gắn máy, accelerate() và brake() là các public operation, trong khi updateMileageCount() là protected operation

Trang 5

Hình 5.8

Các public operation,

private operation trong

một TV và các public

operation, protected

operation trong một xe

gắn máy

Tầm vực (Scope)

Thuật ngữ: Tầm vực (scope) là một khái niệm khác liên quan đến attribute và operation Có

2 loại tầm vực Trong tầm vực instance, mỗi instance có giá trị riêng của nó cho attribute và operation Trong tầm vực classifier, chỉ một giá trị của attribute và operation cho tất cả các

instance của class Một thuộc tính hay operation có tầm vực loại classifier xuất hiện với tên được gạch dưới Loại tầm vực này thường được dùng khi một nhóm cụ thể các instance phải chia sẻ các giá trị đúng của một thuộc tính private Loại tầm vực instance được dùng nhiều hơn

Tóm lược

Để hiểu đầy đủ về các class cũng như quan hệ giữa chúng, cần phải biết một số mối quan hệ

bổ sung Sự tập hợp (aggregation) mô tả một mối kết hợp bộ phận - tổng thể (part – whole): một “whole class” được tạo nên từ các “component class” Một component trong một aggregation có thể là bộ phận cho nhiều “whole class” khác nhau Một cấu thành (composite) là một dạng tập hợp có tính chặt chẽ hơn, trong đó một component chỉ có thể là

bộ phận của duy nhật 1 “whole class” Biểu diễn UML cho aggregation tương tự như cho composite Đường kết hợp liên kết các bộ phận với một tổng thể có một hình thoi kề với đầu

“whole” Trong aggregation, hình thoi rỗng, còn trong composite thì hình thoi đặc

Một context diagram tập trung sự chú ý vào một class cụ thể trong một hệ thống Một context diagram cho một composite giống như một bàn đồ chi tiết của một bản đồ lớn hơn

Nó cho trình diễn một class diagram được lồng bên trong một biểu tượng hình chữ nhật lớn Một context diagram cho hệ thống cho biết cách thức mà một context diagram cho composite quan hệ với các object khác trong hệ thống

Một sự hiện thực hóa (realization) là một mối kết hợp giữa một class và một interface, là một tập hợp các operation mà một số class có thể sử dụng Một interface có thể được biểu diễn như một class không có attribute Để phân biệt nó với một class có các thuộc tính nhưng đã được lược bỏ, dùng stereotype <<interface>> xuất hiện trên tên của interface với một tam giác kề và chỉ về phía interface Cách khác để biểu diễn một realization là với một đường nối một class với một hình tròn nhỏ, với hình tròn tượng trưng cho interface

Trong thuật ngữ tính rõ ràng (visibility), tất cả các operation trong một interface là public,

sao cho bất cứ class nào cũng có thể sử dụng chúng Hai cấp độ khác cho tính rõ ràng là

Trang 6

Một dấu “+” ký hiệu cho public, “#” ký hiệu cho protected và “-“ ký hiệu cho private

Tầm vực (scope) là một khía cạnh khác của attribute và operation Trong tầm vực instance (instance-scoping), một giá trị tồn tại cho một attribute hoặc operation cụ thể đối với tất cả các object trong một class

Câu hỏi

1 Sự khác nhau giữa một aggregation và một composite?

2 Realization là gì?

3 Tên của ba cấp độ của visibility và mô tả ý nghĩa của chúng

Ngày đăng: 25/01/2014, 07:20

HÌNH ẢNH LIÊN QUAN

Hình 5.1 - Tài liệu BÀI 5: TÌM HIỂU SÂU VỀ SỰ TẬP HỢP (AGGREGATION), SỰ CẤU THÀNH (COMPOSITE), GIAO DIỆN (INTERFACE) VÀ SỰ HIỆN THỰC (REALIZATION) docx
Hình 5.1 (Trang 1)
Để mô hình hoá điều này, ta dùng một ràng buộc OR như hình 5.2. - Tài liệu BÀI 5: TÌM HIỂU SÂU VỀ SỰ TẬP HỢP (AGGREGATION), SỰ CẤU THÀNH (COMPOSITE), GIAO DIỆN (INTERFACE) VÀ SỰ HIỆN THỰC (REALIZATION) docx
m ô hình hoá điều này, ta dùng một ràng buộc OR như hình 5.2 (Trang 2)
Hình 5.2 - Tài liệu BÀI 5: TÌM HIỂU SÂU VỀ SỰ TẬP HỢP (AGGREGATION), SỰ CẤU THÀNH (COMPOSITE), GIAO DIỆN (INTERFACE) VÀ SỰ HIỆN THỰC (REALIZATION) docx
Hình 5.2 (Trang 2)
Hình 5.4 - Tài liệu BÀI 5: TÌM HIỂU SÂU VỀ SỰ TẬP HỢP (AGGREGATION), SỰ CẤU THÀNH (COMPOSITE), GIAO DIỆN (INTERFACE) VÀ SỰ HIỆN THỰC (REALIZATION) docx
Hình 5.4 (Trang 3)
Hình 5.5 - Tài liệu BÀI 5: TÌM HIỂU SÂU VỀ SỰ TẬP HỢP (AGGREGATION), SỰ CẤU THÀNH (COMPOSITE), GIAO DIỆN (INTERFACE) VÀ SỰ HIỆN THỰC (REALIZATION) docx
Hình 5.5 (Trang 3)
Hình 5.6 - Tài liệu BÀI 5: TÌM HIỂU SÂU VỀ SỰ TẬP HỢP (AGGREGATION), SỰ CẤU THÀNH (COMPOSITE), GIAO DIỆN (INTERFACE) VÀ SỰ HIỆN THỰC (REALIZATION) docx
Hình 5.6 (Trang 4)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w