JavaScript is required

Phát biểu nào sau đây đúng nhất về 2 phương thức overriding?

A.

Cùng tên khác kiểu trả về

B.

Thuộc hai lớp có quan hệ kế thừa

C.

Cùng tên khác danh sách đối số

D.

Thuộc cùng một lớp

Trả lời:

Đáp án đúng: B


Overriding (ghi đè) là một khái niệm quan trọng trong lập trình hướng đối tượng, đặc biệt là trong các ngôn ngữ như Java, C++, và C#. Nó xảy ra khi một lớp con (subclass) định nghĩa lại một phương thức đã được định nghĩa trong lớp cha (superclass). Để overriding xảy ra, hai phương thức cần phải: 1. **Cùng tên:** Tên của phương thức trong lớp con phải giống hệt tên của phương thức trong lớp cha. 2. **Cùng danh sách tham số:** Danh sách tham số (số lượng, kiểu dữ liệu và thứ tự của các tham số) của phương thức trong lớp con phải giống hệt danh sách tham số của phương thức trong lớp cha. 3. **Cùng kiểu trả về (hoặc kiểu trả về là covariant):** Kiểu trả về của phương thức trong lớp con phải giống hệt kiểu trả về của phương thức trong lớp cha, hoặc là một kiểu covariant (trong Java 5 trở lên, kiểu trả về của phương thức ghi đè có thể là một lớp con của kiểu trả về của phương thức bị ghi đè). 4. **Quan hệ kế thừa:** Overriding chỉ có ý nghĩa khi hai lớp có quan hệ kế thừa (lớp con kế thừa từ lớp cha). Phân tích các phương án: * Phương án 1: "Cùng tên khác kiểu trả về" - Sai. Kiểu trả về thường phải giống nhau, hoặc là covariant. * Phương án 2: "Thuộc hai lớp có quan hệ kế thừa" - Đúng một phần, nhưng chưa đầy đủ. Điều này là điều kiện cần nhưng chưa đủ để định nghĩa overriding. * Phương án 3: "Cùng tên khác danh sách đối số" - Sai. Đây là đặc điểm của overloading (nạp chồng), không phải overriding. * Phương án 4: "Thuộc cùng một lớp" - Sai. Overriding chỉ xảy ra giữa các lớp có quan hệ kế thừa. Vì vậy, phương án đúng nhất phải bao gồm cả yếu tố kế thừa và các đặc điểm của phương thức.

Tổng hợp 350 câu hỏi trắc nghiệm môn lập trình mạng có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.


50 câu hỏi 60 phút

Câu hỏi liên quan