Ôn tập giữa kỳ Ôn tập giữa kỳ
Phương pháp lập trình hướng đối tượng. 1
Nội dung Nội dung
Tính đóng gói. Tính đóng gói. Bài tập. Bài tập.
Phương pháp lập trình hướng đối tượng. 2
Nội dung Nội dung
Tính đóng gói. Tính đóng gói. Bài tập. Bài tập.
Phương pháp lập trình hướng đối tượng. 3
Tính đóng gói Tính đóng gói
Đặt vấn đề: Đặt vấn đề:
Thuộc tính của đối tượng có tầm vực private. Thuộc tính của đối tượng có tầm vực private. Có nhu cầu truy xuất để xử lý công việc. Có nhu cầu truy xuất để xử lý công việc. Phải làm sao? Phải làm sao?
Làm sao họ truy xuất m_diemVan, m_diemToan để tính ĐTB cho mình?
class HocSinh class HocSinh {{ private: private:
char* char* float float float float
m_hoTen; m_hoTen; m_diemVan; m_diemVan; m_diemToan; m_diemToan;
};};
Phương pháp lập trình hướng đối tượng. 4
Tính đóng gói Tính đóng gói
Cách giải quyết: Cách giải quyết:
Tiêu cực: private public. public. Tiêu cực: private Tích cực: phương thức truy xuất. Tích cực: phương thức truy xuất. Cách nào giữ được thông tin riêng tư? Cách nào giữ được thông tin riêng tư?
class HocSinh class HocSinh {{ private: private:
class HocSinh class HocSinh {{ public: public:
char* char* float float float float
m_hoTen; m_hoTen; m_diemVan; m_diemVan; m_diemToan; m_diemToan;
char* char* float float float float
m_hoTen; m_hoTen; m_diemVan; m_diemVan; m_diemToan; m_diemToan;
public: public:
};};
layDiemVan(); float& layDiemVan(); float& layDiemToan(); float& layDiemToan(); float&
};};
Phương pháp lập trình hướng đối tượng. 5
Tính đóng gói Tính đóng gói
Cách giải quyết triệt để: Cách giải quyết triệt để: class HocSinh class HocSinh {{ private: private:
char* char* float float float float
m_hoTen; m_hoTen; m_diemVan; m_diemVan; m_diemToan; m_diemToan;
Thông tin mình giữ, mình tính cho rồi!!
public: public:
float tinhDTB(); float tinhDTB();
};};
Phương pháp lập trình hướng đối tượng. 6
Tính đóng gói Tính đóng gói
Tính chất: Tính chất:
Thông tin đối tượng Thông tin đối tượng Không thể truy xuất từ bên ngoài. Không thể truy xuất từ bên ngoài. Đối tượng nắm giữ thông tin Đối tượng nắm giữ thông tin Chịu trách nhiệm xử lý thông tin. Chịu trách nhiệm xử lý thông tin. Đừng hỏi tôi thông tin để thực hiện công việc Đừng hỏi tôi thông tin để thực hiện công việc Hãy nhờ tôi làm giùm!! Hãy nhờ tôi làm giùm!! Đã giao thông tin giao luôn xử lý thông tin. giao luôn xử lý thông tin.
Đã giao thông tin
Hạn chế: Hạn chế:
Không thể biết trước tất cả mọi xử lý. Không thể biết trước tất cả mọi xử lý. Có những trường hợp bất khả kháng. Có những trường hợp bất khả kháng.
Phương pháp lập trình hướng đối tượng. 7
Nội dung Nội dung
Tính đóng gói. Tính đóng gói. Bài tập. Bài tập.
Phương pháp lập trình hướng đối tượng. 8
Bài tập Bài tập
Bài tập 8.1: Bài tập 8.1: Dùng tính đóng gói để xây dựng chương trình tính trọng tâm tam giác. Dùng tính đóng gói để xây dựng chương trình tính trọng tâm tam giác.
Phương pháp lập trình hướng đối tượng. 9
Bài tập Bài tập
Bài tập 8.2: Bài tập 8.2: Bảng điểm học sinh là một danh sách bao gồm: họ tên, điểm văn, toán, Bảng điểm học sinh là một danh sách bao gồm: họ tên, điểm văn, toán, điểm trung bình, và xếp loại của từng học sinh. Biết rằng: điểm trung bình, và xếp loại của từng học sinh. Biết rằng:
- ĐTB = (Điểm Văn + Điểm Toán) / 2. - ĐTB = (Điểm Văn + Điểm Toán) / 2. - Xếp loại: Giỏi (>= 8), Khá (>= 6.5), TB (>= 5), Yếu (< 5). - Xếp loại: Giỏi (>= 8), Khá (>= 6.5), TB (>= 5), Yếu (< 5).
Dùng tính đóng gói viết chương trình thực hiện: Dùng tính đóng gói viết chương trình thực hiện:
- Nhập vào bảng điểm học sinh (họ tên, điểm văn, toán). - Nhập vào bảng điểm học sinh (họ tên, điểm văn, toán). - Tính điểm trung bình và xếp loại cho từng học sinh. - Tính điểm trung bình và xếp loại cho từng học sinh. - Trích bảng điểm những học sinh có điểm toán >= 8. - Trích bảng điểm những học sinh có điểm toán >= 8. - Trích bảng điểm những học sinh xếp loại Yếu. - Trích bảng điểm những học sinh xếp loại Yếu.
Phương pháp lập trình hướng đối tượng. 10