JavaScript is required

Hàm thành viên của lớp khác hàm thông thường là:

A.

Hàm thành viên của lớp phải được khai báo bên trong lớp và được gọi nhờ tên đối tượng hay tên lớp còn hàm thông thường thì không.

B.

Hàm thành viên của lớp thì phải được khai báo và xây dựng bên trong lớp còn hàm thông thường thì không.

C.

Hàm thành viên của lớp thì phải khai báo bên trong lớp với từ khóa friends và xây dựng bên ngoài lớp.

D.

Hàm thành viên của lớp và hàm thông thường không có gì khác gì nhau.

Trả lời:

Đáp án đúng: A


Hàm thành viên (method) của một lớp khác với hàm thông thường (function) ở những điểm sau: * **Phạm vi:** Hàm thành viên được định nghĩa bên trong lớp và thuộc về lớp đó. Hàm thông thường được định nghĩa bên ngoài lớp và không thuộc về lớp nào. * **Cách gọi:** Hàm thành viên được gọi thông qua một đối tượng của lớp hoặc thông qua tên lớp (đối với hàm thành viên tĩnh). Hàm thông thường được gọi trực tiếp bằng tên của nó. * **Quyền truy cập:** Hàm thành viên có thể truy cập các thành viên dữ liệu (data members) của lớp, bao gồm cả các thành viên private (với một số điều kiện). Hàm thông thường không có quyền truy cập trực tiếp vào các thành viên dữ liệu của lớp. * **Từ khóa `this`:** Bên trong một hàm thành viên không tĩnh, có một con trỏ `this` ẩn trỏ đến đối tượng mà hàm thành viên đó được gọi. Hàm thông thường không có con trỏ `this`. * **Tính chất đa hình:** Hàm thành viên có thể được ghi đè (override) trong các lớp con (subclass), cho phép tính đa hình (polymorphism). Hàm thông thường không có tính chất này. **Phân tích các đáp án:** * **A. Đúng.** Hàm thành viên phải được khai báo bên trong lớp và được gọi thông qua đối tượng hoặc tên lớp. Hàm thông thường thì không. * **B. Sai.** Hàm thành viên có thể được khai báo bên trong lớp và định nghĩa (xây dựng) bên ngoài lớp (sử dụng toán tử `::`). * **C. Sai.** Từ khóa `friend` được sử dụng để cho phép một hàm hoặc lớp không phải là thành viên của lớp có quyền truy cập vào các thành viên private và protected của lớp. Nó không liên quan đến việc định nghĩa hàm thành viên. * **D. Sai.** Hàm thành viên và hàm thông thường có nhiều điểm khác biệt quan trọng như đã giải thích ở trên. Vậy đáp án đúng là A.

Câu hỏi liên quan