Cách tạo hàm hủy trong PHP mcq

Bộ sách Lập trình hướng đối tượng (OOPs) sử dụng C++ Multiple Choice Questions & Answers (MCQs) này tập trung vào “Destructors”

1. Câu nào sau đây mô tả một hàm hủy?
a) Một hàm đặc biệt được gọi để giải phóng tài nguyên mà đối tượng có được
b) Một hàm đặc biệt đó là
c) A special function that is called anytime to delete an object
d) A special function that is called to delete all the objects of a class
View Answer

Trả lời. a
Giải thích. Nó được sử dụng để giải phóng các tài nguyên mà đối tượng có thể đã sử dụng trong vòng đời của nó. Các hàm hủy được gọi ngầm bất cứ khi nào tuổi thọ của một đối tượng kết thúc.

2. Khi nào hàm hủy được gọi?
a) Sau khi kết thúc vòng đời của đối tượng
b) Bất cứ lúc nào trong khoảng thời gian giữa vòng đời của đối tượng
c)
d) Just before the end of object life
View Answer

Trả lời. d
Giải thích. Hàm hủy được gọi ngay trước khi đối tượng ra khỏi phạm vi hoặc ngay trước khi vòng đời của nó kết thúc. Điều này được thực hiện để đảm bảo rằng tất cả các tài nguyên dành riêng cho đối tượng được sử dụng và cuối cùng, được cung cấp miễn phí cho những người khác.

3. Điều nào sau đây đúng đối với hàm hủy của lớp trừu tượng?
a) Nó không có hàm hủy
b) Nó có hàm hủy
c) It may or may not have destructors
d) It contains an implicit destructor
View Answer

Trả lời. a
Giải thích. Nó không có hàm hủy. Vì một lớp trừu tượng không có hàm tạo và do đó không thể có thể hiện. Gặp trường hợp này, các lớp trừu tượng cũng không có hàm hủy, vì điều đó sẽ không có ích gì ở đây.

Ghi chú. Tham gia các lớp học Sanfoundry miễn phí tại Telegram hoặc Youtube

quảng cáo

quảng cáo

4. Nếu trong đa kế thừa, lớp C kế thừa lớp B và lớp B kế thừa lớp A. Các hàm hủy của chúng được gọi theo thứ tự nào nếu một đối tượng của lớp C được khai báo?
a) ~C() rồi ~B() rồi ~A()
b) ~B() then ~C() then ~A()
c) ~A() then ~B() then ~C()
d) ~C() then ~A() then ~B()
View Answer

Trả lời. a
Giải thích. Hàm hủy luôn được gọi theo thứ tự ngược lại với cách gọi hàm tạo. Ở đây hàm tạo lớp A sẽ được tạo trước nếu đối tượng Lớp C được khai báo. Do đó, hàm hủy lớp A được gọi cuối cùng.

5. Chọn đúng trình tự các hàm hủy được gọi cho đoạn mã sau

Làm bài kiểm tra mô phỏng lập trình hướng đối tượng - Chapterwise.
Bắt đầu thử nghiệm ngay. Chương 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

class A{   };
class B{   };
class C: public A, public B{   };

a) ~A(), ~B(), ~C()
b) ~B(), ~C(), ~A()
c) ~A(), ~C(), ~B()
d) ~C(), ~B(), ~A()
View Answer

Trả lời. d
Giải thích. Trong đa kế thừa, các hàm tạo được gọi theo trình tự cách chúng được viết trong trình tự kế thừa. Và các hàm hủy sẽ được gọi theo thứ tự ngược lại. Điều này có thể được xác minh chéo chỉ bằng cách in một thông báo từ mỗi hàm hủy được xác định trong các lớp.

quảng cáo

6. Hàm hủy của đối tượng toàn cục được gọi khi nào?
a) Ngay trước khi kết thúc chương trình
b) Ngay sau khi kết thúc chương trình
c) With the end of program
d) Anytime when object is not needed
View Answer

Trả lời. a
Giải thích. Điều này là do tuổi thọ của đối tượng toàn cục là từ khi bắt đầu chương trình cho đến khi kết thúc chương trình. Và do đó kết thúc chương trình cũng là kết thúc của đối tượng toàn cầu. Ngay trước khi kết thúc chương trình, hàm hủy sẽ được gọi để giải phóng tài nguyên thu được bởi các đối tượng.

7. Làm thế nào để phân biệt hàm tạo và hàm hủy?
a) Hàm hủy có kiểu trả về nhưng hàm tạo thì không
b) Trình hủy không thể định nghĩa hàm hủy
c) Destructors are preceded with a tilde (~) symbol, and constructor doesn’t
d) Destructors are same as constructors in syntax
View Answer

Trả lời. c
Giải thích. Các hàm hủy được đặt trước ký hiệu dấu ngã (~). Tên giống tên của lớp. Chúng cũng không có bất kỳ kiểu trả về nào.

quảng cáo

8. Hàm hủy không chấp nhận tham số.
a) Đúng
b) Sai
Xem câu trả lời

Trả lời. a
Giải thích. Các hàm hủy không chấp nhận các đối số. Chúng chỉ được sử dụng để giải phóng tài nguyên.

9. Hàm hủy có thể là ________
a) Loại trừu tượng
b) Ảo
c) Vô hiệu
d) Any type depending on situation
View Answer

Trả lời. b
Giải thích. Các hàm hủy có thể là ảo. Nó thực sự được khuyên nên luôn luôn giữ cho các hàm hủy ảo. Điều này được thực hiện để loại bỏ các vấn đề có thể phát sinh nếu có liên quan đến thừa kế.

