Ngày 1: Chủ điểm OOP – Đa hình (Polymorphism).
Đa hình là khái niệm quan trọng trong Lập trình hướng đối tượng, cho phép ta cải tạo lại phương thức của lớp cha trong lớp con hoặc có thể coi đó là khả năng thực hiện một công việc bằng nhiều cách khác nhau.
Ví dụ: Giả sử ta có hai lớp: LopCha và LopCon. LopCha có phương thức doSomething(), và LopCon kế thừa từ LopCha cũng có phương thức doSomething(), nhưng với nội dung và chức năng khác nhau. Khi tạo một đối tượng của lớp con và gọi phương thức doSomething() thông qua đối tượng này, phương thức của lớp con sẽ được ưu tiên gọi, đây chính là cơ chế đa hình.
Trường hợp đặc biệt: Việc sử dụng đa hình giúp cho việc bảo dưỡng và nâng cấp hệ thống trở nên dễ dàng hơn bởi vì chúng ta chỉ cần thay đổi code ở một nơi duy nhất. Đa hình cũng giúp ích trong việc tái sử dụng code và làm cho code trở nên dễ đọc hơn.
Ôn tập phỏng vấn:
1. Đa hình là gì?
– Đa hình là một tính chất của lập trình hướng đối tượng, cho phép thực hiện cùng một hành động theo nhiều cách.
2. Trình bày ví dụ về đa hình?
– Ví dụ, một người có thể được xem là một nhân viên, một người mẹ, hoặc một người vợ dựa vào ngữ cảnh hiện tại. Đây chính là đa hình trong đời thực.
3. Đa hình có ý nghĩa gì trong lập trình?
– Đa hình giúp làm cho code linh hoạt và dễ mở rộng hơn.
4. Trình bày ưu và nhược điểm của việc sử dụng đa hình?
– Ưu điểm: giúp tái sử dụng code, code dễ đọc và bảo dưỡng hơn.
– Nhược điểm: cần thận trọng khi ghi đè phương thức để tránh lỗi không mong muốn.
5. Phương pháp đa hình cũng có thể được sử dụng chung với các phương pháp OOP khác như kế thừa và gói (encapsulation)?
– Có, kế thừa và gói đóng hay đóng gói là hai tính đặc trưng khác của OOP và chúng thường sẽ được sử dụng cùng với đa hình để làm cho chương trình linh hoạt, dễ quản lý hơn.