Lập trình hướng đối tượng với uml 2 0 và c++ phần 2

20 3 0
Lập trình hướng đối tượng với uml 2 0 và c++ phần 2

Đ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

Chương IV MÔ HÌNH HOn Cấu TRÚC Diễn tả hệ thống bằng các ca sứ dụng thực chất là mộl sự diễn tả chức nàng (nhìn từ phía người dùng) Một sự phân tích tiếp tục theo hướng chức nãng sẽ dẫn ta Irờ lại con[.]

Chương IV MƠ HÌNH HOn Cấu TRÚC D iễn tả hệ thống ca sứ dụng thực chất m ộl diễn tả chức nàng (nhìn từ phía người dùng) Một phân tích tiếp tục theo hướng chức nãng dẫn ta Irờ lại đường phương pháp hướng chức kinh điển, kéo Iheo nhược điểm V ì sau bước diễn tả nhu cầu ca sử đụng, ta cần chuyển sang cách tiếp cận đối tượng V iệc phát đối iưcmg lớp với cấu trúc hành vi dầy đù chúng chặng đường dài chương này, ta xét dến phát khẳng định vai trò chúng cách sơ Có hai nguồn để phát chúng: - Từ khái niệm sử dụng lĩnh vực ứng dụng thường khái niệm vật thể kiện, ta đề xuất đối tượng lớp để miêu tả, m ô chúng Loại đối tượng thường gọi đối tượng thực thể hay đối tượng lĩnh vực - Từ m ỗi ca sử dụng, ta nghiên cứu xem cần có hợp tác đối tượng đế thực dược ca sử dụng Qua ta có ihể gặp lại dối lượng thực thể trên, kháng định vị ih ế chúng irong hệ ihống, đồng thời la lại phát thêm dược loại đối tượng phù trợ, dối iượng bièn (giao diện) đối tượng điều khiển Tuy nhiên trưóc sáu vào hai cách tiếp cân (bước bước 4), ta xem xét khái niệm chung đối tượng lớp với cách diễn tả chúng UM L 74 Chương IV: Mơ hình hố cấu trúc §1 ĐỐI TƯỢNG, LỚP, GĨI VÀ LỒI Đ ỊN H N G H ĨA V À B lỂ U D IẺ N C Ủ A Đ Ố I T Ư Ợ N G VÀ L Ớ P Đ i Híợr.iỊ (tin học) )ã biểu diẽn ĩrừu lượng cúa niột thực Ihè’ (vặt lý hay khái niệm ) có càn cước ranh giới rõ ràng th ế giới thực, cho phép thâu tóm trạng thái hành vi thực thể đó, nhẳm mục đích mó phong hay điêu khiến thực Trợfií> thái đối tượng ihể tập hợp thuộc únh ihời điếm , mối thuộc tính cúa đối tượng có giá Irị nhâì địph Hành 1/ CÚ.I tưọĩig íhv liiện lập hợp iìtao lúc dó dịch vụ mà có Ihế thực đối tượng khác yêu cầu Cún cước cùa đối tượng để phân biệt với dối tượng khác Càn cước độc !ập với thuộc tính Cho nên hai đối tượng c ó giá trị thuộc lính trùng nhau, phân biệt nhờ có cước riêng cúa chúng Trong mơ hình hóa, Ihì cưóc ln ln xem hữu cách ngầm đmh Khi cài đật, cước có ihể ihực nhiều cách, chẳng hạn định danh hay địa Nếu định danh, xem thuộc tính đặc biột (có giá trị c ố định nhất) Lớp m ô lả lập hợp đối tượng có chung thuộc tính, ihao tác, mối liên quan, ràng buộc vã ngữ nghĩa Vậy lóp ỉà kiểu, m ỗi dối iượiig thuộc 1(%) cá ilìẽ (in s u n a ) ƯML biếu diễn lớp hình chữ nhật có ba ngãn; - ngăn thứ dành cho tên lóp (tên lớp phải bắt đầu chữ viết hoa); - ngăn thứ hai dành cho íhuộc tính (lèn thuộc tính phải bắt đầu chữ viếl thường); - ngân thứ ba dành cho thao tác (tên thao tác phải bắt dầu chữ viếi thưịfng) Ngồi đổi vẽ ưiêm ngăn thứ tư dành cho trách níiiệm lớp Ngược lại, rnuốn vẽ đơn giản, ngồi ngăn tên bắt buộc, ngăn khác để trống hay lược bỏ (Xem Hình IV 1) 75 § Đ ố i tượng, lớp, g ó i lo i Lớp Lớp thuộc tính thao tá c () Hình /V ,/ C ác hiểu diễn lớp Đ ối tượng biểu diễn hình chữ nhật có hai ngăn: ngãn tên ngăn giá trị ihuộc lính Tẽn đối tượng phải gạch dưới, kèm theo tên iớp (đạl sau dấu Có có thê bị hay để trống ngăn giá irị thuộc tính bó tên đối iượiig có lớp (trường hợp khuyết danh) (xem Hình IV,2) đối iưựng;Lóp dối iư • Kiểu (lype); kiểu củ?, giá trị thuộc tính, thơng thường kiếu nguyên thuỷ Integer Real Boolean kiếư khác Point, Area, Eiiumeraúon kể kiểu dó ià m ộl lữp kiiác, • Giá írị đầu đối (ìnilial value) ià giá Irị ngám định gán cho thuộc tính tượng tạo lập lừ lớp • ỵâii tính chất (property-slring) để trỏ giá trị có Ihể gán cho thuộc tính, thường dùng kiểu liệt kê, chẳng hạn: tình trạng: Tinhirạng = chưatrả {chưatrả, đãtrả N goài ra, m ỗi thuộc tính lại có phạm vi l('/p (class-scope) phản ánh đặc điểm lớp riêng đối tượng Chẳng hạn thuộc tính 'số hố đơn’ lớp Hố đơn Thuộc tính thuộc phạm vi lớp phải dược gạch Một thuộc tính )à dần xuất, giá trị cửa tính từ giá trị Ihuộc tính khác lớp Thuộc tínb dần xuất phải n^ang thêm dấu gạch chéo đầu, chẳng hạn /tuổi (khi có ngày sính) CÁC THAO TÁC Thao rác dịch vụ mà đối tượng đáp ứng yêu cầu (thông qua thông điệp) Các thao tác cài đặt thành phương thức Cú pháp đầy đủ thao tác sau; lầm nhin] tên[(danh sách tham số)][: Kiếu trả lại][{xâu tính chất} • Tẩm nhìn hồn tồn giống tầm nhìn thuộc tính § 77 Đ ố i tượng, lớp, g ó i lo i • Danh sách tham ỏ'ô’là danh sách gồm s ố tham số hinh thức, cách dấu phẩy, mổi tham số có dạng: hướng] tên ; Kiểu [= giá Irị ngầm định - Hướng có Ihể lấy giá trị in, oul,inout retum tuỳ thuộc iham số input - khơng thể điều chỉnh, oulput - điều chỉnh để đưa thông tin cho bên gọi, input điều chỉnh được, đế trả lại kết cho bên gọi - Giá trị ngầm định giá trị sử dụng lời gọi khuyết tham số ihực lương ứng • Xâu tính chất bao gồm tiền đề, hậu đề, lác động lên trạng thái đối tượng Thông thường chi tiết m tả tuỳ chọn thuộc tính hay thao tác khơng xì cách đầy đủ m hình, mà lưu giữ riêng chỗ khác, nhằm làm cho mổ hình quang đãng, dễ đọc Với g cụ CASE, cán la bấm chuột chảng hạnđể làm lộ diện tất cà chi tiết M Ố I L IÊ N Q U A N P H Ụ T H U Ộ C Giữa lớp có ba m ối liên quan: - m ối liên quan phụ thuộc, - m ối liên quan khái quát hóa, - m ối liên quan lièn kết mục này, ta đề cập mối liên quan đáu, m ối liên quan lại trình bày mục tiếp sau M ố i liên quan phụ thuộc (dcpeiidency relationship) thường dùng để diễn đạt m ột lớp (bên phụ thuộc) chịu ảnh hưởng m ọi Ihay đổi lóp khác (bên dộc iập), mà ngưọc lại ihi khơng ihiết Thường bên phụ thuộc cần dùng bên độc lập để đặc tả hay cài đật cho UM L biểu diễn mối liên quan phụ thuộc mũi tên đứi nét (từ bên phụ Ihuộc sang bên độc lập) Một thí dụ cho Hình IV.3 Chương IV: Mơ hình hoả cấu trúc 78 ihúíicK ) I b.lấyC().thaoiác2() Hình IV.3 Lớp A phụ ihuộc lớp c C lĩii thích: Tioiig Hình IV ih'i ghi (nb bàv hình cíiữ nhặt gấp góc) clio tỉiấv nội duog cài đặl thaotácK ) lớp A đá vận đung thaotác2() cùa lớp thuộc vào lớp c, điều làm cho lớp A phụ c Có nhiều biểu khác phụ thuộc Ta thường dùng từ khố (khn dập) để rõ khác biệt Sau vài từ khố chuẩn; «u se» : Chi ngữ nghĩa lớp gốc phụ thuộc vào ngừ nghĩa lớp Đặc biệt trường hợp lớp gốc dùng lớp làm tham số thao tác « p e r m it» : Chỉ lớp gốc quyền Iruy cập cách đặc biệt vào lớp (chẳng hạn truy cập thao tác riêng tư) Khái niệm permit tương ứng với khái niệm íriend C++ « r e fín e » : Chỉ lớp gốc mức độ tinh ch ế cao từ lớp Chẳng hạn lóp lập giai đoạn thiếi kế nhằm tinh ch ế lớp lập giai đoạn phân tích Trong UM L m ối liên quan phụ Ihuộc thiết lập lớp, mà cịn có Ihể đối tượng lớp (với từ khố « i n s t a n c e O f » ) , trường hợp sử dụng (với từ khố « i n c l u d e » « e x t e n đ » ) , gói « i m p o r t » , « a c c e s s » « m e r g e » ) v.v (với lừ khố §1 Đ ố i tượng, lởp, g ó i lo i 79 M Ố I L IÊ N Q U A N K H Á I Q U Á T HOẢ Khái quát hoá (generalization) rút đạc điểm chung nhiều lớp để tạo thành lớp giàn lược gọi ỉớp trén (hay cha) Quá trình ngược lại gọi chuyên biệt iioú fspecialization): từ m ội lóp cho ta tãng cường Ihém số đặc điểm mới, tạo thành m ộl lớp chuyên hơn, gọi ìớp (hay con) Mối liên quan lớp lớp cha gọi liên quan khái quát hoá, biểu diễn mũi tên có đầu tam giác rỗng (ihường đọc is-a-kind-oO Nếu ta kéo dài khái quát hoá hay chuyên biệt hoá, la lập phân cấp lớp mội thí dụ quen ihuộc cho trẽn Hình IV Cây thường gọi phả hệ khái qt hố Hình IV.4 Câv phản cấp khái qiiát hố Một lớp khơng có chu có liay nhiều cha Một lớp khơng c ó cha có hay nhiều gọi lớp gấc hay lớp c sá Một lớp có mộr cha gọi lớp kếíUni {siinple inheritance) M ội lớp có nhiéu cha gọi lớp ỉhừa k ế bội (multiple inheritance), M ột thí dụ thừa kế bội cho Hình IV Hình IV.5 Thừa k ế hội 80 Chương IV: Mơ hình hồ cấu trúc Thuật ngữ thừa kế vốn dùng nhiều ngơn ngữ lập trình, nhằm diễn tả lớp có m ọi ihuộc tính, thao tác liên kết (sẽ nói dưới) m õ tả lớp cha Hcm lớp thêm thuộc tính, thao lác liên kết lại cịn định nghĩa lại (đè lấp) m ội thao tác lớp Kỹ thuật lập irình mà Irong đối tượng cùa lớp hoạt động đối tượng cùa iớp irên n g VỚI m ộ t vài th a o tá c đ ã đượ c đ ịn h n g h ĩa lại, đượ c gọi đ a hình hay đ a xạ (potymorphism) Thóne qua khái ạuat hố la làm xt hién lớo trìni tượng, nghĩa lớp khơng có cá thể, mà dùng cho việc m ô tả dặc điểm chung cùa lớp dưói mà thỏi Một lóp trừu lượng vhường có cỉiứa thau íác trùn tiiợiiỊ’, thao tác có tiêu đề mà khỏng có cài đạl 'ITidc tác trừu tượng phải định nghĩa lai kèm cài đật \ớp đưói Tèn cúa lớp trừu iưựng liêu Jề cúa thao tác trừu tượng phủi viết xiên kèm thém xâu tính chất abstract} Trong thí dụ cho Hình IV 6, Đ ộng vật lớp trừu tượng Nó có thao tác trừu iượng ngủ() Thao tác trừu tượng cụ thể hố lóp chun biệt Ngựa, H ổ, Dơi theo cách thức khác (ngủ đứng, ngủ nằm ngủ Ireo) nau đứng ^ ngu nãm neú treo ^ Hình ĨV.6 L ớp trìni tượng thao tác trừư tượng § Đ ố i tượng, lóp, g ó i lo i 81 L IÊ N K Ế T a) Kết nói liên kết Giữa cá thể cúa hai lớp tổn íĩhũng ghép cặp, phản ánh mối liên hệ thực tế Gọi kếỉ nối (link) Chẳng hạn kết nối vợ - chổng, kết nối thầy - trò, kết nối xe máy - chủ xe, kết nối khách hàng - hóa đơn v.v Tập hợp kết nối loại (cùng ý nghĩa) cá hai lớp tạo thành mối liên quan hai lóp gọi liền kết (association) Theo nghĩa quan hệ (hiếu theo nghĩa tốn học) hai tập hợp (là hai lóp) Liên kết hai lớp biểu diễn bới đường thẳng hay gấp khúc liền nét nối hai lớp mang theo lên liên kết Tên liên kết thường động từ với chữ đầu viết thường Nghĩa động lừ thường phía, ta thường gắn vào tên tam giác đặc i hay ► để hướng áp dụng Trong thí dụ Hình IV ta có liên kết lớp TrườngĐH lớp Sinhviên Liên kết diễn giải thành kết nối cụ thể đối tượng hai lớp Hình IV.7 M ộ t liên kếỉ kết nối Chương IV; Mơ hình hồ cấu trúc 82 b) Sự lưu hành Sự tổn kết nối hai đối tượng (của hai lớp Irong liên kếl) có nghĩa đối tượng "biết nhau” D o dó từ đối tượng này, nhờ có kết nối mà la tìm đến đối tượng Gọi hm hành (navigation) liên kết Nói chung ihì lưu hành có ihể thực theo hai chiều (tức hai dáu) trẽn iìẽn kết Song có lưu hành Irên liên kết hạn ch ế theo chiều Để rõ hạn chế này, ta thêm mũi tên vào đầu lưu hành dấu chéo vào đầu kỉiỏủg lưu hàiiỉi (Hdih r/.S) Khi kJiồiig cói ììũi tê.ì dấu chéo ihì ta xem lưu hành khống chi rị chứa ► H'đơp Địachỉ ỉiin h IV.8 Liên kêi có hướng c) Vai trị Trong liên kết hai lớp, ihì m ỗi lớp đóng vai trị (role) khác Tên vai trị, với chữ viết Ihường, viết thêm vào m ỗi đầu liên kết, Hình IV.9 (vì rnà vai trị gọi tẻn m ột đầu ỉiên kểĩ) ý nghĩa, vai trị biểu diễn cho tập hợp đối tượng Trường quan sử dụiig - < day sinh viên vợ Neười giíío len chổnc kcl hỏn Hình IV.9 C c vai trị liền kếĩ d) C só Mỗi đầu liên kết cịn chua ihêm c 5ó'(multipliciiy), cho biết số cá thể (tối thiểu tối đa) đầu tham gia liên kết với m ột cá thể đầu (xem Hình IV 10) Các giá trị số thường đùng là; § Đ ố i tượng, lởp, g ó i lo ài 83 không hay m n lừ m tới n (m n số tự nhiên) * hay * từ lới nhiều =^ mỏt tới nhiều sinh viên Trưừna cư quan sử dụng Neười ciáo viên Hình ỊV.ỈO C ác s ố ĩr o n g liên kết C hú thích: Cơ số với dạng viết trén cịn sử dụng nhiều chỗ khác Chẳng hạn vièì ngán tên m ộl lớp để trỏ số cá ihể lớp thuộc tính để trỏ số giá trị gán cho ihuộc tính Khi số viết cạnh m ội xâu ký tự, dược dặt hai dấu ngoặc vuông đ) Hạn định Vẩn đề luôn cần giài mơ hình hóa liên kết, vấn dề ilm kiếm: cho Irưức inộl dối tưựiig ỏ Iiiộl dầu lièn kêì, tìm đối tượng hay tập hợp đối tượng kết nối với đầu Đ ể giảm bớt số lượng dối tượng tìm được, ta có ihể hạn c h ế khu vực tìm kiếm Iheo ígiá trị của) thuộc tính Thuộc tính (hay !à số Ihuộc tính) gọi hạn định (qualiíier) ghi hộp nhỏ gắn vào đầu mút liên kết, phía lớp xuất phát luxi hành {xem Hình IV 11) Như hạn đ ịn h áp d ụ n g ch o liên k ết 1-nhiều h ay nhiều-nhiều để g iảm từ nhiều xuống hay 1, giảm từ nhiều xuống nhiều, hcfn Ching IV: Mơ hình hồ cấu trúc 84 Ngânhàng SỐTK Tài khoản SỐTK têiiNH Hình ỈV ỈỈ Liên kếĩ dược hạn định e) Liên kết Hoặc Trong số mó hlnh khơng phải tồ hợp kếf nối ịiét) kêt đểu dũng đắn Oiẳiig nạn m ội cá nhân mội cơng ty khơng dược kết nối vói hợp đồng hảo hiểm Bấy gi.ờ ta dùng liên kếf (orassociation) để diễn tả thể đường đứt nél với xâu tứứi chất {or} vẽ ngarig qua liên kết, với nghĩa là: mội đối tượiig (ớ hợ|5 bảo hiểni) phép tham gia nhiều nhât vào niôt Irong liên kết dược nối mộtứiời điểm (xem Hìiứi IV 12) Hình IV 12 Liên kếi Hoặc g) l.iên kết có th ứ tự M ột cách mặc định, kết nối (với đốí tượng) m ột liên kết khơng c ó thứ tự Song có ta m uốn kết nối theo m ộl thứ tự G ọi m ột ỉién kếỉ có thứ tự (ordered association) Bấy ta gắn thêm xâu lính chất Ịordered} bẽn cạnh liên kêì phía lớp đối tượng Cịn m uốn rõ sấp nào, thêm xâu lính chất cách sắp, chẳng hạn {sắp theo thứ tự thời gian} (xem Hình IV 13) §1 Đ ổ i tượng, lởp, g ó i lo i 85 Hình ỈV J Liên kết có thứ íự h) Lớp liên kết Bản Ihàn liên kết cần có tính chất đặc trưng cho Chẳng hạn liên kết quan sử dụng người làm công, ta có Ihể phải mỏ tả thêm cơng việc giao m tả đặc điểm liên kết (chứ khổng phải lớp tham gia liên kết) U M L Ihể điều lớp liên kết (association class) Lớp liên kết lớp bình thường, nghĩa có thuộc lính, thao lác tham gia lién kếl với lớp khác, song ngán tên có tên hay để trống tùy ý, gắn với liên kết m õ tả bới đường đứt nét (Hình IV 14) C ò n tỉty * [ * quan sứ dunii ' người Ị làm công ( ( Côngviộc Iiiơtâ ngàyluyểiidụng ì ương Hình IV.Ì4 Lớp ỉiên kểí Niiười Chương IV: Mơ hintì hố cấu trúc 86 ỉ) Liên kết nhiều Có thể có lièn kết nhiều hai lớp, theo nghĩa quan hộ nhiều (một kết nối - n) Lúc liên kết diễii tả hình thoi nhỏ, nối đường liền nét vói lớp tham gia (Hình IV 15) co lớp ỉiẻn kết cho (nối với hiniì thoi đường đứt nét) ỉ * Hợpđốtiị.-Bvi-.-.lrịcr.') 0,.i T hcB íio hicm ncư icữ in ih ó Người Hình IV 15 M ột Hên kết bén k) Kết n h ậ p hợp th n h Thơng thường m ộl liên kết, hai bẽn tham gia xem bình đẳng, khơng bẽn nliâh mạnh hcfn bên Tuy nhiên có lúc la muốn mơ hình hóa m ối quan hệ "loàn thếA>ộ phận" lớp vật thể lớn (cái "tồn thể") với mội lóp vât thể bé (các "bọ phận") bao gồm chứng Đó loại liên kếl đặc biệt, gọi kê! nhập (?.ggreg:ition) bi^u diễn cách Thêir hình ihoi nhó vào đầu liên kết, phía tồn thể (Hình ÍV.16) Trư ngĐ H ▲ học lại Sinlìviên H ình IV 16 K ết nhập 87 §1 Đ ổ i tượng, lờp, g ó i lo ài Trong thí dụ Trườiig ĐH-Sinh viên, mộl sinh viên học lại * trưịiig Điểu có nghĩa kết nhập, cho phận, khơng nhấi thiết xác địnli tồn chứa Hơn khơng nliất thiết phải có gán kết ihời gian sống toàn thổ phận Một hợp thành fcom posítion) loại kết nhập đặc biệl với quan hệ sở hữu mạnh hưn, phận Ihuộc vào loàn thể tồn thể có trách nhiệm tạo lập hủy bỏ phận Như tồn thể bị hủy bỏ phận buộc phải húy bỏ theo Hợp ihành biểu diễn cách thay hình thoi rỗng kết nhập bới hình Ihoi đạc (Hình IV 17) TrườiìgĐH có ▼ * Khoa Hiuh ỈV.Ỉ7 Hợp thành Một n ường hợp đặc biệt hợp thành Ihuộc lính lớp lại đối tượng thuộc lớp khác Bấy m ối liên quan hai lớp dó hợp thành (Hình IV 18) Đ ộngcơ ỔIÔ -dộna;c(y; Độim + khờiđộng'') + khờiđộntĩO Hình N Ỉ Thuộc ĩínlỉ xem ỉà thành phần hợp thành C c khuòn d n g lớp Khuỏn dạng lớp (template class) lóp tham số hóa Khái niém khn dạng lóp có C++ Ada, khơng có 88 Chương IV: Mó hình hồ cấu trúc Java Đây thực họ lớp trở thành lớp (một cá thể khuôn dạng) tham số gán giá trị Các tham số lớp, đối lượng giá trị thuộc kiểu nguyên thủy (như Integer, Real, Boolean )UM L biểu diễn khn dạng lớp bẳng hình chừ nhật lóp, song có gắn thèm m ci hình chừ nhật nhỏ, viền đứt nét, irong có chứa danh sách tham số (các Iham số cách nliau bời dấu phẩy) Kiểu m ỗi tham số viết sau đấu song tham số ỉớp kiểu (class) có ihể hay khơng tùy ý, Chẳng hạn danh sách [T;c!ass, nr Integer] viết T.n: Integer] đâv T lớp n s ố nguyên Có hai cách đê biểu diễn iớp cá biệt khn dạng lớp: • Tên iớp ià tên khuôn dạng kèrn danh sách giá trị cac tham sô' (các tham số ibực sự); • Tên lóp ỉà khác lẽn khn dạng, lớp nối với khn dạng m ội liên quan phụ ihuộc kèm với từ khóa « b i n d » theo sau danh sách tham sơ' thực (Hình IV 19) T.n: liitcgcr Arra)' ! « b i n d » (M ầu,50) i Array MảngMáu Hình ỈV.Ỉ9 Khn dạng A ir a y có tham SỐT ịmội lớp) n (m ột s ố nguyên) N ó có hai cá th ể v è theo hai cách khác C Á C G IA O DIỆN M ột hệ thống lớn muốn có cấu trúc tốt thường phải cắt thành nhiều thành phần độc lập mặt cài đặt với M ối liên quan thành phần lúc cịn m ối liên quan cung ứng/sử dụng (có tính chất hợp đồng): bên cung ứng hổ trợ cho bên sử dụng s ố dịch vụ; hợp không thay đổi kể nội m ỗi bên c ó thay đổi § Đ ố i tượng, lớp, g ó i lo i 89 Trong U M L để thực dường phân chia (còn gọi m ội đườỉHị kháu - seam ), ta dùng giao diện, khái niệm có Java CORBA IDL M ột giao diện (interface) biểu diẻn cho khai báo tuyển tập thao tác, ch o thấy khả nãng dịch vụ đưa từ lớp hay m ột thành phần G iao diện khơng có cấu trúc (có nghĩa khơng có ihuộc tính) thao tác khơng có cài đặt (chưa có phưcíng thức) Các cài đật thuộc trách nhiệm lớp hay thành phần cung cấp giao diện M ột lớp hay thành phần có thê cung cấp nhiều giao diện M ỗi giao diện thể m ột vai trị, ví Người có nhiều hành vi giao tiếp khác nhau, tuỳ theo vai trò m ẹ, giám đốc, giáo viên hay hoạ sỹ v.v Mặt khác giao diện lại thực nhiều lớp hay thành phần khác Có hai cách biểu diễn giao diện; • G iao diện biểu dicn bới mộl hình trịn nhỏ có mang lên (lên giao diện thường gắn ihẽm tiền tố I) Bấy giao diện nối với lớp hay thành phần cung cấp nét liền nối với lớp hay thành phần yêu cầu ngàm (Hình IV 20) • G iao diện có ihê biểu diễn hình chừ nhật chia ngãn, nliư lớp, để có ihể diển tả nội dung bên Bấy giao diện nối với lớp hay Ihành phần cung cấp mũi tên dứt nét có đẩu tam giác (gọi m ối liên quan thực hiện), nối với lớp hay thành phán yêu cáu mũi tên đứt nét dầu m ò (m ối liên quaii phụ ihuộc) Iiiiư Irên Hinlì IV 20 Chương IV: Mó hình hố cấu trúc 90 Muciiêu id v ịtríh iện lại « im e rra c e » IQuansái đật\iỉrí() đặĩTocclộO vỊiríChờtlợiO _ I k ] TI ịc o D o ì M ucúcu cậpnhậU ) p h ụ lliu ộ c Ih ự ch iện H 'ỉìh ỈV H a i ( c h b ĩểu u'ii'iỉ ỊỊÌao diẹn B IỂ U Đ Ổ L Ớ P V À BIỂU Đ Ổ Đ ố l TƯ Ợ N G a) Biểu đồ lớp Biển ìớp ià biểu đổ phô bày m ộl táp hợp lớp, giao diện với m ối liên quan có chúng, liên kết, kết nhập, hcfp thành, khái quát hoá, phụ thuộc thực Biểu đổ lớp dùng để m hình hố cấu trúc tĩnh hệ thống (hay phần hệ thống) N ó bao gồm m ọi phần tử khai báo, (cái nâng đỡ) cho hoạt động chức nãng hệ thống Biểu đồ lớp thường sử dụng theo ba mục đích: • M ỏ hình liố tử vựng ciía hệ ihổtìg: Những vậl mà người dùng người xây dựng hệ thống quan tâm đến gọi từ vựng hệ thống Chúng trừu xuất thành lớp diễn tà biếu đồ lóp (xem Hình IV 21) Vấn đề xem xét §2 § Đ ố i tượng, lớp g ó i lồi 91 Hiiilì ỈV.2Ỉ Biểu d lớp diễn tá lữvinĩg hệ ỉhấng • M hình Itoá cấu trúc tĩnh tnộỉ hợp tác: Ta gọi hợp tác (collaboration) m ộl quần thể lớp, giao diện phần tứ khác làm việc để thực hành vi chung- UM L diễn khái lược hợp tác lĩiội hình elip viền nél đứt, có mang lên hợp tác (Hình IV 22) Hỉnh ỈV.22 Biểu diễn hợp tác 92 Chương IV: Mõ hình hồ cấu trúc Đ i sâu vào bẽn thì; - Người la biểu diễn vai trò Ịớp tham gia hợp tác biểu đổ cấu trúc đa hợp (§ 1 Chưcmg IV); - Người ta diễn tả khía cạnh động hợp tác biểu đồ tương tác (§ , Chương V); - Người la bieu diễn khía cạnh tĩnh cùa bợp tác biểu đổ lớp § la đề cập việc mị lìình hố cấu irúc lĩnh cũa inội hợp tác ca sử dụng Cịn đây, ta xét thí dụ nghiên cứu rỏ bối tự dộng Rò bốt ihể bời nhiéu lớp Song ta tập trung vàc ch ế di chuyển rơ bơi dọc đườnQ đi, ta có hợp các, cấu I'úc ũnh diễn tả biểu đố lóp cho Hình IV.23 ỌLiánlýĐưừnmti Tráchnhiộm tìniđưrrng Iránhvậicàn * CảinbiếnĐụngđộ ỉ Lái t Mơiơlái M ơiơchính M ôiơ chuyểnđộng {d;Hướng, s:Tốcđộ; dừngO đ ặtlạicáiđ ếm () lẩyTrạnglháiO: Slalus lấyKhoảngcáchO : Integcr Hình IV.23 C ấu irúc lĩnh m ột hợp tác ... Trợfií> thái đối tượng ihể tập hợp thuộc únh ihời điếm , mối thuộc tính cúa đối tượng có giá Irị nhâì địph Hành 1/ CÚ.I tưọĩig íhv liiện lập hợp iìtao lúc dó dịch vụ mà có Ihế thực đối tượng khác... mà có Ihế thực đối tượng khác yêu cầu Cún cước cùa đối tượng để phân biệt với dối tượng khác Càn cước độc !ập với thuộc tính Cho nên hai đối tượng c ó giá trị thuộc lính trùng nhau, phân biệt... cịn định nghĩa lại (đè lấp) m ội thao tác lớp Kỹ thuật lập irình mà Irong đối tượng cùa lớp hoạt động đối tượng cùa iớp irên n g VỚI m ộ t vài th a o tá c đ ã đượ c đ ịn h n g h ĩa lại, đượ c gọi

Ngày đăng: 04/03/2023, 09:46

Tài liệu cùng người dùng

Tài liệu liên quan