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

Thiết kế hướng đối tượng sử dụng UML

77 873 7
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Thiết Kế Hướng Đối Tượng - Sử Dụng UML
Tác giả Nguyễn Thanh Bình
Trường học Trường Đại Học Bách Khoa Đại Học Đà Nẵng
Chuyên ngành Công Nghệ Thông Tin
Thể loại bài giảng
Thành phố Đà Nẵng
Định dạng
Số trang 77
Dung lượng 359,45 KB

Nội dung

Tài liệu thiết kế hướng đối tượng sử dụng UML

Thi t k hư ng ñ i tư ng - S d ng UML (7) Nguy n Thanh Bình Khoa Công ngh Thông tin Trư ng ð i h c Bách khoa ð i h c ðà N ng N i dung Khái ni m b n hư ng ñ i tư ng Bi u ñ ca s d ng Thi t k c u trúc tĩnh Thi t k c u trúc ñ ng Sinh mã Hư ng ch c D a vào ch c c a h th ng H th ng t p h p ch c Chia nh ch c làm m n d n H th ng g m h th ng Làm ch ñ ph c t p Các ch c trao ñ i v i b ng truy n tham s ho c d li u (ch ng h n bi n toàn c c) dùng chung Hư ng ch c Phân c p ch c H th ng Ch c Ch c 1.1 Ch c 1.2 Ch c Ch c 2.1 Ch c 2.2 Hư ng ch c Ưu ñi m Phân tích đư c ch c c a h th ng ðưa l i k t qu mong ñ i Như c ñi m Ch c c u trúc Thay đ i v ch c khó khăn thay đ i c u trúc Tính m c a h th ng th p Khó tái s d ng Chi phí s a ch a l i l n Hư ng ñ i tư ng L y ñ i tư ng làm trung tâm H th ng = t p h p ñ i tư ng + quan h gi a ñ i tư ng Các ñ i tư ng trao ñ i b ng thông p (message) Khơng s d ng bi n tồn c c ðóng gói Th a k Hư ng ñ i tư ng Phân bi t L p trình c u trúc • Thu t tốn + c u trúc d li u = chương trình L p trình HðT • Σđ i tư ng = chương trình • đ i tư ng = thu t tốn + c u trúc d li u Hư ng ñ i tư ng Ưu m G n gũi v i th gi i th c Tái s d ng d dàng ðóng gói, che d u thơng tin làm cho h th ng tin c y Th a k làm gi m chi phí, h th ng có tính m cao Xây d ng h th ng l n ph c t p ð i tư ng ð i tư ng (object) khái ni m cho phép mô t s v t/th c th th gi i th c Các ñ i tư ng trì quan h gi a chúng Nguy n Văn A m t ñ i tư ng ð i tư ng Các tính ch t c a ñ i tư ng ð i tư ng = tr ng thái + hành vi + ñ nh danh • Tr ng thái ñ c tính c a đ i tư ng t i m t th i m • Hành vi th hi n ch c c a ñ i tư ng • ð nh danh th hi n s t n t i nh t c a ñ i tư ng 10 ð i tư ng : tr ng thái Tr ng thái = t p h p thu c tính M i thu c tính mơ t m t đ c tính T i m t th i ñi m c th , thu c tính mang giá tr mi n xác đ nh Ví d • M t chi c xe máy: màu xanh, 110 cm3, dream, 12000km, ñ ng yên, … 11 ð i tư ng : hành vi Hành vi = t p h p phương th c Phương th c: m t thao tác ho c đư c th c hi n b i nó, ho c th c hi n có yêu c u t mơi trư ng (thơng p t đ i tư ng khác) Hành vi ph thu c vào tr ng thái Ví d : • m t xe máy có hành vi: kh i đ ng, ch y, … 12 Giao ti p gi a ñ i tư ng Các ñ i tư ng giao ti p v i G i thơng p (message) cho Thơng p ð i tư ng A ð i tư ng B Các lo i thông ñi p • • • • • hàm d ng (constructor) hàm h y (destructor) hàm ch n l a (get) hàm s a ñ i (set) hàm ch c khác 13 ð i tư ng Gi a đ i tư ng có m i liên k t (link) v i Ví d Nguy n Văn A H c ð i h c ðà N ng 14 L p L p khái ni m dùng đ mơ t m t t p h p đ i tư ng có m t c u trúc, hành vi có nh ng m i quan h v i ñ i tư ng khác L p = thu c tính + phương th c 15 L p L p m t bư c tr u tư ng hóa Tìm ki m ñi m gi ng nhau, b qua ñi m khác c a ñ i tư ng Person Name Age changeAge Tr u tư ng hóa làm gi m ñ ph c t p 16 L p Quan h gi a l p: k t h p M t k t h p m t t p h p m i liên k t gi a ñ i tư ng Sinh viên h c ð ih c 17 L p & ð i tư ng ð i tư ng th hi n (instance) c a l p Giá tr th hi n c a thu c tính Liên k t th hi n c a k t h p L p ð i tư ng Thu c tính Giá tr K th p Liên k t 18 Các tính ch t c a HðT Tính đóng gói (encapsulation) d li u + x lý d li u = đ i tư ng thu c tính + phương th c = l p Ưu ñi m H n ch nh hư ng có s thay đ i c p nh t Ngăn c n s truy c p thơng tin t bên ngồi Che d u thơng tin 19 Các tính ch t c a HðT Tính th a k (inheritance) M t l p ñư c xây d ng t m t ho c nhi u l p khác b ng vi c chia s thu c tính phương th c L p th a k thu c tính phương th c t l p cha T ng quát hóa/chuyên bi t hóa • T ng qt hóa (generalization): đ t tính ch t chung c a l p khác vào m t l p cha • Chuyên bi t hóa (specialization): t o m t l p có tính ch t riêng t l p cha 20 10 Bi u ñ tu n t M t thơng p đ c t trao đ i gi a ñ i tư ng Các lo i thơng p G i (call) Tr v (return) G i (send) T o (create) H y (destroy) 125 Bi u đ tu n t Thơng p g i g i m t phương th c/thao tác ñ i tư ng ð i tư ng g i ph i đ i thơng p đư c th c hi n k t thúc m i có th th c hi n cơng vi c khác (thơng p ñ ng b ) M t ñ i tư ng có th g i thơng p cho Kí hi u object A object B object message() G i thơng p g i G i cho 126 63 Bi u đ tu n t Thơng p tr v tr v m t giá tr cho đ i tư ng g i Kí hi u Object A Object B message() value Thơng p tr v 127 Bi u đ tu n t Thơng ñi p g i g i m t tín hi u ñ n m t ñ i tư ng Khác v i thơng p g i, đ i tương g i thơng p g i khơng ch ñ i, mà ti p t c th c hi n cơng vi c khác (thơng p khơng ñ ng b ) Kí hi u object A object B message() Thơng p g i 128 64 Bi u đ tu n t Thơng p t o g i phương th c t o m t ñ i tư ng Thơng p h y g i phương th c h y m t ñ i tư ng Kí hi u Thơng p t o object A object B Thơng p h y 129 Bi u đ tu n t Ví d :A msg1 msg2 msg3 :B public class A { private B objB; public void msg1() { objB = new B(); objB.msg2(); objB.msg3(); } } public class B { … public void msg2() { … } public void msg3() { … } } 130 65 Bi u ñ tu n t M t thơng p có th đư c g i l p nhi u l n G i l p thơng p 10 l n Kí hi u object B object A *[1 10]message() for(i = 1; i OneOrder − quantity: Integer * + subtotal() : double AirPlane public class OneOrder { public double subtotal() { } private int quantity; private AirPlane airPlane; − price : float } + getPrice() : float 147 Sinh mã Mã l p ListOfOrders orderListe OneOrder * ListOfOrders − datePlaced − clientID − quantity: Integer public class ListOfOrder { public double total() { } private Date datePlaced; private int clientID; private Vector orderList; + subtotal() : double } + total() : double 148 74 Sinh mã Bi u ñ c ng tác th c hi n phương th c total() : total() : *[for each] subtotal() :ListOfOrders :OneOrder : getPrice() :AirPlane 149 Sinh mã Mã phương th c total() : total() : *[for each] subtotal() :ListOfOrders :OneOrder : getPrice() public double total() { :AirPlane } 150 75 Sinh mã Mã phương th c total() : total() : *[for each] subtotal() :ListOfOrders :OneOrder public double total() { double sum = 0; for (int i=0; i

Ngày đăng: 16/08/2012, 13:43

HÌNH ẢNH LIÊN QUAN

Hình lĩnh vực (domain model) - Thiết kế hướng đối tượng sử dụng UML
Hình l ĩnh vực (domain model) (Trang 34)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w