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

Tài liệu BÀI 3: LÀM VIỆC VỚI HƯỚNG ĐỐI TƯỢNG pdf

6 421 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 627,92 KB

Nội dung

BÀI 3: LÀM VIỆC VỚI HƯỚNG ĐỐI TƯỢNG Nội dung chính trong bài học: + Trực quan hóa một lớp class + Các thuộc tính attribute + Các hành vi operation + Các đáp ứng responsibility và ràng b

Trang 1

BÀI 3:

LÀM VIỆC VỚI HƯỚNG ĐỐI TƯỢNG

Nội dung chính trong bài học:

+ Trực quan hóa một lớp (class)

+ Các thuộc tính (attribute)

+ Các hành vi (operation)

+ Các đáp ứng (responsibility) và ràng buộc (constraint)

Trực quan hóa một lớp (class):

Chúng ta đã biết rằng 1 hình chữ nhật là biểu tượng dùng để biểu diễn 1 class trong UML Tên của class, theo qui ước, là một từ với ký tự đầu viết hoa, xuất hiện phía trên của hình chữ nhật Nếu tên class có 2 từ trở lên thì kết các từ sát với nhau với chữ hoa đầu từ (ví dụ WashingMachine trong hình 3.1)

Hình 3.1

Biểu tượng class trong UML

Một cấu trúc UML khác, gọi là gói (package), có thể đóng vai trò trong tên của một class Như đã giới thiệu trong các bài trước, một package, được biểu diễn như một tabbed folder,

là cách của UML nhằm tổ chức các thành phần của diagram Xem biểu tượng package trong hình 3.2

Hình 3.2

Ví dụ package UML

Thuật ngữ: Nếu lớp WashingMachine là thành phần của một package có tên là Household

appliances, ta có thể đặt tên cho class là Household appliances::WashingMachine 2 dấu hai chấm tách rời tên package bên trái với tên class bên phải Loại tên class này gọi là một tên

đường dẫn (pathname) Xem hình 3.3

Hình 3.3

Một class với một pathname

Trang 2

Các thuộc tính (attribute):

Thuật ngữ: Một thuộc tính (attribute) là một đặc tính của một class Nó mô tả vùng giá trị

mà tính chất trong các object (instance) của class có thể nắm giữ Một class có thể không có hoặc có nhiều thuộc tính.Theo qui ước, tên thuộc tính viết liền với chữ thường Nếu tên thuộc tính gồm nhiều từ thì các từ kết liền với nhau và mỗi từ bắt đầu bằng chữ hoa Danh sách các tên thuộc tính bên dưới tên class, xem hình 3.4

Hình 3.4

Một class với các thuộc tính

Mỗi object của class có một giá trị cụ thể cho từng thuộc tính Hình 3.5 biểu diễn một ví dụ Chú ý rằng tên object bắt đầu bằng chữ thường, kế tiếp là 1 dấu hai chấm, kế tiếp là tên class và toàn bộ tên được gạch dưới

Chú ý: Tên myWasher:WashingMachine là một thể hiện có thên (named instance)

Ngoài ra còn có thể hiện vô danh (anonymous instance) như :WashingMachine

Hình 3.5

Một object có một giá

trị cụ thể cho mỗi thuộc

tính của class chứa nó

UML cho phép đưa vào các thông tin bổ sung cho các thuộc tính Trong biểu tượng class, ta

có thể đặc tả một kiểu dữ liệu cho từng giá trị của thuộc tính Những kiểu dữ liệu có thể là string, floating-point number, integer và boolean Để mô tả kiểu, dùng một dấu : ngăn cách giữa tên thuộc tính với tên kiểu Ngoài ra, có thể chỉ ra giá trị mặc định (default value) cho một thuộc tính Hình 3.6 chỉ ra các cách đặc tả thuộc tính

Hình 3.6

Một thuộc tính có thể

cho biết kiểu của nó

cũng như giá trị mặc

định

Trang 3

Các hành vi (operation):

Thuật ngữ: Một hành vi (operation) là cái mà một class có thể tự làm được hoặc chúng ta

(hoặc class khác) có thể làm cho class đó Giống như tên thuộc tính, một tên hành vi cũng chỉ toàn chữ thường khi nó có 1 từ Nếu tên hành vi gồm 2 từ trở lên thì mỗi từ bắt đầu bằng chữ hoa rồi kết liền với nhau Danh sách các operation nằm bên dưới danh sách các attribute

