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.
ꢀ 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 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.
{
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.
ꢀ 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 đủ
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:
bai_giang_phuong_phap_lap_trinh_huong_doi_tuong_chuong_1_gio.pdf

