Ngôn ngữ lập trình - Chương 14 (HUST)

LI
lienhejb
0 lượt tải
22
0
Ngôn ngữ lập trình (HUST)

Nội dung tài liệu

Trang 1

goupee.vn goupee.com Chương 14: Tổ chức chương trình theo Hướng đối tượng cuu duong than cong . com fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 2

goupee.vn goupee.com Nội dung chính • Nhắc lại về cấu trúc chương trình C++ • Cách tổ chức các lớp trong chương trình • Làm việc với Project trong các môi trường lập trình cuu duong than cong . com fb.com/goupee.vn 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 3

goupee.vn goupee.com Nhắc lại về cấu trúc chương trình C++ • Phần chính của một chương trình C++ (theo kiểu HĐT nói chung) bao gồm 2 phần: – Tập các đối tượng – Tập các thông báo từ hàm main() đến các đối tượng và được truyền giữa các đối tượng :a m2 :c m1 main()cuu duong than cong . comm3 :b :d m4 fb.com/goupee.vn 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 4

goupee.vn goupee.com Nhắc lại về cấu trúc chương trình C++ • Vấn đề đặt ra: 1. Làm thế nào để xác định được các đối tượng/lớp? 2. Làm thế nào xác định mối quan hệ giữa chúng? cuu duong than cong . com fb.com/goupee.vn 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 5

goupee.vnCách tổ chức các lớp trong chươnggoupee.com trình • Quá trình tổ chức chương trình – Bước 1: xác định các yêu cầu về chức năng, dữ liệu và giao diện – Bước 2: xác định số lượng đối tượng và trách nhiệm xử lý của chúng – Bước 3: mô hình hóa các chức năng xử lý (tương tác giữa các đối tượng) cuu duong than cong . com fb.com/goupee.vn 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 6

goupee.vn goupee.com Nguyên tắc xác định các đối tượng • Xác định đối tượng theo hướng dữ liệu • Xác định đối tượng theo hướng chức năng • Xác định đối tượng theo hướng người dùng/giao diện (khi có nhiều NSD khác nhau) cuu duong than cong . com fb.com/goupee.vn 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 7

goupee.vn Nguyên tắc xác định các đối tượnggoupee.com (tiếp) • Xác định đối tượng theo hướng dữ liệu: – Mỗi đối tượng dữ liệu nên giao cho một đối tượng chịu trách nhiệm – Hạn chế việc giao cho một đối tượng chịu trách nhiệm trên nhiều đối tượng dữ liệu, nhất là với các đối tượng dữ liệu tương đối độc lập cuu duong than cong . com fb.com/goupee.vn 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 8

goupee.vn Nguyên tắc xác định các đối tượnggoupee.com (tiếp) • Xác định đối tượng theo hướng chức năng – Mỗi đối tượng sẽ chịu trách nhiệm về một nhóm chức năng có liên quan – Hạn chế việc giao các chức năng không có hoặc ít liên quan cho chỉ một đối tượng cuu duong than cong . com fb.com/goupee.vn 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 9

goupee.vn goupee.com Các mô hình hướng đối tượng • Giới thiệu về UML: – Viết tắt của Unified Modelling Language, Ngôn ngữ mô hình hóa hợp nhất, là sự hợp nhất của nhiều ngôn ngữ mô hình hóa HĐT như: Booch’93 (của Booch), OOSE (của Jacobson), OMT-2 (của Rumbaugh) – Năm 1995, phiên bản đầu tiên UML 0.9 của Booch và Rumbaugh – Năm 1997, UML 1.1 bản chuẩn hóa của Booch,cuu duong than cong . com Rumbaugh và Jacobson – Năm 2003, UML 2.0 fb.com/goupee.vn 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 10

goupee.vn goupee.com Các mô hình hướng đối tượng (tiếp) • Vai trò của UML – Cung cấp các ký hiệu, các mô hình biểu diễn các giai đoạn phát triển phần mềm theo phương pháp hướng đối tượng • Các mô hình UML – Mô hình lớp (class diagram) – Mô hình tuần tự (sequence diagram) – Mô hình hoạt động (activity diagram) – Mô hình cộng tác (collaboration diagram)cuu duong than cong . com – … fb.com/goupee.vn 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 11

goupee.vn goupee.com Class Diagram • Vai trò: – Biểu diễn các lớp và quan hệ tĩnh giữa các lớp – Quan hệ tĩnh bao gồm: • Kế thừa (inheritance) • Liên kết (association): – Liên kết một ngôi (tự liên kết) – Liên kết hai ngôi cuu duong than cong . com fb.com/goupee.vn 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 12

goupee.vn goupee.com Class Diagram (tiếp) • Ký hiệu cho lớp Mức độ che dấu (visibility): Class name “-”: private - Attributes “+”: public “#”: protected + Operations() cuu duong than cong . com fb.com/goupee.vn 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 13

goupee.vn goupee.com Class Diagram (tiếp) • Ký hiệu cho các quan hệ: kế thừa A - Attributes + Operations() Lớp B kế thừa lớp A B - Attributescuu duong than cong . com + Operations() fb.com/goupee.vn 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 14

goupee.vn goupee.com Class Diagram (tiếp) • Ký hiệu cho các quan hệ: liên kết 0..1 A A Tên l/k 0..* - Attributes - Attributes + Operations() + Operations() 1 Tên l/k 1..* Tự liên kết B Liên kết 2 ngôi cuu duong than cong . com- Attributes + Operations() fb.com/goupee.vn 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 15

goupee.vn goupee.com Class Diagram (tiếp) • Lực lượng của liên kết: – Xác định số lượng các đối tượng tham gia vào liên kết – Ký hiệu: • Đúng 1: 1 • Không hoặc 1: 0,1 • Không hoặc nhiều hơn: 0..* cuu duong than cong . com fb.com/goupee.vn 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 16

goupee.vn goupee.com Ví dụ về Class Diagram Person StudentList -Name -ListOfStudents -Dob + Person() + StudentList() + setName(newName) + AddStudent(newStd) + getName() + Remove() 1 leads 1..* Student -ID cuu duong than cong . com-School + Student() 0..* contains 1 + setSchool(newSch) + getSchool() fb.com/goupee.vn 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 17

goupee.vn goupee.com Sequence Diagram • Vai trò: – Biểu diễn sự tương tác động giữa các đối tượng trong một chức năng xử lý – Nó biểu diễn các đối tượng tham gia, trình tự thời gian và nội dung trao đổi thông báo giữa các đối tượng khi thực hiện chức năng đó cuu duong than cong . com fb.com/goupee.vn 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 18

goupee.vn goupee.com Sequence Diagram – ví dụ m:Menu list:ItemList Show() SelectAddItem() AskEnterItem() InputItem(s) cuu duong than cong . comAddItem(s) fb.com/goupee.vn 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 19

goupee.vn goupee.com Sequence Diagram – Cấu tạo Tác nhân (actor): Là người sử dụng tham gia Tên tác nhân Đối tượng (object): Object : Class Đường chỉ thời gian sống (Life-line) : cuu duong than cong . com fb.com/goupee.vn 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 20

goupee.vn goupee.com Sequence Diagram – Cấu tạo Thông báo (message): A Message() Return value Khoảng thời gian thi hành (execution occurrence): cuu duong than cong . com fb.com/goupee.vn 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Hiển thị 20 trang đầu. Tải tài liệu để xem đầy đủ.

Bình luận (0)

Đăng nhập để tham gia bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!