Ngôn ngữ lập trình C - Chương 6
Số trang: 0
Loại file: pdf
Dung lượng: 490.09 KB
Lượt xem: 18
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tài liệu tham khảo bài giảng về Ngôn ngữ lập trình C++ gồm 7 chương - Chương 6 Lớp và phương pháp lập trình hướng đồi tượng
Nội dung trích xuất từ tài liệu:
Ngôn ngữ lập trình C - Chương 6 Ch−¬ng 6 Ch Líp vμph−¬ng ph¸p lËp tr×nh h−íng ®èi t−îng ng6.1 C++ vµ ph−¬ng ph¸p lËp tr×nhh−íng ®èi t−îng 6.1.1 Tổng quan về lập trình hướng đối tượng – Lịch sử phát triển các phương pháp lập trình • Lập trình tuyến tính: – Lập trình máy tính thời kì đầu. – Chương trình nhỏ (ít dòng lệnh), đơn giản. • Lập trình thủ tục: – Phân chia chương trình thành các môđun. – Giải quyết bài toán theo hướng phân tích trên – xuống (top – down). – Nảy sinh khó khăn do phụ thuộc vào cấu trúc dữ liệu. • Lập trình hướng đối tượng: – Thiết kế xoay quanh dữ liệu, gắn kết dữ liệu và hàm xử lý chúng. – Thiết kế chương trình theo cách tiếp cận dưới – lên (bottom – up). – Cách tiếp cận bài toán gần với thực tế hơn. 2 Bài giảng C++. 7/11/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD6.1 C++ vµ ph−¬ng ph¸p lËp tr×nhh−íng ®èi t−îng 6.1.1 Tổng quan về lập trình hướng đối tượng – Lập trình hướng đối tượng • Các khái niệm cơ sở: – Đối tượng = dữ liệu + phương thức. – Lớp : tập hợp các đối tượng cùng loại. – Chương trình là tập hợp các đối tượng, các đối tượng trao đổi thông tin qua phương thức. • Đặc điểm: Dễ dàng bổ sung dữ liệu, phương thức, sử dụng lại đối tượng. – Đóng gói dữ liệu : che giấu thông tin an toàn mã. – Thừa kế : dễ dàng sử dụng lại các môđun chương trình. – Đa hình: các đối tượng có thể phản ứng khác nhau tùy vào từng tình – huống cụ thể. – Thể hiện trong nhiều ngôn ngữ khác nhau : SIMULA, SmallTalk, C++, Java,… hay ADA, EIFFEL, … 3 Bài giảng C++. 7/11/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD6.1 C++ vµ ph−¬ng ph¸p lËp tr×nhh−íng ®èi t−îng 6.1.1 Tổng quan về lập trình hướng đối tượng – Lập trình hướng đối tượng (tiếp) • Ưu nhược điểm – Loại bỏ mã lặp lại, nâng cao tính sử dụng lại. – An toàn mã, dễ dàng thiết kế, … – Thích hợp cho xây dựng các hệ thống lớn : làm việc theo quy trình, dễ dàng nâng cấp, thuận lợi trong quản lý đọ phức tạp, … – Nhược điểm: đòi hỏi thời gian thực hiện lớn, tốn bộ nhớ. • Ứng dụng – Thiết kế giao diện người sử dụng (GUI). – Xây dựng các hệ thống thông tin phức tạp và hiệu quả : các hệ thống mô hình hóa & mô phỏng, các hệ thống thời gian thực, các hệ thống song song và mạng nơron, các hệ CAD/CAM, các hệ CSDL HĐT, các hệ TTNT, HCG, HTGQĐ, … 4 Bài giảng C++. 7/11/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD6.1 C++ vµ ph−¬ng ph¸p lËp tr×nhh−íng ®èi t−îng 6.1.2 Lập trình hướng đối tượng trong C++ – C++: thêm khả năng lập trình HĐT vào C • C++: thừa hưởng tất cả điểm mạnh của C – Là ngôn ngữ bao trùm lên C thừa hưởng đầy đủ sức mạnh của C (ví dụ tính khả chuyển, tính mềm dẻo, ...). – C trong C++ có một số điểm khác so với ANSI C: thay đổi, thêm mới, cải tiến phù hợp hơn tăng cường sức mạnh cho C. • C++: cài đặt khả năng lập trình HĐT dựa trên khái niệm lớp – Lớp bao gồm các dữ liệu thành phần (thuộc tính) và các hàm thành phần (phương thức) đóng gói dữ liệu. – Thực chất lớp là 1 kiểu dữ liệu do người dùng tự định nghĩa. – Cho phép kế thừa các lớp đã xây dựng đặc điểm quan trọng của lập trình HĐT. – Cho phép thể hiện tính đa hình trong thừa kế, đây cũng là một đặc điểm quan trọng của lập trình HĐT. 5 Bài giảng C++. 7/11/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD6.1 C++ vµ ph−¬ng ph¸p lËp tr×nhh−íng ®èi t−îng 6.1.2 Lập trình hướng đối tượng trong C++ – Lập trình HĐT trong C++: một số đặc điểm cần chú ý • C++ là ngôn ngữ lai (không phải là ngôn ngữ HĐT thuần khiết) SmallTalk, Java, … – So với lập trình HĐT thuần túy, cài đặt cụ thể của đối tượng trong C++ linh động hơn. – C++ không bắt buộc đóng gói dữ liệu nhược điểm chính của C++. • C++ phù hợp cho người mới học lập trình: có thể sử dụng cả tính cấu trúc và đối tượng trong chương trình. 6 ...
Nội dung trích xuất từ tài liệu:
Ngôn ngữ lập trình C - Chương 6 Ch−¬ng 6 Ch Líp vμph−¬ng ph¸p lËp tr×nh h−íng ®èi t−îng ng6.1 C++ vµ ph−¬ng ph¸p lËp tr×nhh−íng ®èi t−îng 6.1.1 Tổng quan về lập trình hướng đối tượng – Lịch sử phát triển các phương pháp lập trình • Lập trình tuyến tính: – Lập trình máy tính thời kì đầu. – Chương trình nhỏ (ít dòng lệnh), đơn giản. • Lập trình thủ tục: – Phân chia chương trình thành các môđun. – Giải quyết bài toán theo hướng phân tích trên – xuống (top – down). – Nảy sinh khó khăn do phụ thuộc vào cấu trúc dữ liệu. • Lập trình hướng đối tượng: – Thiết kế xoay quanh dữ liệu, gắn kết dữ liệu và hàm xử lý chúng. – Thiết kế chương trình theo cách tiếp cận dưới – lên (bottom – up). – Cách tiếp cận bài toán gần với thực tế hơn. 2 Bài giảng C++. 7/11/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD6.1 C++ vµ ph−¬ng ph¸p lËp tr×nhh−íng ®èi t−îng 6.1.1 Tổng quan về lập trình hướng đối tượng – Lập trình hướng đối tượng • Các khái niệm cơ sở: – Đối tượng = dữ liệu + phương thức. – Lớp : tập hợp các đối tượng cùng loại. – Chương trình là tập hợp các đối tượng, các đối tượng trao đổi thông tin qua phương thức. • Đặc điểm: Dễ dàng bổ sung dữ liệu, phương thức, sử dụng lại đối tượng. – Đóng gói dữ liệu : che giấu thông tin an toàn mã. – Thừa kế : dễ dàng sử dụng lại các môđun chương trình. – Đa hình: các đối tượng có thể phản ứng khác nhau tùy vào từng tình – huống cụ thể. – Thể hiện trong nhiều ngôn ngữ khác nhau : SIMULA, SmallTalk, C++, Java,… hay ADA, EIFFEL, … 3 Bài giảng C++. 7/11/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD6.1 C++ vµ ph−¬ng ph¸p lËp tr×nhh−íng ®èi t−îng 6.1.1 Tổng quan về lập trình hướng đối tượng – Lập trình hướng đối tượng (tiếp) • Ưu nhược điểm – Loại bỏ mã lặp lại, nâng cao tính sử dụng lại. – An toàn mã, dễ dàng thiết kế, … – Thích hợp cho xây dựng các hệ thống lớn : làm việc theo quy trình, dễ dàng nâng cấp, thuận lợi trong quản lý đọ phức tạp, … – Nhược điểm: đòi hỏi thời gian thực hiện lớn, tốn bộ nhớ. • Ứng dụng – Thiết kế giao diện người sử dụng (GUI). – Xây dựng các hệ thống thông tin phức tạp và hiệu quả : các hệ thống mô hình hóa & mô phỏng, các hệ thống thời gian thực, các hệ thống song song và mạng nơron, các hệ CAD/CAM, các hệ CSDL HĐT, các hệ TTNT, HCG, HTGQĐ, … 4 Bài giảng C++. 7/11/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD6.1 C++ vµ ph−¬ng ph¸p lËp tr×nhh−íng ®èi t−îng 6.1.2 Lập trình hướng đối tượng trong C++ – C++: thêm khả năng lập trình HĐT vào C • C++: thừa hưởng tất cả điểm mạnh của C – Là ngôn ngữ bao trùm lên C thừa hưởng đầy đủ sức mạnh của C (ví dụ tính khả chuyển, tính mềm dẻo, ...). – C trong C++ có một số điểm khác so với ANSI C: thay đổi, thêm mới, cải tiến phù hợp hơn tăng cường sức mạnh cho C. • C++: cài đặt khả năng lập trình HĐT dựa trên khái niệm lớp – Lớp bao gồm các dữ liệu thành phần (thuộc tính) và các hàm thành phần (phương thức) đóng gói dữ liệu. – Thực chất lớp là 1 kiểu dữ liệu do người dùng tự định nghĩa. – Cho phép kế thừa các lớp đã xây dựng đặc điểm quan trọng của lập trình HĐT. – Cho phép thể hiện tính đa hình trong thừa kế, đây cũng là một đặc điểm quan trọng của lập trình HĐT. 5 Bài giảng C++. 7/11/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD6.1 C++ vµ ph−¬ng ph¸p lËp tr×nhh−íng ®èi t−îng 6.1.2 Lập trình hướng đối tượng trong C++ – Lập trình HĐT trong C++: một số đặc điểm cần chú ý • C++ là ngôn ngữ lai (không phải là ngôn ngữ HĐT thuần khiết) SmallTalk, Java, … – So với lập trình HĐT thuần túy, cài đặt cụ thể của đối tượng trong C++ linh động hơn. – C++ không bắt buộc đóng gói dữ liệu nhược điểm chính của C++. • C++ phù hợp cho người mới học lập trình: có thể sử dụng cả tính cấu trúc và đối tượng trong chương trình. 6 ...
Tìm kiếm theo từ khóa liên quan:
Ngôn ngữ lập trình lập trình C hàm lập trình kiểu dữ liệu bài giảng lập trìnhGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 276 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 266 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 266 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 232 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 226 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 218 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 208 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 185 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 170 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 167 0 0