Bài giảng Phương pháp lập trình hướng đối tượng - Tuần 7: Ôn tập giữa kỳ - Nguyễn Lê Hoàng Dũng

ÔN TẬP GIỮA KỲ  
Nguyễn Lê Hoàng Dũng  
1
• TÍNH ĐÓNG GÓI  
• TẬP TIN TRONG LẬP TRÌNH  
HƯỚNG ĐỐI TƯỢNG  
NỘI DUNG  
• BÀI TẬP  
2
ꢀ Phương pháp lập trình hướng đối tượng  
TÍNH ĐÓNG GÓI  
3
TÍNH ĐÓNG GÓI  
Đặt vấn đề:  
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.  
Phải làm sao?  
Làm sao họ truy xuất  
m_fDiemVan, m_fDiemToan  
.cpp  
class HocSinh  
{
private:  
để tính ĐTB cho mình?  
char* m_strHoTen;  
float m_fDiemVan;  
float m_fDiemToan;  
};  
4
ꢀ Phương pháp lập trình hướng đối tượng  
TÍNH ĐÓNG GÓI  
Cách giải quyết:  
Tiêu cực: private => public.  
Tích cực: phương thức truy xuất.  
Cách nào giữ được thông tin riêng  
tư?  
.cpp  
class HocSinh  
{
.cpp  
class HocSinh  
private:  
char* m_strHoTen;  
float m_fDiemVan;  
float m_fDiemToan;  
public:  
{
public:  
char* m_strHoTen;  
float m_fDiemVan;  
float m_fDiemToan;  
float layDiemVan();  
float layDiemToan();  
};  
};  
5
ꢀ Phương pháp lập trình hướng đối tượng  
TÍNH ĐÓNG GÓI  
Cách triệt để hơn:  
Cung cấp luôn xử lý  
.cpp  
class HocSinh  
{
private:  
char* m_strHoTen;  
float m_fDiemVan;  
float m_fDiemToan;  
public:  
float tinhDTB();  
};  
6
ꢀ Phương pháp lập trình hướng đối tượng  
TÍNH ĐÓNG GÓI  
Tính chất:  
Thông tin đối tượng (thuộc tính)  
Không thể truy xuất từ bên ngoài.  
Đối tượng nắm giữ 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  
Hãy nhờ tôi làm giùm!!  
Đã giao thông tin giao luôn xử lý trên thông tin.  
Hạn chế:  
Không thể biết trước tất cả mọi xử lý.  
Một số trường hợp vẫn cần cung cấp thông tin.  
7
ꢀ Phương pháp lập trình hướng đối tượng  
TẬP TIN TRONG LẬP TRÌNH  
HƯỚNG ĐỐI TƯỢNG  
8
FREOPEN  
• Hàm này có chức năng đóng và gán con trỏ tệp fp vào tệp  
filename đã cung cấp.  
• Đọc ghi thông qua con trỏ tệp fp.  
• Đặc biệt có ích khi ta muốn gán các con trỏ tệp chuẩn (stdin,  
stdout…) vào 1 tệp của ta.  
• Hàm trả về NULL nếu gặp lỗi .  
• Thư viện:  
• cstdio (C++)  
• stdio.h (C)  
• Cú pháp  
freopen("/DuongDanKhac/input.txt", "r", stdin);  
freopen("/DuongDanKhac/output.txt", "w", stdout);  
freopen("/DuongDanKhac/input.txt", "r", cin);  
freopen("/DuongDanKhac/output.txt", "w", cout);  
9
ꢀ Phương pháp lập trình hướng đối tượng  
FREOPEN  
VÍ DỤ 1  
• Sử dụng:  
• scanf/printf; cin/cout  
• getline(cin,string);  
• gets(char*);  
#include <stdio.h>  
.cpp  
int main ()  
{
FILE *fp;  
printf("Dong text nay hien thi tren stdout\n");  
fp = freopen("baitapc.txt", "w+", stdout);  
printf("Dong text nay duoc ghi vao baitapc.txt\n");  
fclose(fp);  
return(0);  
}
ꢀ Phương
FREOPEN  
VÍ DỤ 2  
#include <stdio.h>  
.cpp  
int main ()  
{
FILE *fp;  
int c;  
fp = freopen("baitapc.txt", ”r", stdin);  
while(1)  
{
c = fgetc(fp);  
if( feof(fp) )  
{
break ;  
}
printf("%c", c);  
}
fclose(fp);  
return(0);  
ꢀ Phươn
FSTREAM  
• Thư viện nhập xuất với tập tin trong C++  
• ifstream : đọc từ tập tin  
• ofstream : xuất ra tập tin  
12  
ꢀ Phương pháp lập trình hướng đối tượng  
DEMO  
FSTREAM  
13  
BÀI TẬP 7.1  
• Có 2 loại sổ tiết kiệm có kỳ hạn và không kỳ hạn, thông tin cơ bản  
của mỗi loại gồm:  
• CMND  
.cpp  
//“time.h”  
time_t t;  
time(&t);  
• Họ tên khách hàng  
• Số tiền gửi (triệu đồng)  
• Ngày lập sổ  
tm *now = localtime(&t);  
cout<<now->tm_mday;  
cout<<now->tm_mon+1;  
cout<<now->tm_year+1900;  
• Lãi suất (%) của 1 tháng.  
• Đối với sổ có kỳ hạn, cần lưu lại thêm thông tin Kỳ hạn (gửi bao  
nhiêu tháng).  
• Công thức tính số tiền lãi (n: là số tháng gửi)  
• Đối với sổ không kỳ hạn: Tiền lãi = Tiền gửi * Lãi suất * n.  
• Đối với sổ có kỳ hạn:  
o Tiền lãi = Tiền gửi * Lãi suất * n, nếu n lớn hơn bằng kỳ hạn.  
o Ngược lại, tiền lãi của sổ đó bằng 0.  
14  
ꢀ Phương pháp lập trình hướng đối tượng  
BÀI TẬP 7.1  
Yêu cầu:  
• Cài đặt các lớp để thể hiện các loại sổ tiết kiệm  
trên để:  
• Quản lý thông tin sổ tiết kiệm.  
• Tính số tiền lãi của sổ cho đến ngày hiện tại (l  
ấy từ hệ thống).  
• Hãy cài đặt thêm lớp CNganHang, quản lý danh  
sách các sổ tiết kiệm (dùng 2 vector để lưu 2  
danh sách của 2 loại sổ) để thực hiện các chức  
năng sau:  
+ Nhập, xuất danh sách các sổ tiết kiệm.  
+ Tính tổng tiền lãi ngân hàng phải trả.  
15  
ꢀ Phương pháp lập trình hướng đối tượng  
BÀI TẬP 7.2  
Thực hiện 7.1 với tập tin  
16  
ꢀ Phương pháp lập trình hướng đối tượng  
TÀI LIỆU THAM KHẢO  
1. PGS.TS. Trần Đan Thư, TS. Đinh Bá Tiến, ThS. Nguyễn Tấn Trầ  
n Minh Khang, Lập trình hướng đối tượng, NXB KHKT, 2010  
2. ThS. Đặng Bình Phương, Bài giảng PPLTHĐT  
3. ThS. Nguyễn Minh Huy, Bài giảng PPLTHĐT  
4. Stephen Prata, C++ Primer Plus 6th Edition  
5. Bjarne Stroustrup, The C++ Programming Language 4th Edition  
6. Marshall Cline, C++ FAQ Lite, “http://www.parashift.com/c++-faq-  
lite/”  
7.Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides,  
Design Patterns: Elements of Reusable Objected-Oriented  
Software, Addison-Wesley, 1995  
8. Apple, Object-Oriented Programming with Objective-C,  
nceptual/OOP_ObjC/Articles/ooOOP.html” (August 15 2015)  
17  
ꢀ Phương pháp lập trình hướng đối tượng  
pdf 17 trang myanh 21920 Free
Bạn đang xem tài liệu "Bài giảng Phương pháp lập trình hướng đối tượng - Tuần 7: Ôn tập giữa kỳ - Nguyễn Lê Hoàng Dũng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_phuong_phap_lap_trinh_huong_doi_tuong_tuan_7_on_ta.pdf
  • zipOOP-W7-Reviews-Code.zip