Tập hợp các câu hỏi và câu trả lời trắc nghiệm (MCQ) này tập trung vào tính đa hình của Hồi giáo. 1. Điều nào sau đây mô tả đúng nhất tính đa hình? a) Khả năng của một lớp để lấy các thành viên của một lớp khác là một phần của định nghĩa riêng b) Phương tiện của các biến và phương thức đóng gói để hạn chế quyền truy cập vào một số thành viên lớp c) tập trung vào các biến và chuyển các biến cho các hàm D) Cho phép các đối tượng thuộc các loại và hành vi khác nhau được coi là cùng một câu trả lời đánh giá chung Trả lời: D Giải thích: Đa hình là một tính năng của các ngôn ngữ lập trình hướng đối tượng. Nó cho phép thực hiện phần mềm Elegant được thiết kế tốt và dễ dàng sửa đổi. 2. Lý do lớn nhất cho việc sử dụng đa hình là gì? a) Nó cho phép lập trình viên suy nghĩ ở cấp độ trừu tượng hơn b) Có ít mã chương trình để viết c) Chương trình sẽ có thiết kế thanh lịch hơn và sẽ dễ dàng hơn để duy trì và cập nhật mã chương trình D) Trả lời: C Giải thích: Đa hình cho phép thực hiện phần mềm thanh lịch. 3. Việc sử dụng gõ vịt là gì? a) Hạn chế nhiều hơn đối với các giá trị loại có thể được chuyển đến phương thức đã cho b) Không giới hạn đối với các giá trị loại có thể được chuyển đến phương thức đã cho c) ít hạn chế hơn đối với các giá trị loại có thể được chuyển đến phương thức đã cho D) Làm cho mã chương trình trả lời nhỏ Trả lời: C Giải thích: Trong Python, bất kỳ tập hợp các lớp nào có một bộ phương pháp chung đều có thể được xử lý tương tự. Đây được gọi là gõ vịt. Do đó đánh máy vịt áp đặt ít hạn chế hơn. 4. Đầu ra của mã Python sau đây là gì? class A:
def __str__(self):
return '1'
class B(A):
def __init__(self):
super().__init__()
class C(B):
def __init__(self):
super().__init__()
def main():
obj1 = B()
obj2 = A()
obj3 = C()
print(obj1, obj2,obj3)
main() A) 1 1 1 b) 1 2 3 C) Trả lời: Giải thích: Super () .__ init __ () trong các lớp con đã được gọi đúng và không có các lớp con nào khác trả về bất kỳ giá trị nào khác. Do đó 1 được trả về mỗi lần đối tượng được tạo và in. 5. Đầu ra của mã Python sau đây là gì? class Demo:
def __init__(self):
self.x = 1
def change(self):
self.x = 10
class Demo_derived(Demo):
def change(self):
self.x=self.x+1
return self.x
def main():
obj = Demo_derived()
print(obj.change())
main() a) 11 b) 2 c) 1 d) Một ngoại lệ được ném câu trả lời Trả lời: B Giải thích: Thay đổi phương thức lớp dẫn xuất () ghi đè phương thức lớp cơ sở.
a) Ability of a class to derive members of another class as a part of its own definition
b) Means of bundling instance variables and methods in order to restrict access to certain class members
c)
Focuses on variables and passing of variables to functions
d) Allows for objects of different types and behaviour to be treated as the same general type
View Answer
Explanation: Polymorphism is a feature of object-oriented programming languages. It allows for the implementation of elegant software that is well designed and easily modified.
a) It allows the programmer to think at a more abstract level
b) There is less program code to write
c) The program will have a more elegant design and will be easier to maintain and update
d) Program code takes up less space
View Answer
Explanation: Polymorphism allows for the implementation of elegant software.
a) More restriction
on the type values that can be passed to a given method
b) No restriction on the type values that can be passed to a given method
c) Less restriction on the type values that can be passed to a given method
d) Makes the program code smaller
View Answer
Explanation: In Python, any set of classes with a common set of methods can be treated similarly. This is called duck typing. Hence duck typing
imposes less restrictions.
b) 1 2 3
c) ‘1’ ‘1’ ‘1’
d) An exception is thrown
View Answer
Explanation: The super().__init__() in the subclasses has been properly invoked and none of other subclasses return any other value. Hence 1 is returned each time the object is created and printed.
b) 2
c) 1
d) An exception is thrown
View Answer
Explanation: The derived class method change() overrides the base class method.
6. Một lớp trong đó một hoặc nhiều phương thức chỉ được thực hiện để nâng cao ngoại lệ được gọi là một lớp trừu tượng. a) Đúng b) câu trả lời FalseView
a) True
b) False
View Answer
Trả lời: Giải thích: Một lớp trong đó một hoặc nhiều phương thức không được thực hiện hoặc được thực hiện cho các phương thức ném một ngoại lệ được gọi là một lớp trừu tượng.
Explanation: A class in which one or more methods are unimplemented or implemented for the methods throw an exception is called an abstract class.
7. Ghi đè có nghĩa là thay đổi hành vi của các phương thức của các phương thức lớp dẫn xuất trong lớp cơ sở. a) Đúng b) câu trả lời FalseView
a) True
b) False
View Answer
Trả lời: B Giải thích: Ghi đè có nghĩa là nếu có hai phương pháp giống nhau có trong siêu lớp và lớp con, nội dung của phương thức lớp con được thực thi.
Explanation: Overriding
means if there are two same methods present in the superclass and the subclass, the contents of the subclass method are executed.
8. Đầu ra của mã Python sau đây là gì?
class A: def __repr__(self): return "1" class B(A): def __repr__(self): return "2" class C(B): def __repr__(self): return "3" o1 = A() o2 = B() o3 = C() print(obj1, obj2, obj3)
A) 1 1 1 b) 1 2 3 C)
b) 1 2 3
c) ‘1’ ‘1’ ‘1’
d) An exception is thrown
View Answer
Trả lời: Giải thích: Super () .__ init __ () trong các lớp con đã được gọi đúng và không có các lớp con nào khác trả về bất kỳ giá trị nào khác. Do đó 1 được trả về mỗi lần đối tượng được tạo và in.
Explanation: When different objects are invoked, each of the individual classes return their individual values
and hence it is printed.
5. Đầu ra của mã Python sau đây là gì?
class A: def __init__(self): self.multiply(15) print(self.i) def multiply(self, i): self.i = 4 * i; class B(A): def __init__(self): super().__init__() def multiply(self, i): self.i = 2 * i; obj = B()
a) 11 b) 2 c) 1 d) Một ngoại lệ được ném câu trả lời
b) 60
c) An exception is thrown
d) 30
View Answer
Trả lời: B Giải thích: Thay đổi phương thức lớp dẫn xuất () ghi đè phương thức lớp cơ sở.
Explanation: The derived class B overrides base class A.
6. Một lớp trong đó một hoặc nhiều phương thức chỉ được thực hiện để nâng cao ngoại lệ được gọi là một lớp trừu tượng. a) Đúng b) câu trả lời FalseView
class Demo: def check(self): return " Demo's check " def display(self): print(self.check()) class Demo_Derived(Demo): def check(self): return " Derived's check " Demo().display() Demo_Derived().display()
Trả lời: Giải thích: Một lớp trong đó một hoặc nhiều phương thức không được thực hiện hoặc được thực hiện cho các phương thức ném một ngoại lệ được gọi là một lớp trừu tượng.
b) Demo’s check Demo’s check
c) Derived’s
check Demo’s check
d) Syntax error
View Answer
7. Ghi đè có nghĩa là thay đổi hành vi của các phương thức của các phương thức lớp dẫn xuất trong lớp cơ sở. a) Đúng b) câu trả lời FalseView
Explanation: Demo().display() invokes the display() method in class Demo and Demo_Derived().display() invokes the display() method in class Demo_Derived.
Trả lời: B Giải thích: Ghi đè có nghĩa là nếu có hai phương pháp giống nhau có trong siêu lớp và lớp con, nội dung của phương thức lớp con được thực thi.
class A: def __init__(self): self.multiply(15) def multiply(self, i): self.i = 4 * i; class B(A): def __init__(self): super().__init__() print(self.i) def multiply(self, i): self.i = 2 * i; obj = B()
8. Đầu ra của mã Python sau đây là gì?
b) 30
c) An exception is thrown
d) 60
View Answer
Trả lời: B Giải thích: Khi các đối tượng khác nhau được gọi, mỗi lớp riêng lẻ trả về các giá trị riêng lẻ của chúng và do đó nó được in.
Explanation: The derived class B overrides base class A.
9. Đầu ra của mã Python sau đây là gì?
class Demo: def __check(self): return " Demo's check " def display(self): print(self.check()) class Demo_Derived(Demo): def __check(self): return " Derived's check " Demo().display() Demo_Derived().display()
Trả lời: Giải thích: Một lớp trong đó một hoặc nhiều phương thức không được thực hiện hoặc được thực hiện cho các phương thức ném một ngoại lệ được gọi là một lớp trừu tượng.
b) Demo’s check Demo’s check
c) Derived’s check Demo’s check
d) Syntax error
View Answer
7. Ghi đè có nghĩa là thay đổi hành vi của các phương thức của các phương thức lớp dẫn xuất trong lớp cơ sở. a) Đúng b) câu trả lời FalseView
Explanation: The method check is
private so it can’t be accessed by the derived class. Execute the code in the Python shell.
Trả lời: B Giải thích: Ghi đè có nghĩa là nếu có hai phương pháp giống nhau có trong siêu lớp và lớp con, nội dung của phương thức lớp con được thực thi.
class A: def __init__(self, x, y): self.x = x self.y = y def __str__(self): return 1 def __eq__(self, other): return self.x * self.y == other.x * other.y obj1 = A(5, 2) obj2 = A(2, 5) print(obj1 == obj2)
8. Đầu ra của mã Python sau đây là gì?
b) 1
c) True
d) An exception is thrown
View Answer
Trả lời: B Giải thích: Khi các đối tượng khác nhau được gọi, mỗi lớp riêng lẻ trả về các giá trị riêng lẻ của chúng và do đó nó được in.
Explanation: Since 5*2==2*5, True is printed. Execute it in the Python shell to verify.
9. Đầu ra của mã Python sau đây là gì?
class A: def one(self): return self.two() def two(self): return 'A' class B(A): def two(self): return 'B' obj2=B() print(obj2.two())
a) 15 b) 60 c) Một ngoại lệ được ném d) 30View Trả lời
b) An exception is thrown
c) A B
d) B
View Answer
Trả lời: D Giải thích: Lớp B dẫn xuất ghi đè lớp cơ sở A.
Explanation: The derived class method two() overrides the method two() in the base class A.
10. Đầu ra của mã Python sau đây là gì?
a) A non-private method in a superclass can be overridden
b) A subclass method can be overridden by the superclass
c) A private method in a superclass can be
overridden
d) Overriding isn’t possible in Python
View Answer
Trả lời: Giải thích: Một phương thức công khai trong lớp cơ sở có thể được ghi đè bởi cùng một phương thức được đặt tên trong lớp con.
Explanation: A public method in the base class can be overridden by the same named method in the subclass.
Sê -ri Giáo dục & Học tập toàn cầu Sanfoundry - Python.
Để thực hành tất cả các lĩnh vực của Python, đây là bộ hoàn chỉnh của hơn 1000 câu hỏi và câu trả lời nhiều lựa chọn.
Bước tiếp theo:
- Nhận Giấy chứng nhận miễn phí trong chương trình Python
- Tham gia cuộc thi chứng nhận lập trình Python
- Trở thành một người xếp hạng hàng đầu trong chương trình Python
- Thực hiện các bài kiểm tra lập trình Python
- Các bài kiểm tra thực hành theo chương: Chương 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10
- Các bài kiểm tra giả chương: Chương 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10,
Manish Bhojasia, một cựu chiến binh công nghệ với hơn 20 năm @ Cisco & Wipro, là người sáng lập và CTO tại Sanfoundry. Ông sống ở Bangalore, và tập trung vào sự phát triển của nhân Linux, Công nghệ San, Cvanced C, Cấu trúc dữ liệu & Alogrithms. Giữ kết nối với anh ta tại LinkedIn.Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.
Đăng ký các lớp học chính miễn phí của mình tại YouTube & Thảo luận kỹ thuật tại Telegram SanfoundryClasses.