Hình 3.7

Danh sách các hành vi

của class xuất hiện bên

dưới đường ngăn cách

với các thuộc tính của

class

Thuật ngữ: Ta cũng có thể chỉ ra thông tin bổ sung cho các hành vi Trong các dấu ngoặc

theo sau tên hành vi, ta có thể biểu diễn các tham số được xử lý bởi hành vi và cùng với đó

là kiểu dữ liệu của chúng Một loại hành vi là hàm (function), trả về một giá trị sau khi hành

vi kết thúc thực hiện Đối với một function, ta có thể cho biết giá trị trả về và kiểu của giá trị

đó

Thuật ngữ: Các thông tin về một operation được gọi là dấu hiệu (signature) của hành vi

Hình 3.8 cho thấy cách biểu diễn signature

Hình 3.8

Dấu hiệu (signature)

cho một operation

Các thuộc tính, hành vi và sự trực quan hóa:

Chúng ta làm việc với các class trong sự tách rời và biểu diễn tất cả các thuộc tính, hành vi của một class Trong thực tế, chúng ta sẽ biểu diễn nhiều class cùng lúc Khi đó, không phải lúc nào cũng thuận tiện trong việc hiển thị tất cả các thuộc tính và hành vi vì như thế có thể làm diagram thêm rối Thay vào đó, ta có thể chỉ hiển thị tên class mà bỏ trống vùng attribute hoặc operation, như hình 3.9

Trang 4

Hình 3.9

Trong thực tế, ta không

phải luôn luôn biểu

diễn tất cả các thuộc

tính và hành vi của một

class

Thuật ngữ: Đôi lúc cần biểu diễn một vài (không phải tất cả) attribute và operation Để làm

điều này, ta hiển thị những gì cần thiết rồi theo sau danh sách là dấu ba chấm Điều này

được gọi là sự tĩnh lược (ellipsis) và việc bỏ qua một vài attribute hoặc operation được gọi

là tĩnh lược một class Hình 3.10 cho thấy cách sử dụng một tĩnh lược

Hình 3.10

Một tĩnh lược cho thấy

các operation không

phải là tập đầy đủ

Nếu danh sách các attribute và operation quá dài, ta có thể dùng một stereotype để tổ chức cho danh sách cô đọng hơn Một stereotype là cách của UML cho phép ta mở rộng nó: cho phép ta tạo các thành phần mới riêng biệt cho vấn đề cụ thể đang cần giải quyết Như đã đề cập trong các bài trước, ta biểu diễn stereotype như một tên gọi trong cặp ngoặc nhọn gọi là

guillemet Đối với một danh sách thuộc tính, ta có thể dùng một stereotype như tiêu đề cho

một tập thuộc tính con

Hình 3.11

Sử dụng một stereotype

để tổ chức một danh

sách các attribute và

operation

Chú ý: Stereotype là một cấu trúc mềm dẻo Ta co 1thể dùng nó theo nhiều cách khác nhau

Ví dụ, có thể dùng nó phía trên tên của một class trong biểu tượng class để chỉ ra vai trò mà class đó đang nắm giữ

Trang 5

Các đáp ứng (responsibility) và ràng buộc (constraint):

Thuật ngữ: Biểu tượng class còn cho phép đặc tả một loại thông tin khác về một class Bên

dưới danh sách operation, ta có thể trình bày các đáp ứng (responsibility) của class Responsibility là một mô tả cho cái mà class phải làm – có nghĩa là các attribute và operation nào của class sẽ thực hiện Ví dụ, một washing machine có responsibility là lấy áo quần dơ vào và xuất ra áo quần sạch

Trong biểu tượng class, ta trình bày các responsibility bên dưới danh sách các operation (xem hình 3.12)

Hình 3.12

Trong một biểu tượng

class, viết các

responsibility của class

trong một vùng dưới

danh sách các

operation

Thuật ngữ: Để thêm một ràng buộc (constraint), dùng dấu ngoặc móc bao lấy nội dung

ràng buộc Nội dung ràng buộc trong ngoặc đặc tả các luật mà class phải tuân thủ Ví dụ, trong lớp WashingMachine, ta muốn đặc tả rằng sức chứa của một máy giặt chỉ có thể là 16,

