Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 15 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
15
Dung lượng
775,09 KB
Nội dung
om Si nh Vi en Zo ne C Ôn tập hướng đối tượng SinhVienZone.com https://fb.com/sinhvienzonevn Tham khảo om “Mastering Object-Oriented Analysis and Design with UML 2.0” Si nh Vi en Zo ne C IBM Software Group SinhVienZone.com https://fb.com/sinhvienzonevn Nhắc lại hướng đối tượng C om Một số ký hiệu Tên class (Các) thuộc tính (Các) phương thức Si nh Vi en Zo ne Tên class SinhVienZone.com https://fb.com/sinhvienzonevn om Public/Protected/Private Thuộc tính/Phương thức public # Thuộc tính/Phương thức protected - Thuộc tính/Phương thức private Class Phương thức Private Phương thức Protected Si +publicOp() # protectedOp() - privateOp() nh Vi en - privateAttribute # protectedAttribute Zo ne C + Phương thức Public SinhVienZone.com https://fb.com/sinhvienzonevn Tầm vực ne Class C om Xác định số lượng thể thuộc tính / phương thức Zo - classifierScopeAttribute nh Vi en - instanceScopeAttribute classifierScopeOperation() instanceScopeOperation() Si SinhVienZone.com https://fb.com/sinhvienzonevn .C Zo nh Vi en - name - address - studentID - nextAvailID : int ne Student om Ví dụ Si + addSchedule(theSchedule : Schedule, forSemester : Semester) + getSchedule(forSemester : Semester) : Schedule + hasPrerequisites(forCourseOffering : CourseOffering) : boolean # passed(theCourseOffering : CourseOffering) : boolean + getNextAvailID() : int SinhVienZone.com https://fb.com/sinhvienzonevn om Nhận xét C Bình thường: Class bình thường/Interface In nghiêng: Class ảo Gạch dưới: Object (khơng phải class) Bình thường: Phương thức bình thường In nghiêng: Phương thức virtual Gạch dưới: Phương thức static Si nh Vi en (Các) phương thức Bình thường: Thuộc tính bình thường In nghiêng: khơng sử dụng Gạch dưới: Thuộc tính static Zo (Các) thuộc tính ne Tên class SinhVienZone.com https://fb.com/sinhvienzonevn Ví dụ CHinhVe MaLoaiHinhVe + float + float + void + DienTich() ChuVi() Ve() CTamGiac nh Vi en Zo ne C om # int Si # CDiem P1 # CDiem P2 # CDiem P3 + CTamGiac() + float DienTich() + float ChuVi() + void Ve() + SinhVienZone.com CTuGiac # CDiem # CDiem # CDiem # CDiem P1 P2 P3 P4 + CTuGiac() + float DienTich() + float ChuVi() + void Ve() + CEllipse # CDiem # float # float Tam A B + CEllipse() + float DienTich() + float ChuVi() + void Ve() + https://fb.com/sinhvienzonevn Quan hệ lớp đối tượng om Quan hệ kế thừa Zo ne C ClassA ClassB Si nh Vi en ClassB kế thừa từ ClassA ClassB trường hợp đặc biệt ClassA ClassA trường hợp tổng quát ClassB SinhVienZone.com https://fb.com/sinhvienzonevn Quan hệ lớp đối tượng om Quan hệ Association ClassB ne C ClassA nh Vi en Zo Hoặc Trong ClassA có thuộc tính có kiểu ClassB Hoặc Trong ClassB có thuộc tính có kiểu ClassA Si Nhận xét: Về mặt lập trình, thuộc tính lưu trữ dạng biến đơn, biến mảng, hay biến trỏ Ví dụ:? 10 SinhVienZone.com https://fb.com/sinhvienzonevn Quan hệ lớp đối tượng om Quan hệ Aggregation ClassB ne C ClassA Si nh Vi en Zo Đã xác định ClassA ClassB có quan hệ Association với Xác định rõ hơn: Trong object ClassA có chứa (trong phần thuộc tính) object ClassB ObjectX ClassA bị hủy ObjectY ClassB (bên ObjectX) tồn Ví dụ:? 11 SinhVienZone.com https://fb.com/sinhvienzonevn Quan hệ lớp đối tượng om Quan hệ Composition ClassB ne C ClassA Si nh Vi en Zo Đã xác định ClassA ClassB có quan hệ Association với Xác định rõ hơn: Trong object ClassA có chứa (trong phần thuộc tính) object ClassB ObjectX ClassA bị hủy ObjectY ClassB (bên ObjectX) khơng thể tồn Ví dụ:? 12 SinhVienZone.com https://fb.com/sinhvienzonevn Quan hệ lớp đối tượng C om Chiều quan hệ (Association, Aggregation, Composition) ClassB ne ClassA Si nh Vi en Zo Nếu quan hệ chiều: đa số lời gọi hàm gọi theo chiều quan hệ Nếu quan hệ chiều: không vẽ mũi tên 13 SinhVienZone.com https://fb.com/sinhvienzonevn Quan hệ lớp đối tượng Zo ne ClassB Si nh Vi en Ý nghĩa Ví dụ: * * * 1, 3, * C ClassA om Bản số - Multiplicity (Association, Aggregation, Composition) 14 SinhVienZone.com https://fb.com/sinhvienzonevn Quan hệ lớp đối tượng om Quan hệ Dependency ClassB ne C ClassA nh Vi en Zo ClassA ClassB khơng có quan hệ Association ClassA “phụ thuộc” vào ClassB class A { void F(B x) { … } }; Kết trả class A { B F() { … } }; Si Tham số truyền vào Biến cục class A { void F() { B x; } }; Trong ClassA có sử dụng biến tồn cục (kiểu B), sử dụng phương thức/thuộc tính static ClassB 15 SinhVienZone.com https://fb.com/sinhvienzonevn ... Group SinhVienZone. com https://fb .com/ sinhvienzonevn Nhắc lại hướng đối tượng C om Một số ký hiệu Tên class (Các) thuộc tính (Các) phương thức Si nh Vi en Zo ne Tên class SinhVienZone. com https://fb .com/ sinhvienzonevn... Si +publicOp() # protectedOp() - privateOp() nh Vi en - privateAttribute # protectedAttribute Zo ne C + Phương thức Public SinhVienZone. com https://fb .com/ sinhvienzonevn Tầm vực ne Class C om... (trong phần thuộc tính) object ClassB ObjectX ClassA bị hủy ObjectY ClassB (bên ObjectX) tồn Ví dụ:? 11 SinhVienZone. com https://fb .com/ sinhvienzonevn Quan hệ lớp đối tượng om Quan hệ Composition