Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
535 KB
Nội dung
LAÄP TRÌNH HÖÔÙNG ÑOÁI TÖÔÏNG 07/06/13 Lập Trình Hướng Đối Tượng Slide 2 Tóm tắt nội dung môn học Phần 1: Giới thiệu Phần 2: Các khái niệm cơ bản Phần 3: Lớp và đối tượng Phần 4: Kỹ thuật thừa kế và tính đa hình Phần 5: Thiết kế chương trình hướng đối tượng Phần 6: Khuôn mẫu (template) Phần 7: Luồng nhập xuất Phần 8: Cacù mẫu thiết kế hướng đối tượng 07/06/13 Lập Trình Hướng Đối Tượng Slide 3 Tài liệu tham khảo Stroustrup, Bjarne. The C++ Programming Language, 3rd Ed. Dietel & Dietel. C++ How to Program, 3rd Ed. 2003 Eckel, Bruce. Thinking in C++, 2nd Ed. Vol 1. Vol.2. Nguyễn Thanh Thủy …, Lập trình hướng đối tượng với C++. NXB Khoa học kỹ thuật. Gamma: Design Patterns. Addison-Wesley, 1998. LAP TRèNH HệễNG ẹOI TệễẽNG Chửụng 1: Giụựi thieọu 07/06/13 Lập Trình Hướng Đối Tượng Slide 5 C++ và C Sự mở rộng thứ nhất của C++ so với C Hàm xuất/nhập chuẩn Tham chiếu Chồng hàm, Tham số có giá trò ngầm đònh Toán tử cấp phát và giải phóng vùng nhớ động Sự mở rông thứ hai của C++ so với C là hỗ trợ lập trình hướng đối tượng 07/06/13 Lập Trình Hướng Đối Tượng Slide 6 Haøm cin/cout/cerr #include <iostream.h> void main() { int n; double d; char s[100]; cout << “Input an int, a double and a string.”; cin >> n >> d >> s; cout << “n = “ << n << “\n”; cout << “d = “ << d << “\n”; cout << “s = “ << s << “\n”; } 07/06/13 Lập Trình Hướng Đối Tượng Slide 7 Tham chiếu Tham chiếu là đòa chỉ vùng nhớ được cấp phát cho một biến. Ký hiệu & đặt trước biến hoặc hàm để xác đònh tham chiếu của chúng Ví dụ 1: int x = 10, *px = &x, &y = x; *px = 20; // *px = x = y = 20 y = 30; // y = x = *px = 30 Ví dụ 2: int arrget(int *a, int i) { return a[i]; } arrget(a, 1) = 1; // a[1] = 1; cin >> arrget(a,1); // cin >> a[1]; Ví dụ 3: void swap1(int x, int y) { int t = x; x = y; y = t; } void swap2(int *x, int *y) { int *t = x; x = y; y = t; } void swap3(int &x, int &y) { int t = x; x = y; y = t; } 07/06/13 Lập Trình Hướng Đối Tượng Slide 8 Choàng haøm (Functions overloading ) int abs(int i); long labs(long l); double fabs(double d); int abs(int i); long abs(long l); double abs(double d); int abs(int i) { return abs(i);} long abs(long l) { return labs(l);} double abs(double d) { return fabs(d);} void test_abs() { int i = abs(10);// abs(int ) long l = abs(-10l); // abs(long ) double = abs(0.1l); // abs(double ) } 07/06/13 Lập Trình Hướng Đối Tượng Slide 9 Tham số ngầm đònh trong lời gọi hàm void inc(int &a, int b = 1) { a = a + b; } int x = 5, y = 10; inc(x, 10); // x = x + 10 inc(y); // y = y + 1 Chú ý: Các tham số có giá trò ngầm đònh phải đặt cuối danh sách tham số, để tránh nhầm lẫn các giá trò. Các giá trò ngầm đònh của tham số chỉ được khai báo trong khuôn mẫu hàm 07/06/13 Lập Trình Hướng Đối Tượng Slide 10 Toán tử quản lý bộ nhớ động Toán tử cấp phát bộ nhớ động new int *x; x = new int; // x = (int*)malloc(sizeof(int)); char *y; y = new char[100]; // y = (char*)malloc(100); Toán tử giải phóng vùng nhớ động delete delete x; // free(x); delete y; // free(y); [...]... hướng đối tượng OOM (Object Oriented Methodology): Phương pháp luận hướng đối tượng OOA (Object Oriented Analysis): Phân tích hướng đối tượng OOD: Object Oriented Design (Thiết kế hướng đối tượng) OOP: Object Oriented Programming (lập trình hướng đối tượng) Inheritance: Kế thừa Polymorphism: Đa hình Encapsulation: Tính đóng gói 07/06/13 Lập Trình Hướng Đối Tượng Slide 25