18 hoặc 24 pound (có nghĩa ràng buộc trên thuộc tính capacity của lớp WashingMachine), ta viết {capacity=16 or 18 or 24 lb) gần với biểu tượng lớp WashingMachine

Hình 3.13

Luật trong ngoặc móc

ràng buộc thuộc tính

capacity với 1 trong 3

giá trị có thể

Ghi chú (note):

Ngoài attribute, operation, responsibility và constraint, ta còn có thể thêm thông tin vào một class dưới dạng ghi chú (note) đính kèm class

Trang 6

Hình 3.14

Ghi chú đính kèm cung

cấp thêm thông tin về

class

Tóm lược

Hình chữ nhật là biểu tương UML để mô tả một class Name, attribute, operation và responsibility của class được chia vào các vùng trong hình chữ nhật.Ta có thể dùng stereotype để tổ chức danh sách các attribute và operation Ta có thể tĩnh lược một class bằng cách biểu diễn tập con của các attribute và operation Điều này làm cho 1 class diagram ít phức tạp

Ta có thể biểu diễn kiểu dữ liệu và giá trị khởi động cho attribute Ngoài ra còn có thể biểu diễn những giá trị được xử lý bởi một operation cũng như kiểu dữ liệu của chúng Đối với một operation, những thông tin bổ sung này được gọi là dấu hiệu (signature)

Nhằm giảm sự nhập nhằng trong một định nghĩa class, ta có thể thêm các ràng buộc UML cho phép mô tả thêm về một class bằng cách đính kèm các chú thích (note) vào hình chữ nhật biểu diễn cho class

Câu hỏi:

1 Cách trình bày một class bằng UML?

2 Các thông tin có thể biểu trên một biểu tượng class?

3 Ràng buộc là gì?

4 Tại sao cần đính kèm ghi chú vào một biểu tượng class?

5 Khi nào chúng ta cần biểu diễn một signature cho một opeartion?

Bài tập:

1 Mô tả ngắn cho môn hockey:

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

HÌNH ẢNH LIÊN QUAN

Hình 3.4 - Tài liệu BÀI 3: LÀM VIỆC VỚI HƯỚNG ĐỐI TƯỢNG pdf
Hình 3.4 (Trang 2)
Mỗi object của class có một giá trị cụ thể cho từng thuộc tính. Hình 3.5 biểu diễn một ví dụ - Tài liệu BÀI 3: LÀM VIỆC VỚI HƯỚNG ĐỐI TƯỢNG pdf
i object của class có một giá trị cụ thể cho từng thuộc tính. Hình 3.5 biểu diễn một ví dụ (Trang 2)
Hình 3.7 - Tài liệu BÀI 3: LÀM VIỆC VỚI HƯỚNG ĐỐI TƯỢNG pdf
Hình 3.7 (Trang 3)
Hình 3.8 - Tài liệu BÀI 3: LÀM VIỆC VỚI HƯỚNG ĐỐI TƯỢNG pdf
Hình 3.8 (Trang 3)
Hình 3.8 cho thấy cách biểu diễn signature. - Tài liệu BÀI 3: LÀM VIỆC VỚI HƯỚNG ĐỐI TƯỢNG pdf
Hình 3.8 cho thấy cách biểu diễn signature (Trang 3)
Hình 3.10 - Tài liệu BÀI 3: LÀM VIỆC VỚI HƯỚNG ĐỐI TƯỢNG pdf
Hình 3.10 (Trang 4)
Hình 3.9 - Tài liệu BÀI 3: LÀM VIỆC VỚI HƯỚNG ĐỐI TƯỢNG pdf
Hình 3.9 (Trang 4)
Hình 3.12 - Tài liệu BÀI 3: LÀM VIỆC VỚI HƯỚNG ĐỐI TƯỢNG pdf
Hình 3.12 (Trang 5)
Hình 3.13 - Tài liệu BÀI 3: LÀM VIỆC VỚI HƯỚNG ĐỐI TƯỢNG pdf
Hình 3.13 (Trang 5)
Hình 3.14 - Tài liệu BÀI 3: LÀM VIỆC VỚI HƯỚNG ĐỐI TƯỢNG pdf
Hình 3.14 (Trang 6)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w