Bài giảng "Lập trình hướng đối tượng - Chương 3: Lập trình hướng đối tượng với Java (phần 2)" cung cấp cho người học các kiến thức: Vấn đề tái sử dụng code, kế thừa trong Java, tính đa hình trong Java, cài đặt interface trong Java, lập trình tổng quát. nội dung chi tiết. | Chương 3 Lập trình Hướng đối tượng với Java (tt) TRẦN MINH THÁI Email: minhthai@ Website: Cập nhật: 02 tháng 07 năm 2016 Nội dung Vấn đề tái sử dụng code Kế thừa trong Java Tính đa hình trong Java Cài đặt interface trong Java Lập trình tổng quát 2 Vấn đề tái sử dụng code Lập trình cấu trúc: chương trình con OOP: nhiều loại đối tượng có thuộc tính, hành vi tương tự nhau tái sử dụng các lớp đã viết Trong một lớp vẫn tái sử dụng phương thức Ưu điểm: Giảm chi phí Nâng cao khả năng bảo trì và khả năng mô hình hóa Các hình thức tái sử dụng code Sao chép lớp cũ thành 1 lớp khác Hạn chế: Dư thừa, khó quản lý khi có thay đổi Kết hợp: Lớp mới là tập hợp hoặc sử dụng các lớp đã có Kế thừa: Lớp mới phát triển thêm các thuộc tính hoặc phương thức từ lớp đã có Kết hợp (Aggregation) Thành phần lớp mới chứa các đối tượng của lớp cũ Lớp mới: Lớp chứa/Lớp toàn thể Lớp cũ: Lớp thành phần Ví dụ: Lớp cũ: Điểm (Point) Lớp mới: Tam giác (Triangle) có 3 điểm Lớp chứa tái sử dụng các thuộc tính và phương thức của lớp thành phần thông qua đối tượng Ký hiệu Kết hợp 1 số nguyên dương (1, 2, 3.) Dải số (01, 1n) Bất kỳ giá trị nào: * Không ghi: mặc định là 1 Ví dụ Lớp ToaDoDiem Ví dụ Lớp ToaDoDiem (tt) Ví dụ Lớp TamGiac Ví dụ Lớp TamGiac (tt) Bài tập 1 Xây dựng một trò chơi xúc xắc. Cách chơi như sau: Mỗi hạt xúc xắc được gieo sẽ có giá trị ngẫu nhiên 16 Hai người lần lượt gieo 1 hạt xúc xắc Sau mỗi lượt gieo, số điểm của lượt đó được tích lũy vào số điểm của người chơi Sau các lượt gieo theo quy định, người thắng cuộc là người có tổng số điểm lớn hơn Hãy xác định các lớp cần thiết và cài đặt Xác định lớp Xúc xắc (XucXac) Thuộc tính: giá trị của mặt (giaTri) Phương thức: sinh ngẫu nhiên giá trị mặt của xúc xắc (sinhGiaTri()) Người chơi (NguoiChoi) Thuộc tính: tên (ten), điểm (diem) Phương thức: gieo xúc xắc (gieoXucXac()) Xác định lớp Trận đấu (TranDau) Thuộc tính: xúc xắc (xucXac), 2 người chơi (nguoiChoi), số vòng chơi (soVong), người thắng cuộc . | Chương 3 Lập trình Hướng đối tượng với Java (tt) TRẦN MINH THÁI Email: minhthai@ Website: Cập nhật: 02 tháng 07 năm 2016 Nội dung Vấn đề tái sử dụng code Kế thừa trong Java Tính đa hình trong Java Cài đặt interface trong Java Lập trình tổng quát 2 Vấn đề tái sử dụng code Lập trình cấu trúc: chương trình con OOP: nhiều loại đối tượng có thuộc tính, hành vi tương tự nhau tái sử dụng các lớp đã viết Trong một lớp vẫn tái sử dụng phương thức Ưu điểm: Giảm chi phí Nâng cao khả năng bảo trì và khả năng mô hình hóa Các hình thức tái sử dụng code Sao chép lớp cũ thành 1 lớp khác Hạn chế: Dư thừa, khó quản lý khi có thay đổi Kết hợp: Lớp mới là tập hợp hoặc sử dụng các lớp đã có Kế thừa: Lớp mới phát triển thêm các thuộc tính hoặc phương thức từ lớp đã có Kết hợp (Aggregation) Thành phần lớp mới chứa các đối tượng của lớp cũ Lớp mới: Lớp chứa/Lớp toàn thể Lớp cũ: Lớp thành phần Ví dụ: Lớp cũ: Điểm (Point) Lớp mới: Tam giác (Triangle) có 3 điểm Lớp chứa tái