
Bài giảng Ôn tập Lập trình hướng đối tượng (OOP)
lượt xem 33
download

Bài giảng Ôn tập Lập trình hướng đối tượng (OOP) sau đây bao gồm những nội dung về C++ vs. C; khai báo lớp; toán tử; kế thừa đa hình và đóng gói; sơ đồ lớp theo UML; Template. Mời các bạn tham khảo bài giảng để bổ sung thêm kiến thức về lĩnh vực này.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Ôn tập Lập trình hướng đối tượng (OOP)
- LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (OOP) ÔN TẬP
- NỘI DUNG • C++ vs. C • Khai báo lớp • Toán tử • Kế thừa Đa hình và đóng gói • Sơ đồ lớp theo UML • Template • Các khái niệm: public, protected, private, tính đóng gói và che dấu thông tin, static, overload, override, lớp cơ sở trừu tượng, phương thức thuần ảo, phương thức khởi tạo, hủy, truy vấn, xử lý… 11/28/15 Ôn Tập Lập Trình Hướng Đối 2 of 15 Tượng
- C++ vs. C • Hai sự mở rộng của C++ so với C: – Sự mở rộng thứ nhất: xuất nhập chuẩn, tham chiếu, chồng hàm và toán tử new và delete – Sự mở rộng thứ hai: hỗ trợ lập trình hướng đối tượng • Kế thừa: lớp con được thừa huởng tất cả từ lớp cha. • Đa hình: dùng phương thức ảo • Đóng gói: sử dụng các phạm vi truy xuất protected và private để che dấu thông tin và các chi tiết cài đặt. 11/28/15 Ôn Tập Lập Trình Hướng Đối 3 of 15 Tượng
- Khai báo lớp PhanSo PhanSo::operator + (PhanSo b) const { class PhanSo { return PhanSo(tu*b.mau + mau*b.tu, mau*b.mau); long tu, mau; } void UocLuoc(); public: PhanSo(long t = 0, long m = 1) {SetTu(t);SetMau(m)} void setTu(long t); long getTu() const{return tu;} void setMau(long m); long getMau() const{return mau;} PhanSo operator + (PhanSo ps1) const; friend PhanSo operator - (PhanSo ps1, PhanSo ps2) const; PhanSo operator -() const {return PhanSo(-tu,mau);} friend istream& operator >> (istream &is, PhanSo &p); friend ostream& operator
- Khai báo lớp class String { char *p; public: String(char *s = "") {p = strdup(s);} String(const String &s) {p = strdup(s.p);} ~String() {delete [] p;} String & operator = (const String &s); void Output() const {cout
- Toán Tử • Toán tử > phải khai báo dạng hàm toàn cục. • Ép kiểu: dùng phương thức thiết lập hoặc toán tử chuyển kiểu. 11/28/15 Ôn Tập Lập Trình Hướng Đối 6 of 15 Tượng
- Kế thừa và đa hình class Nguoi { protected: char *HoTen; int NamSinh; public: Nguoi(char *ht, int ns):NamSinh(ns) {HoTen = strdup(ht);} ~Nguoi() {delete [] HoTen;} void An() const { cout
- Kế thừa và đa hình class CongNhan : public Nguoi { protected: double MucLuong; public: CongNhan(char *n, double ml, int ns) : Nguoi(n,ns), MucLuong(ml) { } void Xuat() const { cout
- Kế thừa và đa hình class SinhVien : public Nguoi { protected: char *MaSo; public: SinhVien(char *n, char *ms, int ns) : Nguoi(n,ns) { MaSo = strdup(ms);} ~SinhVien() {delete [] MaSo;} void Xuat() const { cout
- Kế thừa và đa hình void XuatDs(int n, Nguoi *an[]) { for (int i = 0; i < n; i++) { an[i]->Xuat(); cout
- Sơ đồ lớp UML • Xác định các lớp: – Tên lớp – Thuộc tính – Phương thức – Tầm vực của các thuôc tính và phương thức • Xác định mối quan hệ giữa các lớp – Kết hợp: “has a” – Tổng quát hóa: “is a” – Phụ thuộc – Realization – Bản số 11/28/15 Ôn Tập Lập Trình Hướng Đối 11 of 15 Tượng
- Phân tích sơ đồ lớp • Lớp: – Tên lớp – Thuộc tính – Phương thức 11/28/15 Ôn Tập Lập Trình Hướng Đối 12 of 15 Tượng
- Sơ đồ lớp UML SavingAcount is a kind of Account. Mối quan hệ tổng quát hóa CurrentAccount is also a kind of Account. Mối quan hệ tổng quát hóa Account has a (contains) number of Transaction. Mối quan hệ cấu thành Composition 11/28/15 Ôn Tập Lập Trình Hướng Đối 13 of 15 Tượng
- Template • Hai loại khuôn mẫu cơ bản: – Function template – khuôn mẫu hàm cho phép định nghĩa các hàm tổng quát dùng đến các kiểu dữ liệu tuỳ ý – Class template – khuôn mẫu lớp cho phép định nghĩa các lớp tổng quát dùng đến các kiểu dữ liệu tuỳ ý • Ba loại tham số của template: – Tham số chỉ ra kiểu dữ liệu tùy ý. • template – Tham số là kiểu dữ liệu thật sự • template – Tham số là một template • template< typename Key, typename Value, template Container> 11/28/15 Ôn Tập Lập Trình Hướng Đối 14 of 15 Tượng
- Template template template class Stack { public: void swap(T & a, T & b) { Stack(); T temp; ~Stack(); temp = a; a = b; b = void push(const T& i); temp; void pop(T& i); } bool isEmpty() const; template< typename Key, typename Value, bool isFull() const; template private: Container> static const int max = M; class Map { ... T contents[max]; private: int current; Container keys; }; Container values; ... }; 11/28/15 Ôn Tập Lập Trình Hướng Đối 15 of 15 Tượng

CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Ôn tập Lập trình hướng đối tượng - GV. Dương Khai Phong
41 p |
479 |
78
-
Bài giảng Cơ sở lập trình nâng cao - ĐH Ngoại Ngữ TP.HCM
337 p |
110 |
19
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 1: Ngôn ngữ lập trình C) - Chương 1: Ôn tập một số nội dung chính của NNLT C
31 p |
177 |
13
-
Bài giảng Ngôn ngữ lập trình C: Vòng lặp - TS. Ngô Hữu Dũng
48 p |
112 |
11
-
Bài giảng Ôn tập ngôn ngữ C
38 p |
77 |
11
-
Bài giảng Kỹ thuật lập trình: Chương 4 - Trần Minh Thái, Phạm Đức Thành
68 p |
121 |
11
-
Bài giảng Kỹ thuật lập trình: Chương 6 - Trần Minh Thái
35 p |
83 |
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 |
117 |
6
-
Bài giảng Kỹ thuật lập trình: Chương 1 - Trần Thị Kim Chi
81 p |
57 |
5
-
Bài giảng Ngôn ngữ lập trình C: Chương 1 - Ôn tập một số nội dung chính của ngôn ngữ lập trình C
31 p |
104 |
5
-
Bài giảng Phương pháp lập trình hướng đối tượng: Ôn tập giữa kỳ
10 p |
112 |
5
-
Bài giảng Kỹ thuật lập trình: Tập tin - Trịnh Tấn Đạt
42 p |
65 |
4
-
Bài giảng Ngôn ngữ lập trình: Tổng quan môn học
6 p |
93 |
3
-
Bài giảng Kỹ thuật lập trình: Ôn tập - Trịnh Tấn Đạt
56 p |
47 |
3
-
Bài giảng Kỹ thuật lập trình nâng cao: Chương 3 - Trần Minh Thái
14 p |
39 |
3
-
Bài giảng Kỹ thuật lập trình: Chuỗi ký tự - Trịnh Tấn Đạt
62 p |
71 |
2
-
Bài giảng Kỹ thuật lập trình nâng cao: Chương 4 - Trần Minh Thái
11 p |
28 |
2


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
