第 1 页
goupee.vn goupee.com Phần 2: Ngôn ngữ C++ Chương 2: Giới thiệu về ngôn ngữ lập trình C++ cuu duong than cong . com fb.com/goupee.vn Kỹ thuật lập trình 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com Phần 2: Ngôn ngữ C++ Chương 2: Giới thiệu về ngôn ngữ lập trình C++ cuu duong than cong . com fb.com/goupee.vn Kỹ thuật lập trình 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnCác nội dung chính goupee.com 1. Các đặc điểm mới của C++ so với C 2. Các khái niệm cơ bản của lập trình hướng đối tượng 3. Một số mở rộng của C++ 4. Cấu trúc của một chương trình C++ cuu duong than cong . com fb.com/goupee.vn Kỹ thuật lập trình 2/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn1. Các đặc điểm mới của C++ so với C goupee.com C++ bổ sung khả năng lập trình hướng đối tượng (HĐT) với các khái niệm và các thành phần mới như: lớp, đối tượng, sự che dấu thông tin, sự kế thừa, sự đa hình,…Điều đó tạo cho C++ khả năng tổ chức chương trình theo cả phương pháp lập trình hướng chức năng và hướng đối tượng-một ngôn ngữ lập trình lai. Cho phép định nghĩa chồng các hàm, tức là các hàm có thể trùng tên với nhau trong cùng phạm vi định nghĩa và sử dụng. Cho phép các hàm có các tham số nhận giá trị mặc định Bổ sung loại hàm con inline nhằm tăng tốc độ thực hiện các hàm con. Bổ sung các lớp nhập/xuất mới nhằm đơn giản hoá các thao tác nhập/ xuất, tăng tính mở của các thao tác này khi phải nhập/xuất dữ liệu với các kiểu dữ liệu hay các đối tượng mới. Bổ sung các hàm cấp phát và giải phóng vùng nhớ động mới là new và delete. Bổ sung đối tượng, tham số kiểu tham chiếu giúp cho việc sử dụng các tham số của các hàm con được dễ dàng và hiệu quả hơn.cuu duong than cong . com Bổ sung loại chú thích mới-chú thích trên một dòng: // Cho phép đan xen giữa khai báo các đối tượng dữ liệu và các lệnh xử lý. fb.com/goupee.vn Kỹ thuật lập trình 3/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnChương trình C++ đầu tiên goupee.com Program 2.1: In ra màn hình dòng “Welcome to C++!” #include <cstdlib> #include <iostream> //tệp thư viện nhập/xuất chính trong C++ using namespace std; //Khai báo không gian tên mặc định int main() { cout<<"Welcome to C++!"<<endl;cuu duong than cong . com system("PAUSE"); return EXIT_SUCCESS; } fb.com/goupee.vn Kỹ thuật lập trình 4/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnKết quả chạy Program 2.1 goupee.com cuu duong than cong . com fb.com/goupee.vn Kỹ thuật lập trình 5/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnChú thích về Program 2.1 goupee.com namespace (không gian tên): là công cụ cho phép quản lý sự xung đột về tên của các thành phần của chương trình như tên biến, tên lớp, tên hàm,v.v Đối tượng cout và toán tử << nằm trong thư viện iostream, được dùng để xuất dữ liệu ra màn hình endl = „\n‟: kí tự xuống dòngcuu duong than cong . com fb.com/goupee.vn Kỹ thuật lập trình 6/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn2. Các khái niệm cơ bản của lập trình hướnggoupee.com đối tượng (object-oriented programming) Đối tượng và lớp (object and class) Thông báo và truyền thông báo (message) Sự che dấu các thành phần của lớp (còn gọi là sự đóng gói, encapsulation) Sự kế thừa (inheritance) Sự đa hình (polymorphism) cuu duong than cong . com fb.com/goupee.vn Kỹ thuật lập trình 7/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnĐối tượng và lớp goupee.com Đối tượng: Là thành phần cơ bản nhất một chương trình theo kiểu hướng đối tượng, biểu diễn cho một đối tượng của bài toán Là sự kết hợp gắn kết của các đối tượng dữ liệu và các thao tác xử lý cần thiết trên các đối tượng dữ liệu đó. Thao tác xử lý còn được gọi là phương thức (method), hay hàm thành viên Hình tròn A Hình chữ nhật C Một PT bậc 2 Chiều rộng a = 2 a = 3 Bán kính r = 2 Chiều dài b = 3 b = 4 cuu duong than cong . comc = 1 TínhChuVi() TínhChuVi() TínhDelta() TínhDiệnTích() TínhDiệnTích() TínhNghiem() fb.com/goupee.vn Kỹ thuật lập trình 8/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnĐối tượng và lớp goupee.com Lớp Là sự khái quát hóa các đối tượng cùng loại Có ý nghĩa đối với đối tượng tương tự như ý nghĩa của kiểu dữ liệu đối với các đối tượng dữ liệu, là cho phép dễ dàng tạo ra nhiều đối tượng cùng một kiểu (chung các kiểu dữ liệu và các phương thức) Hình tròn Hình chữ nhật PT bậc 2 Chiều rộng a; a; Bán kính r Chiều dài b; b; cuu duong than cong . comc; TínhChuVi() TínhChuVi() TínhDelta() TínhDiệnTích() TínhDiệnTích() TínhNghiem() fb.com/goupee.vn Kỹ thuật lập trình 9/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnQuan hệ giữa đối tượng và lớp goupee.com Đối tượng còn được gọi là thể hiện (instance) của một lớp Hình chữ nhật Chiều rộng a; Chiều dài b; TínhChuVi() TínhDiệnTích() :Hình chữ nhật A :Hình chữ nhật B Chiều rộng a=1;cuu duong than cong . comChiều rộng a=2; Chiều dài b=2; Chiều dài b=3; TínhChuVi() TínhChuVi() TínhDiệnTích() TínhDiệnTích() fb.com/goupee.vn Kỹ thuật lập trình 10/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnChương trình mẫu tiếp theo goupee.com Program 2.2: chương trình này sẽ có 1 đối tượng thuộc một lớp Circle, dùng để nhập vào giá trị bán kính và tính ra diện tích hình tròn này. Lưu ý: Phần khai báo các tệp thư viện và không gian tên của Program 2.2 giống như của Program 2.1. cuu duong than cong . com fb.com/goupee.vn Kỹ thuật lập trình 11/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnProgram 2.2 goupee.com class Circle { private: static const float PI=3.1415; //Hằng số tĩnh, hằng số của lớp float r; //Bán kính, thành phần dữ liệu của từng đối tượng public: void setRadius(float re){ r=re; } float getRadius(){ return r; } float area(){ cuu duong than cong . com return PI*r*r; } }; fb.com/goupee.vn Kỹ thuật lập trình 12/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnProgram 2.2: (tiếp và hết) goupee.com int main() { Circle c; c.setRadius(10); cout<< “Area of circle with r = ” <<c.getRadius()<< " is “ <<c.area()<<endl; system("PAUSE"); return EXIT_SUCCESS;cuu duong than cong . com } fb.com/goupee.vn Kỹ thuật lập trình 13/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnKết quả chạy chương trình goupee.com cuu duong than cong . com fb.com/goupee.vn Kỹ thuật lập trình 14/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnThông báo và truyền thông báo goupee.com Khái niệm: Trong lập trình HĐT, khi một đối tượng a gọi một thao tác m của một đối tượng b, ta nói rằng a truyền thông báo m đến b. Thông báo thể hiện a muốn yêu cầu b thực hiện một công việc nào đó. Thao tác m() mà b cài đặt chính là để thực hiện yêu cầu đó :a :b m cuu duong than cong . com m() fb.com/goupee.vn Kỹ thuật lập trình 15/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnSự che dấu các thành phần của lớp goupee.com Khái niệm về sự che dấu: là khả năng hạn chế sự truy nhập trực tiếp vào thành phần nào đó của chương trình, mà thường là phần dữ liệu. Trong lập trình có cấu trúc thì thường là sự che dấu các thành phần dữ liệu cục bộ trong các hàm. Tuy nhiên khả năng che dấu của LTCT khá hạn chế, do đặc điểm là không có sự gắn kết chặt chẽ giữa dữ liệu và các thao tác xử lý. Nhờ đặc thù kết hợp dữ liệu và các thao tác xử lý vào trong đối tượng, đãcuu duong than cong . com cho phép lập trình HĐT tăng cường khả năng này. fb.com/goupee.vn Kỹ thuật lập trình 16/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnSự che dấu các thành phần của lớp goupee.com Tại sao cần che dấu một thành phần? Việc che dấu một thành phần khỏi các truy nhập không cần thiết sẽ tăng cường khả năng kiểm soát thành phần đó. Điều này giúp giảm thiểu những lỗi tiềm tàng, tăng mức an toàn của chương trình, giảm thời gian và chi phí bảo trì và nâng cấp hệ thống sau này. cuu duong than cong . com fb.com/goupee.vn Kỹ thuật lập trình 17/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnSự che dấu các thành phần của lớp goupee.com Các mức độ che dấu trong C++ private: là mức cao nhất. Thành phần ở mức này hoàn toàn không thể truy nhập được từ bên ngoài lớp public: là mức thấp nhất. Thành phần ở mức này có thể được truy nhập từ bên ngoài lớp. protected (sẽ học sau): là mức trung bình giữa hai mức trên. Thành phần ở mức này của một lớp A sẽ không thể truy nhập được từ các đối tượngcuu duong than cong . com không thuộc lớp A, ngoại trừ từ những đối tượng là thuộc các lớp con của A fb.com/goupee.vn Kỹ thuật lập trình 18/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnVí dụ goupee.com class Circle { void main() { private: Circle c; static const float PI=3.1415; c.setRadius(15.5); //OK float r; c.r = 10; //Error with private member cout<<“Ban binh r=”<<c.getRadius(); public: }; void setRadius(float re){ r=re; } float getRadius(){ return r; } float area(){return PI*r*r;cuu duong than cong . com } }; fb.com/goupee.vn Kỹ thuật lập trình 19/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnSo sánh giữa class và struct goupee.com Trong C++, struct cũng được mở rộng để cho phép bổ sung các hàm thành viên để thực hiện các xử lý trên các trường dữ liệu. Ngoài ra, khả năng kế thừa của class cũng được đưa vào trong struct, làm cho chức năng của struct cũng không kém gì của class. Tuy nhiên, để duy trì tính tương thích với C, các thành phần trongcuu duong than cong . comstruct có mức độ che dấu mặc định là public. fb.com/goupee.vn Kỹ thuật lập trình 20/49 CuuDuongThanCong.com https://fb.com/tailieudientucntt
显示前 20 页。下载资料查看完整内容。
暂无评论。快来抢沙发吧!
评论 (0)
暂无评论。快来抢沙发吧!