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 Thừa kế giúp người học nắm bắt các kiến thức: Tại sao cần đến thừa kế, các khái niệm, các kiểu thừa kế, thiết kế các lớp, khởi tạo lớp cha từ lớp con,. . | Bài giảng Kỹ thuật lập trình C/C++: Chương 10 - Lê Thành Sách (P3) Chương 10 Lập trình hướng đối tượng --Thừa kế-- Lê Thành Sách Trường Đại Học Bách Khoa Lập trình C/C++ Khoa Khoa học và Kỹ thuật Máy tính 1 © 2017 Nội dung n Tại sao cần đến thừa kế n Các khái niệm n Thừa kế là gì? n Các kiểu thừa kế n Thiết kế các lớp (I). n Khởi tạo lớp cha từ lớp con n Thiết kế các lớp (II). n Tổng kết Trường Đại Học Bách Khoa Lập trình C/C++ Khoa Khoa học và Kỹ thuật Máy tính 2 © 2017 Tại sao cần đến thừa kế n Giả sử một hệ thống phần mềm cho một trường đại học (Bách Khoa). Nhiều nhóm người dùng có thể dùng hệ thống này, họ có thể là: a) Giảng viên (lecturer) b) Sinh viên (student) c) Nhân viên văn phòng (clerk) d) Bảo vệ (guardian) e) Người dọn dẹp (cleaner) f) n Mỗi nhóm người dùng có những tính năng khác nhau, hệ thống xử lý dữ liệu với từng nhóm cũng khác nhau. n Giải pháp là gì để phầm mềm xử lý dữ liệu với từng nhóm người theo cách khác nhau? Trường Đại Học Bách Khoa Lập trình C/C++ Khoa Khoa học và Kỹ thuật Máy tính 3 © 2017 Tại sao cần đến thừa kế n (1) Tạo chung một cấu trúc “User”, cấu trúc này có trường thông tin “type”. Giải thuật xử lý có dạng: switch (type){ case STUDENT:{ //Xử lý, nếu là sinh viên } case LECTURER:{ //Xử lý, nếu là giảng viên } . }; Trường Đại Học Bách Khoa Lập trình C/C++ Khoa Khoa học và Kỹ thuật Máy tính 4 © 2017 Tại sao cần đến thừa kế n (1) Tạo chung một cấu trúc “User”, cấu trúc này có trường thông tin “type”. Giải thuật xử lý có dạng: n Nhược điểm: n Code dài dòng n Khó thay đổi n Khó mở rộng n Trường Đại Học Bách Khoa Lập trình C/C++ Khoa Khoa học và Kỹ thuật Máy tính 5 .