Hãy giải thích và cho ví dụ minh họa các khái niệm tính trừu tượng (Abstraction), Tính bao bọc (Encapsulation) của lập trình hướng đối tượng.
Đáp án đúng:
Tính trừu tượng (Abstraction) là việc ẩn đi các chi tiết phức tạp và chỉ hiển thị những thông tin cần thiết.
Ví dụ, khi lái xe, bạn không cần biết động cơ hoạt động thế nào, bạn chỉ cần biết cách điều khiển vô lăng, phanh, ga.
Tính bao bọc (Encapsulation) là việc đóng gói dữ liệu và phương thức vào trong một đơn vị (class) và bảo vệ dữ liệu khỏi sự truy cập trực tiếp từ bên ngoài.
Ví dụ, một lớp 'Ngân hàng' có thuộc tính 'số dư' được bảo vệ và chỉ có thể truy cập thông qua các phương thức 'gửi tiền' và 'rút tiền'.
Đề thi cuối kỳ môn Lập Trình Hướng Đối Tượng của Đại học Quốc gia TP.HCM, Trường ĐH Công nghệ Thông tin, Khoa Công nghệ Phần mềm. Đề thi gồm các câu hỏi về giải thích các khái niệm OOP (trừu tượng, bao bọc, kế thừa, đa hình), thiết kế lớp biểu diễn đơn thức và xây dựng hệ thống quản lý thư viện trường học với các loại sách khác nhau.