Bài giảng Phương pháp lập trình hướng đối tượng - Chương mở đầu: Giới thiệu môn học - Nguyễn Minh Huy

Giꢀi thiꢁu môn hꢂc  
GV. Nguyꢀn Minh Huy  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
1
Nꢅi dung  
ꢀ Chuꢆn và quy ưꢂc lꢁp trình.  
ꢀ Nꢇp chꢈng hàm.  
ꢀ Lꢁp trình tꢉng quát.  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
2
Nꢅi dung  
ꢀ Chuꢃn và quy ưꢀc lꢄp trình.  
ꢀ Nꢇp chꢈng hàm.  
ꢀ Lꢁp trình tꢉng quát.  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
3
Chuꢆn và quy ưꢂc lꢁp trình  
ꢀ Vì sao phꢊi có chuꢆn và quy ưꢂc?  
ꢀ Làm viꢋc mꢅt mình:  
ꢁ Tꢌ làm tꢌ hiꢍu.  
ꢁ Mình luôn hiꢅu mình?  
ꢀ Làm viꢋc nhóm:  
ꢁ Mꢎi ngưꢏi mꢅt viꢋc.  
ꢁ Ráp nꢃi công viꢋc.  
ꢁ Mꢂi ngưꢆi luôn hiꢅu nhau?  
Phꢉi áp đꢊt kꢋ luꢄt!!  
Phꢉi có chuꢃn!!  
Đꢅ phꢇi hꢈp công viꢁc hiꢁu quꢉ  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
4
Chuꢆn và quy ưꢂc lꢁp trình  
ꢀ Quy ưꢀc #0: Không có chuꢃn chung!!  
ꢀ Tùy thuꢅc ngôn ngꢐ lꢁp trình.  
ꢀ Tùy thuꢅc doanh nghiꢋp.  
ꢀ Tùy thuꢅc cꢅng đꢈng.  
ꢀ
Mꢅt vài quy ưꢂc thông dꢑng:  
ꢀ Quy ưꢂc đꢒt tên (naming convention).  
ꢀ Quy ưꢂc viꢓt câu lꢋnh (statement convention).  
ꢀ Quy ưꢂc viꢓt chú thích (comment convention).  
(Xem Coding Convention Guidelines)  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
5
Nꢅi dung  
ꢀ Chuꢆn và quy ưꢂc lꢁp trình.  
ꢀ Nꢌp chꢍng hàm.  
ꢀ Lꢁp trình tꢉng quát.  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
6
Nꢇp chꢈng hàm  
ꢀ Chꢐ ký hàm (Function Signature/Prototype):  
ꢀ Đꢔnh danh mꢅt hàm.  
ꢀ Thành phꢕn cꢖa chꢐ ký:  
ꢁ Tên hàm.  
ꢁ Danh sách tham sꢃ.  
double sapXep(int danhSach[ ], int kichThuoc);  
double sapXep(float danhSach[ ], int kichThuoc);  
ꢁ Giá trꢎ trꢉ vꢏ không thuꢐc chꢑ ký hàm!!  
Chương trình có thꢅ có  
nhiꢏu hàm cùng tên!!  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
7
Nꢇp chꢈng hàm  
ꢀ Nhꢐng trưꢏng hꢄp nꢇp chꢈng hàm nào  
không hꢄp lꢋ?  
1. int tinhToan(int a, int b);  
2. int tinhToan(int x, int y);  
3. int tinhToan(int a, float b);  
4. float tinhToan(int u, int v);  
5. int tinhToan(int a, long b);  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
8
Nꢅi dung  
ꢀ Chuꢆn và quy ưꢂc lꢁp trình.  
ꢀ Nꢇp chꢈng hàm.  
ꢀ Lꢄp trình tꢒng quát.  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
9
Lꢁp trình tꢉng quát  
ꢀ Mꢗc đꢅ tꢉng quát cꢖa chương trình:  
ꢀ Khꢊ năng hoꢇt đꢅng trong nhiꢘu ngꢐ cꢊnh.  
ꢀ Không cꢃ đꢔnh vào mꢅt trưꢏng hꢄp.  
ꢀ Write once, use everywhere.  
ꢀ Dùng phương pháp tham sꢃ hóa:  
ꢁ Tham sꢃ hóa dꢐ liꢋu (truyꢘn tham sꢃ thông thưꢏng).  
ꢁ Tham sꢃ hóa kiꢍu (function template).  
ꢁ Tham sꢃ hóa xꢙ lý (con trꢚ hàm).  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
10  
Lꢁp trình tꢉng quát  
ꢀ Tham sꢃ hóa dꢐ liꢋu:  
ꢀ Bài toán: tính tꢉng hai sꢃ nguyên 3 và 5.  
ꢀ Tꢉng quát 1: tính tꢉng hai sꢃ nguyên bꢛt kỳ.  
// Giꢀi pháp không tꢁng quát:  
// Giꢀi pháp tꢁng quát 1:  
// Không dùng tham sꢂ.  
// Tham sꢂ hóa dꢃ liꢄu.  
int
tinhToan
( )  
int tinhToan( int x, int y )  
{
{
return 3 + 5;  
}
return x + y;  
}
void main( )  
{
tinhToan( 3, 5 );  
tinhToan( 4, 6 );  
tinhToan( ꢜ2, 7 );  
}
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
11  
Lꢁp trình tꢉng quát  
ꢀ Tham sꢃ hóa kiꢍu:  
ꢀ Tꢉng quát 2: tính tꢉng hai sꢃ kiꢍu bꢛt kỳ.  
ꢂ Dùng Function Template.  
// Giꢀi pháp tꢁng quát 2:  
void main( )  
// Tham sꢂ hóa kiꢅu.  
{
template <class T>  
int x = tinhToan( 3, 5 );  
T tinhToan( T x, T y )  
{
float y = tinhToan( 4.2, 6.3 );  
return x + y;  
}
PhanSo p1, p2;  
PhanSo p3 = tinhToan( p1, p2 );  
}
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
12  
Lꢁp trình tꢉng quát  
ꢀ Đꢒc điꢍm cꢖa Function Template:  
ꢀ Tham sꢃ hóa kiꢍu dꢐ liꢋu.  
ꢀ “Khuông hàm” tꢉng quát cho nhiꢘu kiꢍu dꢐ liꢋu.  
ꢀ “Đúc” thành tꢝng hàm vꢂi kiꢍu cꢑ thꢍ khi gꢞi hàm.  
ꢀ
Ghi chú:  
ꢀ Tꢝ khóa “class” có thꢍ thay bꢟng “typename”.  
ꢀ Phꢕn khai báo và cài đꢒt hàm đꢘu phꢊi có template.  
ꢀ Phꢕn cài đꢒt hàm phꢊi nꢟm cùng file:  
ꢁ Hoꢒc phꢕn khai báo hàm.  
ꢁ Hoꢒc phꢕn gꢞi sꢙ dꢑng hàm.  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
13  
Lꢁp trình tꢉng quát  
ꢀ Tham sꢃ hóa xꢙ lý:  
ꢀ Tꢉng quát 3: tính toán bꢛt kỳ giꢐa hai sꢃ nguyên.  
ꢂ Dùng Con trꢚ hàm.  
// Giꢀi pháp tꢁng quát 3:  
int cong( int x, int y ) {  
return x + y;  
}
// Tham sꢂ hóa xꢆ lý.  
typedef int ( * PhepTinh )( int, int );  
int nhan( int x, int y ) {  
return x * y;  
}
int tinhToan( int x, int y, PhepTinh p )  
{
return p( x, y );  
void main( )  
{
}
int x = tinhToan( 3, 5, cong );  
int x = tinhToan( 4, 6, nhan );  
}
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
14  
Lꢁp trình tꢉng quát  
ꢀ Cách sꢙ dꢑng con trꢚ hàm:  
ꢀ B1: tꢇo kiꢍu hàm, dùng typedef.  
typedef int (* PhepTinh) ( int, int );  
ꢀ B2: tꢇo hàm tꢉng quát có đꢃi sꢃ là kiꢍu hàm đã tꢇo.  
int tinh( int x, int y, PhepTinh p ) {  
return p( x, y );  
}
ꢀ B3: tꢇo hàm xꢙ lý cꢑ thꢍ.  
int cong( int x, int y ) {  
return x + y;  
}
ꢀ B4: gꢞi hàm tꢉng quát, truyꢘn hàm xꢙ lý cꢑ thꢍ vào:  
tinh( 3, 5, cong );  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
15  
Lꢁp trình tꢉng quát  
ꢀ Đꢒc điꢍm cꢖa con trꢚ hàm:  
ꢀ Tham sꢃ hóa xꢙ lý.  
ꢀ Hàm làm đꢃi sꢃ cꢖa hàm khác.  
ꢀ Hàm có xꢙ lý tꢉng quát tùy xꢙ lý truyꢘn vào.  
ꢀ Xꢙ lý cꢑ thꢍ đưꢄc quyꢓt đꢔnh khi gꢞi hàm.  
ꢀ Ghi chú:  
ꢀ Dùng con trꢚ hàm trꢌc tiꢓp, không dùng typedef:  
int tinhToan( int x, int y, int ( *p ) ( int, int ) );  
ꢀ Sꢙ dꢑng Function Template phꢊi dùng con trꢚ hàm  
trꢌc tiꢓp.  
ꢂ Tꢉng quát 4: tính toán bꢛt kỳ giꢐa hai sꢃ kiꢍu bꢛt kỳ.  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
16  
Tóm tꢠt  
ꢀ Chuꢆn và quy ưꢂc lꢁp trình:  
ꢀ Áp đꢒt kꢡ luꢁt lên viꢋc lꢁp trình.  
ꢀ Tꢇo quy ưꢂc đꢍ phꢃi hꢄp hiꢋu quꢊ.  
ꢀ Quy ưꢂc đꢒt tên: có nghĩa, ngꢠn gꢞn.  
ꢀ Quy ưꢂc viꢓt câu lꢋnh: rꢅng rãi, rõ ràng.  
ꢀ Quy ưꢂc viꢓt chú thích: đꢕy đꢖ, dꢀ hiꢍu.  
ꢀ Nꢇp chꢈng hàm:  
ꢀ Nhiꢘu hàm cùng tên, khác tham sꢃ.  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
17  
Tóm tꢠt  
ꢀ Lꢁp trình tꢉng quát:  
ꢀ Chương trình hoꢇt đꢅng trong nhiꢘu ngꢐ cꢊnh.  
ꢀ Dùng phương pháp tham sꢃ hóa:  
ꢁ Tham sꢃ hóa dꢐ liꢋu (tham sꢃ thông thưꢏng).  
ꢁ Tham sꢃ hóa kiꢍu (function template).  
ꢁ Tham sꢃ hóa xꢙ lý (con trꢚ hàm).  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
18  
Bài tꢁp  
ꢀ Bài tꢁp 1.1:  
Viꢓt chương trình cho phép thꢌc hiꢋn các thao tác trên kiꢍu phân sꢇ:  
ꢀ Nhꢁp, xuꢛt phân sꢃ.  
ꢀ Rút gꢞn phân sꢃ.  
ꢀ Cꢅng, trꢝ, nhân, chia, so sánh hai phân sꢃ.  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
19  
Bài tꢁp  
ꢀ Bài tꢁp 1.2:  
Viꢓt chương trình cho phép sꢠp xꢓp mꢊng phân sꢇ theo thꢗ tꢌ  
tăng/giꢊm/điꢘu kiꢋn bꢛt kỳ.  
Phương pháp lꢁp trình hưꢂng đꢃi tưꢄng – GV. Nguyꢀn Minh Huy  
20  
Tải về để xem bản đầy đủ
pdf 21 trang myanh 26820 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phương pháp lập trình hướng đối tượng - Chương mở đầu: Giới thiệu môn học - Nguyễn Minh Huy", để 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_chuong_1_gio.pdf