Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 44 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
44
Dung lượng
1,39 MB
Nội dung
GIỚI THIỆU MÔN HỌC LẬPTRÌNH HƯỚNG ĐỐI TƯỢNG - Thời lượng 30 tiết lý thuyết (2 chỉ), 30 tiết thực hành (1 chỉ) - Thi cuối kỳ lý thuyết: Trắc nghiệm (100%) - thực hành: làm bài tập lớn + báo cáo+ điểm danh (100%) -Tàiliệu tham khảo: 1. Lậptrình hướng đối tượng với C++, Lê Đăng Hưng, Tạ Tuấn Anh… 2. C how to program, Deitel, International edition, Prentice Hall, 2004 GIỚI THIỆU MÔN HỌC LẬPTRÌNH HƯỚNG ĐỐI TƯỢNG - Nội dung môn học 1. Lậptrình hướng đối tượng – các khái niệm cơ bản 2. Các mở rộng của C++ so với C 3. Đối tượng và lớp 4. Định nghĩa toán tử trên lớp 5. Kỹ thuật thừa kế 6. Khuôn hình CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN 1. LẬPTRÌNH HƯỚNG ĐỐI TƯỢNG VÀ LẬPTRÌNH CẤU TRÚC Lậptrình cấu trúc: Chương trình = Cấu trúc dữ liệu + giải thuật Lậptrình hướng đối tượng (Object oriented programming) Đặt trọng tâm vào đối tượng CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN 1. LẬPTRÌNH HƯỚNG ĐỐI TƯỢNG VÀ LẬPTRÌNH CẤU TRÚC Các đặc điểm của lậptrình hướng đối tượng: - Tập trung vào dữ liệu thay cho các hàm - Chương trình được chia thành các đối tượng - Cấu trúc dữ liệu được thiết kế sao cho đặc tả được đối tượng - Các hàm thao tác trên các vùng dữ liệu của đối tượng được gắn với cấu dữ liệu đó - Dữ liệu được đóng gói lại, được che giấu và không cho phép các hàm ngoại lại truy nhập tự do - Các đối tượng tác động và trao đổi thông tin với nhau qua các hàm - Có thể dể dàng bổ sung dữ liệu và các hàm mới vào đối tượng nào đó khi cần thiết - Chương trình được thiết kế theo cách tiếp cận từ dưới lên CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN 1.LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VÀ LẬPTRÌNH CẤU TRÚC Đối tượng (object) - Đối tượng là sự kết hợp giữa dữ liệu và phương thức - method (thủ tục, hàm) thao tác trên dữ liệu đó Đối tượng = dữ liệu + phương thức Lớp (class) - Lớp là một tập các đối tượng có cấu trúc dữ liệu và các phương thức giống nhau. Một đối tượng là một thể hiện cụ thể (instance) của một lớp. -Tronglậptrình ta có thể coi lớp như một kiểu dữ liệu, các đối tượng là biến có kiểu của lớp Đóng gói - Đóng gói về chức năng: sử dụng các hàm hay thủ tục mà không cần biết đến nội dung bên trong nó, người dùng chỉ cần biết chức năng và các tham số cần truyền vào để gọi hàm - Đóng gói dữ liệu: với mỗi đối tượng người dùng không thể truy cập trực tiếp vào các thành phần dữ liệu của nó mà phải thông qua các phương thức CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN 1.LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VÀ LẬPTRÌNH CẤU TRÚC Thừa kế (inheritance) Kế thừa tronglậptrình hướng đối tượng cho phép định nghĩa một lớp mới trên cơ sở lớp đã tồn tại và bổ sung thêm các phương thức hay thành phần dữ liệu mới Đa hình (polymorphime) Các đối tượng khác nhau ứng xử với cùng một hành vi là khác nhau Ví dụ: - việc đi của xe đạp và xe hơi - Tính diện tích của tam giác và đa giác CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN 1.LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VÀ LẬPTRÌNH CẤU TRÚC Các ưu điểm của LTHĐT - Tính thừa kế - Xây dựng phần mềm theo quy trình không còn dựa chủ yếu vào kinh nghiệm -> rút ngắn thời gian, tăng năng suất - Tính đóng gói tăng tính an toàn - Ánh xạ các đối tượng từ thế giới thực vào chương trình- Cách tiếp cận theo HĐT dể dàng cài đặt - Dể mở rộng và nâng cấp - Thuận tiện mô tả giao tiếp giữa hệ thống với thế giới bên ngoài - Quản lý được độ phức tạp của chương trình CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN 2. CÁC NGÔN NGỮ LẬPTRÌNH HƯỚNG ĐỐI TƯỢNG Các ưu điểm của LTHĐT - Tính thừa kế - Xây dựng phần mềm theo quy trình không còn dựa chủ yếu vào kinh nghiệm -> rút ngắn thời gian, tăng năng suất - Tính đóng gói tăng tính an toàn - Ánh xạ các đối tượng từ thế giới thực vào chương trình- Cách tiếp cận theo HĐT dể dàng cài đặt - Dể mở rộng và nâng cấp - Thuận tiện mô tả giao tiếp giữa hệ thống với thế giới bên ngoài - Quản lý được độ phức tạp của chương trình CHƯƠNG 2: NHỮNG MỞ RỘNG CỦA C++ 1. CÁC ĐIỂM KHÔNG TƯƠNG THÍCH GIỮA C++ VÀ ANSI C 1.2 Khai báo hàm nguyên mẫu - Tronc C chỉ cần khai báo tên hàm và giá trị trả về, không cần danh sách kiểu của các tham số -C++ khai báo hàm nguyên mẫu Với C++ một lời gọi hàm chỉ được chấp nhận khi trình biên dịch biết được kiểu của các tham số, kiểu của giá trị trả về CHƯƠNG 2: NHỮNG MỞ RỘNG CỦA C++ 1. CÁC ĐIỂM KHÔNG TƯƠNG THÍCH GIỮA C++ VÀ ANSI C 1.2 Khai báo hàm nguyên mẫu Chuyển kiểu tự động theo nguyên tắc sau: char -> int ->longint -> float ->double Ví dụ: double ham(int , double) /* khai báo hàm ham*/ …. main() { int n; char c; double x, x1, x2,x3; x1=ham(n,x); /* không có chuyển đổi kiểu*/ x2=ham(c,x); /* có chuyển đổi kiểu từ char->int*/ x3=ham(x,n); /* có chuyển đổi kiểu từ double ->int và từ int thành double */ …. [...]... RỘNG CỦA C++ 2 CÁC KHẢ NĂNG RA VÀO MỚI CỦA C++ 2.2 Đọc dữ liệu từ thiết bị chuẩn cin Ví dụ 1: int n; cin>>n; Ví dụ 2: int n ; float p ; char c ; cin>>c>>n>>p ; Dùng toán từ >> để nhập dữ liệu cho các kiểu char, int, float, double và char* CHƯƠNG 2: NHỮNG MỞ RỘNG CỦA C++ 2 CÁC KHẢ NĂNG RA VÀO MỚI CỦA C++ 2.2 Đọc dữ liệu từ thiết bị chuẩn cin Giống với hàm scanf(), cin tuân theo một số qui ước dùng trong. .. NHỮNG MỞ RỘNG CỦA C++ 3 NHỮNG TIỆN ÍCH CHO NGƯỜI LẬPTRÌNH 3.1 Ghi chú thích cuối dòng C++ dùng // để chỉ ra một dòng là chú thích Ví dụ cout . C U TR C C c đ c điểm c a lập trình hướng đối tượng: - Tập trung vào dữ liệu thay cho c c hàm - Chương trình đư c chia thành c c đối tượng - C u tr c dữ liệu đư c thiết kế sao cho đ c tả đư c. C A C+ + 1. C C ĐIỂM KHÔNG TƯƠNG THÍCH GIỮA C+ + VÀ ANSI C 1.3 Sự tương thích giữa con trỏ void và c c con trỏ kh c Trong ANSI C, kiểu void tương thích với c c kiểu con trỏ kh c cả hai chiều Ví dụ: void. gọi hàm chỉ đư c chấp nhận khi trình biên dịch biết đư c kiểu c a c c tham số, kiểu c a giá trị trả về CHƯƠNG 2: NHỮNG MỞ RỘNG C A C+ + 1. C C ĐIỂM KHÔNG TƯƠNG THÍCH GIỮA C+ + VÀ ANSI C 1.2 Khai