10. Các hàm hủy toàn cầu thực thi theo thứ tự ___________ sau khi chức năng chính bị chấm dứt.
a) Tuần tự
b) Ngẫu nhiên
c) Đảo ngược
d) Tùy thuộc vào mức độ ưu tiên
View Answer

Trả lời. c
Giải thích. Các hàm hủy luôn được gọi theo thứ tự ngược lại bất kể đó là hàm hủy nào. Điều này được thực hiện để đảm bảo rằng tất cả các tài nguyên đều có thể nhận được miễn phí. Và không có tài nguyên nào được giữ bận rộn.

11. Khi nào nên sử dụng hàm hủy do người dùng định nghĩa?
a) Khi lớp chứa một số con trỏ tới bộ nhớ được cấp phát trong lớp
b) Khi lớp chứa các biến tĩnhb)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)b)
c) When a class contains static functions
d) When a class is inheriting another class only
View Answer

Trả lời. a
Giải thích. Điều này luôn được khuyên nên có hàm hủy do người dùng xác định khi con trỏ có liên quan đến lớp. Điều này thường được thực hiện để đảm bảo rằng bộ nhớ được cấp phát động sẽ được giải phóng sau khi sử dụng và không gây rò rỉ bộ nhớ.

12. Điều nào sau đây đúng với khái niệm hàm hủy?
a) Hàm hủy có thể bị quá tải
b) Hàm hủy chỉ có thể có tối đa một tham số
c) Destructors are always called after object goes out of scope
d) There can be only one destructor in a class
View Answer

Trả lời. d
Giải thích. Điều này là như vậy bởi vì các hàm hủy không thể bị quá tải. Và hàm hủy phải có cùng tên với tên của lớp với ký hiệu dấu ngã trước tên của hàm hủy. Do đó chỉ có thể có một hàm hủy trong một lớp. Vì không thể có nhiều chức năng có cùng tên và chữ ký trong cùng một phạm vi.

13. Trình hủy lớp nào sẽ được gọi trước, khi mã sau nằm ngoài phạm vi?

class A{  };
class B{  };
class C: public B{  };
A a;
B b;
C c;

a) ~A()
b) ~B()
c) ~C()
d) ~B() and ~C()
View Answer

Trả lời. c
Giải thích. Hàm tạo cuối cùng sẽ được tạo, hàm hủy của nó sẽ được gọi đầu tiên khi mã vượt quá phạm vi. Điều này sẽ giúp chương trình quản lý tài nguyên hiệu quả hơn.

14. Khi một đối tượng được chuyển đến một hàm, bản sao của nó được tạo trong hàm và sau đó ______________
a) Hàm hủy của bản sao được gọi khi hàm được trả về
b) The destructor is never called in this case
c) The destructor is called but it is always implicit
d) The destructor must be user defined
View Answer

Trả lời. a
Giải thích. Khi một đối tượng được chuyển đến một hàm, bản sao của nó được tạo trong hàm. Bản sao này hoạt động như một đối tượng thực cho đến khi chức năng hoạt động. Khi hàm được trả về, hàm hủy của bản sao được gọi để giải phóng tài nguyên do nó nắm giữ.

15. Điều gì xảy ra khi một đối tượng được truyền theo tham chiếu?
a) Hàm hủy không được gọi
b) Hàm hủy được gọi ở cuối hàm
c) Destructor is called when function is out of scope
d) Destructor is called when called explicitly
View Answer

Trả lời. a
Giải thích. Hàm hủy không bao giờ được gọi trong tình huống này. Khái niệm này là khi một đối tượng được truyền theo tham chiếu đến hàm, hàm tạo không được gọi mà chỉ đối tượng chính sẽ được sử dụng. Do đó sẽ không có hàm hủy nào được gọi ở cuối hàm.

Sanfoundry Global Education & Learning Series – Lập trình hướng đối tượng (OOPs)

Để thực hành tất cả các lĩnh vực của Lập trình hướng đối tượng (OOP) bằng C ++, đây là bộ đầy đủ hơn 1000 câu hỏi và câu trả lời trắc nghiệm

« Trước - Lập trình hướng đối tượng sử dụng C++ Câu hỏi và trả lời – Thực thi hàm tạo hoặc hàm hủy

Các phương thức __ constructor() và __ desturation() trong một lớp PHP là gì?

Được định nghĩa bên trong lớp và dùng để tự động gọi khi đối tượng được tạo. PHP4 cung cấp phương thức khởi tạo trong khi PHP5 cung cấp phương thức ma thuật __construct và __destroy. Phương thức này được gọi tự động khi một đối tượng được tạo hoặc hủy .

Từ khóa nào được sử dụng để tạo hàm hủy trong PHP?

Làm cách nào để tạo phương thức hàm hủy trong PHP? . Từ hủy ( ) có hai dấu gạch dưới (__). public keyword, then function , then __destruct() to construct a destructor method. The word destruct( ) has two underscores (__).

Khi một hàm hủy được gọi là mcq?

2. Khi một hàm hủy được gọi? . Hàm hủy được gọi ngay trước khi đối tượng ra khỏi phạm vi hoặc ngay trước khi vòng đời của nó kết thúc . Điều này được thực hiện để đảm bảo rằng tất cả các tài nguyên dành riêng cho đối tượng được sử dụng và cuối cùng, được cung cấp miễn phí cho những người khác.

Hàm tạo và hàm hủy trong PHP là gì?

Bạn có thể nói rằng Trình xây dựng là bản thiết kế để tạo đối tượng cung cấp giá trị cho hàm thành viên và biến thành viên . Khi đối tượng được khởi tạo, hàm tạo sẽ tự động được gọi. Hàm hủy dùng để hủy các đối tượng và tự động được gọi khi kết thúc thực thi.