Bài giảng Phương pháp lập trình hướng đối tượng: Các kiểu lập trình
lượt xem 2
download
Bài giảng "Phương pháp lập trình hướng đối tượng: Các kiểu lập trình" gồm 4 nội dung chính: Lập trình mệnh lệnh (imperative programming); lập trình thủ tục (procedural programming); lập trình hướng đối tượng (object oriented programming); kiểu lập trình khác. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Phương pháp lập trình hướng đối tượng: Các kiểu lập trình
- GV: Lê Xuân Định L.X.Định CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các Kiểu Lập trình (Programming Paradigms) Lập trình Mệnh lệnh (Imperative Programming) Ngôn ngữ LT: Hợp ngữ, C đơn giản, … Đơn vị của chương trình là lệnh. Lập trình Thủ tục (Procedural Programming) Ngôn ngữ LT: C, Pascal, … Đơn vị của chương trình là thủ tục / hàm / ctrình con. Lập trình Hướng đối tượng (Object Oriented Programming) Ngôn ngữ LT: C++, Java, C#, … Đơn vị của chương trình là đối tượng / lớp. Và nhiều kiểu lập trình khác: LTr Khai báo, LTr Hàm, LTr Logic, Hướng sự kiện, LTr Hướng dịch vụ, v.v. LTr_____________________________ Chú ý: Cách phân chia ra thành các “kiểu lập trình” như thế này CuuDuongThanCong.com chỉ mang tính tương đối. https://fb.com/tailieudientucntt L.X.Định 2
- Lập trình Mệnh lệnh Chương trình là một danh sách các câu lệnh. Ví dụ: Chương trình “Vẽ hình vuông” drawRight(100); drawDown(100); drawLeft(100); drawUp(100); CuuDuongThanCong.com https://fb.com/tailieudientucntt L.X.Định 3
- Lập trình Mệnh lệnh Chương trình là một danh sách các câu lệnh. Ví dụ 2: Chương trình “Vẽ hai hình vuông” movePen(0, 0); drawRight(100); drawDown(100); drawLeft(100); drawUp(100); Lặp Dài! movePen(50, 50); code drawRight(60); drawDown(60); drawLeft(60); drawUp(60); CuuDuongThanCong.com https://fb.com/tailieudientucntt L.X.Định 4
- Lập trình Thủ tục Chương trình được chia ra thành nhiều chương trình con (thủ tục, hàm). Mỗi chương trình con là một danh sách các câu lệnh. Chương trình con này có thể gọi ctrình con khác. Ví dụ: Chương trình “Vẽ ba hình vuông” void vuong(int w, void main(){ int x, int y) vuong(100, 0, 0); { movePen(x, y); vuong(60, 50, 50); drawRight(w); vuong(50, 10, 40); drawDown(w); } drawLeft(w); drawUp(w); } CuuDuongThanCong.com https://fb.com/tailieudientucntt L.X.Định 5
- Lập trình Thủ tục Chương trình được chia ra thành nhiều chương trình con (thủ tục, hàm). Ví dụ 2: Chương trình “Vẽ robot (vuông & chữ nhật)” void vuong(int w, void main(){ int x, int y) { movePen(x, y); color(8, 80, 145); drawRight(w); vuong(20, -10,0); ... vuong(10, -5,20); 4 4 } chuNhat(40,50, -20,30); 4 4 void chuNhat( int w, int h, chuNhat(10,60, -30,30); int x, int y) chuNhat(10,60, 20,30); { movePen(x, y); chuNhat(10,60, -15,80); 4 4 drawRight(w); 4 4 drawDown(h); chuNhat(10,60, 5,80); ... } } CuuDuongThanCong.com https://fb.com/tailieudientucntt L.X.Định 6
- Lập trình Thủ tục Chương trình được chia ra thành nhiều chương trình con (thủ tục, hàm). Ví dụ 3: Chương trình “Vẽ robot nhảy” void robot(int w, void xoaRobot(int w, int r, int g, int b, int x, int y){ int x, int y){ robot(w, 0,0,0, x,y); color(r, g, b); } vuong(2*w, x-w, y); void main() 4 4 vuong(w, x-w/2, y+2*w); chuNhat(4*w,5*w, x-2*w, y+3*w); { for(int i=0;;i++) 4 4 chuNhat(w,6*w, x-3*w, y+3*w); {sleep(200); chuNhat(w,6*w, x+2*w, y+3*w); xoaRobot(10, 0, 10*(i%2)) chuNhat(w,6*w, x-3*w/2,y+8*w); robot(10, 8,80,145, 4 4 chuNhat(w,6*w, x+w/2,y+8*w); 0, 10*((i+1)%2) ); 4 4 } } } CuuDuongThanCong.com https://fb.com/tailieudientucntt L.X.Định 7
- Lập trình Thủ tục Chương trình được chia ra thành nhiều chương trình con (thủ tục, hàm). Ví dụ 3: Chương trình “Vẽ robot nhảy” void robot(int w, void xoaRobot(int w, int r, int g, int b, Dài! int x, int y){ int x, int y){ robot(w, 0,0,0, x,y); color(r, g, b); } vuong(2*w, x-w, y); void main() 4 4 vuong(w, x-w/2, y+2*w); 4 4 4 4 chuNhat(4*w,5*w, x-2*w, y+3*w); { for(int i=0;;i++) {sleep(200); 4 4 chuNhat(w,6*w, x-3*w, y+3*w); chuNhat(w,6*w, x+2*w, y+3*w); xoaRobot(10, 0, 10*(i%2)) chuNhat(w,6*w, x-3*w/2,y+8*w); robot(10, 8,80,145, 4 4 chuNhat(w,6*w, x+w/2,y+8*w); 0, 10*((i+1)%2) ); 4 4 4 4 } } } Dài! 4 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt L.X.Định 8
- Lập trình Thủ tục với Struct Chương trình được chia ra thành nhiều chương trình con cùng các cấu trúc dữ liệu (struct). Ví dụ: Chương trình “Vẽ robot nhảy” struct Robot{ int w, void xoaRobot(Robot r){ int r, int g, int b, Robot rx = {r.w, 0,0,0, r.x, r.y}; int x, int y }; veRobot(rx); } void veRobot(Robot r){ color(r.r, r.g, r.b); void main() 4 4 vuong(2*r.w, r.x-r.w, r.y); 4 4 4 4 { Robot r={10, 8,80,145, 0,0}; ... 4 4 for(int i=0;;i++) } { sleep(200); xoaRobot(r); void doiRobot(Robot r, doiRobot(r, 0, 10*(i%2)); 4 4 int x, int y) veRobot(r); 4 4 4 4 { r.x = x; r.y = y; } 4 4 } } CuuDuongThanCong.com https://fb.com/tailieudientucntt L.X.Định 9
- Lập trình Thủ tục với Struct Chương trình được chia ra thành nhiều chương trình con cùng các cấu trúc dữ liệu (struct). Ví dụ 2: Chương trình “Vẽ robot nhảy & robot chào” ... Hello void main() Bye { Robot r={10, 255,0,0, 0,0}; RobotChao rc={10,0,0,255, -70,0, ‘E’}; 4 4 4 4 4 4 4 4 4 4 4 4 helloRobot(rc); 4 4 4 4 nhayRobot(rc, 9); byeRobot(rc); Khác kiểu tham số 4 4 4 4 nhayRobot(r, 100); 4 4 4 4 4 4 4 4 } 4 4 4 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt L.X.Định 10
- Lập trình Thủ tục với Struct Chương trình được chia ra thành nhiều chương trình con cùng các cấu trúc dữ liệu (struct). Ví dụ 2: Chương trình “Vẽ robot nhảy & robot chào” struct Robot{ int w, struct RobotChao{ int w, int r, int g, int b, int r, int g, int b, int x, int y }; int x, int y, char nn }; void veRobot(Robot r){ void veRobot(RobotChao r){ color(r.r, r.g, r.b); color(r.r, r.g, r.b); 4 4 vuong(2*r.w, r.x-r.w, r.y); vuong(2*r.w, r.x-r.w, r.y); 4 4 4 4 ... ... 4 4 } } void xoaRobot(Robot r){ void xoaRobot(RobotChao r){ 4 4 Robot rx = {r.w, 0,0,0, Robot rx = {r.w, 0,0,0, 4 4 4 4 r.x, r.y}; r.x, r.y}; 4 4 veRobot(rx); } veRobot(rx); } CuuDuongThanCong.com https://fb.com/tailieudientucntt L.X.Định 11
- Lập trình Thủ tục với Struct Ví dụ 2: Chương trình “Vẽ robot nhảy & robot chào” Thảo luận: Làm thế nào tái sử dụng struct Robot và các hàm veRobot(), nhayRobot(),... cho struct RobotChao? struct Robot{ int w, struct RobotChao{ int w, int r, int g, int b, int r, int g, int b, int x, int y }; int x, int y, char nn }; void veRobot(Robot r); void veRobot(RobotChao r); void xoaRobot(Robot r); void xoaRobot(RobotChao r); 4 4 void doiRobot(Robot r); void doiRobot(RobotChao r); 4 4 void nhayRobot(Robot r); void nhayRobot(RobotChao r); void helloRobot(RobotChao r); void byeRobot(RobotChao r); 4 4 4 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt L.X.Định 12
- Lập trình Hướng đối tượng Chương trình là cuộc hội thoại giữa các đối tượng (đối tượng = struct + hàm). Ví dụ: Chương trình “Vẽ robot nhảy & robot chào” class Robot{ int w, class RobotChao Hello int r, int g, int b, :public Robot { int x, int y; char nn; public: public: void ve(); void hello(); 4 4 void xoa(); void bye(); 4 4 4 4 void doi(int x, int y); }; 4 4 void nhay(); }; void main() { RobotChao rc; 4 4 rc.hello(); 4 4 4 4 4 4 rc.nhay(100); CuuDuongThanCong.com } https://fb.com/tailieudientucntt L.X.Định 13
- Kết luận Qua mỗi bước phát triển, kiểu lập trình sau tích hợp nhiều đơn vị của kiểu lập trình trước vào một đơn vị. Thủ thục là tập hợp các lệnh. Đối tượng là sự tích hợp của dữ liệu và thủ tục. Thuận tiện cho việc phát triển ứng dụng lớn hơn! Nâng cao tính tái sử dụng (reusability). Nâng cao khả năng mở rộng (scalability). CuuDuongThanCong.com https://fb.com/tailieudientucntt L.X.Định 14
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Phương pháp lập trình: Chương 1 - GV. Từ Thị Xuân Hiền
18 p | 132 | 17
-
Bài giảng Phương pháp lập trình: Chương 2 - GV. Từ Thị Xuân Hiền
50 p | 107 | 15
-
Bài giảng Phương pháp lập trình: Chương 6 - GV. Từ Thị Xuân Hiền
39 p | 105 | 15
-
Bài giảng Phương pháp lập trình: Chương 3 - GV. Từ Thị Xuân Hiền
29 p | 117 | 12
-
Bài giảng Phương pháp lập trình: Chương 5 - GV. Từ Thị Xuân Hiền
37 p | 115 | 12
-
Bài giảng Phương pháp lập trình: Chương 4 - GV. Từ Thị Xuân Hiền
19 p | 104 | 11
-
Bài giảng Phương pháp lập trình: Chương 7 - GV. Từ Thị Xuân Hiền
18 p | 117 | 11
-
Bài giảng Phương pháp lập trình: Chương 9 - GV. Từ Thị Xuân Hiền
36 p | 101 | 10
-
Bài giảng Phương pháp lập trình: Chương 3
23 p | 115 | 10
-
Bài giảng Phương pháp lập trình: Chương 8 - GV. Từ Thị Xuân Hiền
25 p | 102 | 10
-
Bài giảng Phương pháp lập trình: Chương 6 (tiếp theo)
43 p | 85 | 9
-
Bài giảng Phương pháp lập trình: Chương 4
9 p | 96 | 6
-
Bài giảng Phương pháp lập trình hướng đối tượng: Bài tập 5 - Trần Phước Tuấn
4 p | 114 | 6
-
Bài giảng Phương pháp lập trình: Chương 7
16 p | 71 | 4
-
Bài giảng Phương pháp lập trình - Chương 1: Phương pháp lập trình (2016)
64 p | 73 | 4
-
Bài giảng Phương pháp lập trình: Bài 2 - TS. Ngô Hữu Dũng
45 p | 73 | 4
-
Bài giảng Phương pháp lập trình: Bài 4 - TS. Ngô Hữu Dũng
51 p | 92 | 4
-
Bài giảng Phương pháp lập trình: Bài 11 - TS. Ngô Hữu Dũng
42 p | 62 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn