Danh mục

Bài giảng Kỹ thuật lập trình C/C++: Chương 10 (1) - Lê Thành Sách

Số trang: 117      Loại file: pdf      Dung lượng: 671.65 KB      Lượt xem: 9      Lượt tải: 0    
Thư viện của tui

Hỗ trợ phí lưu trữ khi tải xuống: 24,000 VND Tải xuống file đầy đủ (117 trang) 0
Xem trước 10 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng "Kỹ thuật lập trình C/C++ - Chương 10: Lập trình hướng đối tượng" phần cơ bản giúp người học nắm bắt các khái niệm cơ bản, các thuật ngữ, tính khả kiến, thiết kế lớp, hàm khởi tạo và hàm hủy, định nghĩa lại toán tử,... Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình C/C++: Chương 10 (1) - Lê Thành Sách Chương 10 Lập trình hướng đối tượng --Cơ bản-- Lê Thành SáchTrường Đại Học Bách Khoa Tp.HCM Lập trình C/C++Khoa Khoa học và Kỹ thuật Máy tính 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt© 2017 Nội dung n Kiểu dữ liệu trong C - Ôn lại n Các khái niệm cơ bản n Con trỏ this n Tổng hợp các thuật ngữ (I) n Tính khả kiến n Thiết kế lớp n Hàm khởi tạo và hàm huỷ n Định nghĩa lại toán tử n Thành viên có tính “static” n Thành viên có tính “const” n Tổng hợp các thuật ngữ (II) n Quan hệ bạn bè (friendship) n Tổ chức mã nguồn cho lớp n Biễu diễn lớp bằng sơ đồ n Tổng kếtTrường Đại Học Bách Khoa Tp.HCM Lập trình C/C++Khoa Khoa học và Kỹ thuật Máy tính 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt© 2017 Kiểu dữ liệu trong C n Xét đoạn chương trình typedef struct{ int day, month, year; Bộ biên dịch cấp phát 3 vùng nhớ có } Date; tên: a, d, và c trên STACK: int main(int argc, char** argv) { a: 4 bytes à dùng sizeof(.) cho cụ thể. int a; d: 8 bytes double d; c: 12 bytes Date c = {20, 5, 2017}; Cả 3 vùng nhớ này đều THỤ ĐỘNG, return 0; CHỈ CÓ CÔNG NĂNG LÀ CHỨA các giá } trị của kiểu được mô tả.Trường Đại Học Bách Khoa Tp.HCM Lập trình C/C++Khoa Khoa học và Kỹ thuật Máy tính 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt© 2017 Kiểu dữ liệu trong C typedef struct{ int day, month, year; } Date; void print(Date& d){ cout Kiểu dữ liệu trong C typedef struct{ int day, month, year; } Date; void print(Date& d){ cout Kiểu dữ liệu trong C n Nhược điểm là gì? n Khó biết được dữ liệu có thể được xử lý bởi hàm nào. n Khó đảm bảo ràng buộc trên dữ liệu, ví dụ: n Ngày: 1 à 31 (tuỳ tháng, tối đa) n Tháng: 1 à 12 Chỉ cần tính chất về “đóng gói” (enscapsulation) của lập trình hướng đối tượng (OOP) đã giải quyết những vấn đề trên. Hơn nữa, ngoài tính “đóng gói”, OOP còn cung cấp những tính năng hay khác nữa mà ngôn ngữ C không có.Trường Đại Học Bách Khoa Tp.HCM Lập trình C/C++Khoa Khoa học và Kỹ thuật Máy tính 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt© 2017 Khái niệm cơ bản n (Q.1) Lớp (class): n Là một kiểu dữ liệu do người lập trình tạo ra. n Quan niệm: Lớp như cái khuôn để từ đó tạo ra các đối tượng như nói sau. n (Q.2) Đối tượng (object, instance): n Là một biến tạo ra từ kiểu lớp. n Ví dụ: n Giả sử đã có lớp MyClass n Dòng: MyClass c; n Sẽ tạo ra một đối tượng, đặt tên là “c”, nghĩa là một vùng nhớ có tên là “c”.Trường Đại Học Bách Khoa Tp.HCM Lập trình C/C++Khoa Khoa học và Kỹ thuật Máy tính 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt© 2017 Khái niệm cơ bản n (Q.3) Mô tả lớp có gì khác mô tả một cấu trúc trong C (struct) n Khi mô tả kiểu này, cần mô tả n Các dữ liệu mà một đối tượng của lớp có. n Các hàm (phương thức) có thể thực thi với đối tượng của lớp. n Những hành động mà một đối tượng của lớp đó có thể thực hiện à tính chủ động của đối tượng (không chỉ là vùng nhớ thụ động) Với kiểu struct (của C): Mô tả kiểu này không có mô tả hàm/phương thức như kiểu lớp!Trường Đại Học Bách Khoa Tp.HCM Lập trình C/C++Khoa Khoa học và ...

Tài liệu được xem nhiều: