Lập trình hướng đối tượng - p2

895 views

Published on

Học Hướng Đối Tượng là một cách tuyệt vời để nâng cao trình độ lập trình của bạn. Khi thực thi đúng, Hướng Đối Tượng sẽ giúp bạn tạo ra những mã lệnh dễ đọc, dễ bảo trì và mang tính di động cao, giúp cho bạn tiết kiệm được rất nhiều thời gian làm việc.

Published in: Self Improvement
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
895
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Lập trình hướng đối tượng - p2

  1. 1. LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG NIIT.vn
  2. 2. CHƯƠNG IIGIỚI THIỆU VỀ C++ NIIT.vn
  3. 3. 1. LỊCH SỬ CỦA C++C++ được xây dựng trên nền của C  C được phát minh bởi Dennis Ritchie năm 1972  C dùng để viết hệ điều hành UNIX  Lịch sử của C và Unix gắn liền với nhau  UNIX được hoàn thành với C NIIT.vn
  4. 4. 1. LỊCH SỬ CỦA C++C++ được đưa ra bởi Bjarne Stroustrup  Phiên bản đầu tiên ra mắt năm 1980, với tên “C with class”  Phiên bản thương mại đầu tiên vào năm 1985  ANSI và ISO đưa ra phiên bản C++ chuẩn  C++ hỗ trợ lập trình hướng đối tượng NIIT.vn
  5. 5. 1. LỊCH SỬ CỦA C++Ưu điểm:  Được sử dụng rộng rãi  Là sự mở rộng của C  Hỗ trợ lập trình hướng đối tượng  Có nhiều thư viện mẫu chuẩn STL NIIT.vn
  6. 6. 2. MỞ RỘNG CỦA C++Một số mở rộng của C++ so với C:  Lời chú thích  Hàm đa năng  Từ khóa mới  Toán tử đa năng  Dữ liệu, khai báo biến  Hàm nội tuyến  Chuyển kiểu  Toán tử phạm vi  Nhập xuất  Con trỏ this  Cấp phát bộ nhớ  Biến, Hằng tham chiếu NIIT.vn
  7. 7. 2.1. LỜI CHÚ THÍCHCó hai cách chú thích: Cách 1: /* ..*/ Ví dụ: /* chú thích trên nhiều dòng*/  Cách 2: // (chú thích của C) Ví dụ: // Chú thích trên một dòng NIIT.vn
  8. 8. 2.2. TỪ KHÓA MỚIMột số từ khóa mới: delete catch class new friend inline protected operator private this public template virtual throw try• Nếu trong chương trình viết bằng C có tên trùng  thay đổi lại NIIT.vn
  9. 9. 2.3. KIỂU DỮ LIỆU CHAR VÀ INT+ Dữ liệu kiểu char: sizeof(„A‟)=sizeof(int)=2 sizeof(„A‟)=sizeof(char)=1 Trong C hằng kí tự có kiểu int 2 byte Trong C++ hằng kí tự có kiểu char 1 byte+ Dữ liệu kiểu Boolean: bool NIIT.vn
  10. 10. 2.4. KHAI BÁO BIẾNC++ cho phép khai báo biến:  Tại bất cứ đâu (cho phép khai báo biến trong vòng lập for)  Trước khi sử dụng Có hiệu lực trong phạm vi chương trình kể từ vị trí nó xuất hiện NIIT.vn
  11. 11. 2.5. CHUYỂN ĐỔI VÀ ÉP KIỂUC++ cho phép chuyển kiểu rộng rãi: 1. Khi gán giá trị số vào biến kiểu khác 2. Các kiểu số khác nhau trong cùng 1 biểu thức Ép kiểu kiểu cũ: myInt = (int) myFloat Ép kiểu kiểu mới: myInt = int (myFloat) NIIT.vn
  12. 12. 2.6. NHẬP XUẤT TRONG C++Dòng xuất, nhập dữ liệu: Cú pháp: cout<<bt1<<…<<btn; cin>>biến1>>biến..>>biếnn; Chú ý: Phải khai báo #include <iostream.h> Dùng cin.ignore(1) để bỏ kí tự ‘n’ NIIT.vn
  13. 13. 2.7. CẤP PHÁT VÀ GIẢI PHÓNG BỘ NHỚVẫn có thể dùng hàm malloc(), calloc(), free() C++ sử dụng thêm hai toán tử:  new: để cấp phát bộ nhớ Cú pháp: new tên_kiểu  delete: để giải phóng bộ nhớ Cú pháp: delete con_trỏ NIIT.vn
  14. 14. 2.8. BIẾN THAM CHIẾUKhái niệm:- Giống như một bí danh của biến khác- Cho phép hàm thao tác trực tiếp trên biến được truyền Cú pháp: Kiểu &Biếnthamchiếu = Biến; Ví dụ: int a, &x=a; x=1; // a=1 cout<<x; //in ra số 1 x++; //a=2 NIIT.vn a++; //a=3
  15. 15. 2.9. HẰNG THAM CHIẾUCú pháp: const Kiểu &hằngthamchiếu = Biến(hằng); Ví dụ: int n=10; const int &m = n; NIIT.vn
  16. 16. 2.10. HÀM ĐA NĂNG - OVERLOADING Là các hàm có cùng tên nhưng đối số khác nhau Khi gặp hàm này, trình biên dịch gọi hàm dựa vào: - Số lượng đối số - Kiểu của đối số NIIT.vn
  17. 17. 2.11. TOÁN TỬ ĐA NĂNG- Các toán tử có thể được đa năng hóa + - * / % ^ & | ~ ! = < > += -= *= /= %= ^= &= |= << >> >>= <<= == != <= >= && || ++ -- ->* , -> [] () new delete - Các toán tử không thể đa năng hóa . .* :: ?: Sizeof NIIT.vn
  18. 18. 2.12. HÀM NỘI TUYẾN - INLINE Là hàm sẽ được chèn trực tiếp tại các lời gọi hàm Có tác dụng giảm không gian bộ nhớ mà các hàm nhỏ chiếm chỗ, đồng thời cho phép các kỹ thuật tối ưu hóa Ví dụ: inline int max (int a, int b) { if (a > b) return a; else return b; } a = max (x, y); // hiện tương đương với "a = (x > y ? x : y);" NIIT.vn
  19. 19. 2.13. TOÁN TỬ PHẠM VI :: Là toán tử xác định hàm thành viên của một lớp, được xây dựng bên ngoài lớp; Cú pháp: Kiểu_trả_về Tên_lớp :: Tên_hàm(đốisố1, đốisố2...) Dùng để tham chiếu đến các biến toàn cục trong trường hợp biến toàn cục và biến cục bộ trùng tên Cú pháp: ::tên_biến_toàn_cục NIIT.vn
  20. 20. 2.14. CON TRỎ THIS Con trỏ this trỏ tới địa chỉ của đối tượng, qua this ta có thể truy cập các thành viên; Ta dùng this và toán tử -> để truy cập đến các thành viên của đối tượng ; Ví dụ: this->age; this->getdata(); NIIT.vn
  21. 21. BÀI TẬP 1. Nhập ma trận thực cấp mxn:- Tìm phần tử lớn nhất- Sắp xếp tăng dần- In ma trận sau khi đã sắp xếp 2. Tính: 2 n x x x S 1 ... 2 3 n 13. Xây dựng chương trình thao tác với phân số: nhập, in, tối giản, cộng, tích hai phân số NIIT.vn
  22. 22. BẠN ĐÃ HIỂU VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG? Bạn đã biết cần phải làm gì? NIIT.vn
  23. 23. GIẢI ĐÁP Mọi thắc mắc sẽ được giải đáp trong khóa học LẬP TRÌNH WEB VỚI JAVA/JSP/SERVLET tại Học viện NIIT INET Liên hệ: 0904 840 550 (Ms Mai) Email: maintn@inet.vn NIIT.vn

×