Python 3エンジニア認定基礎試験-クラスとオブジェクトの操作(継承)-

1. 
次のコードについて、継承の正しい説明を選んでください。

class Parent:
pass

class Child(Parent):
pass

2. 
次のコードの実行結果を選んでください。

class Parent:
def greet(self):
return "Hello from Parent!"

class Child(Parent):
pass

class GrandChild(Child):
pass

obj = GrandChild()
print(obj.greet())

3. 
次のコードについて、継承の正しい実行結果を選んでください。

class Parent:
def __init__(self):
self.name = "Parent"

class Child(Parent):
pass

obj = Child()
print(obj.name)

4. 
次のコードの実行結果を選んでください。

class Parent:
def __init__(self, value):
self.value = value

class Child(Parent):
def __init__(self, value):
super().__init__(value)
self.value *= 2

obj = Child(5)
print(obj.value)

5. 
次のコードの実行結果を選んでください。

class Parent:
def greet(self):
return "Hello from Parent!"

class Child(Parent):
def greet(self):
return super().greet() + " and Child!"

obj = Child()
print(obj.greet())

6. 
次のコードについて、正しい出力を選んでください。

class Parent:
def greet(self):
return "Hello from Parent!"

class Child(Parent):
pass

obj = Child()
print(obj.greet())

7. 
次のコードの実行結果を選んでください。

class Parent:
def greet(self):
return "Hello from Parent!"

class Child(Parent):
def greet(self):
return "Hello from Child!"

class GrandChild(Child):
pass

obj = GrandChild()
print(obj.greet())

8. 
次のコードの実行結果を選んでください。

class Parent:
def __init__(self, value):
self.value = value

class Child(Parent):
pass

obj = Child(20)
print(obj.value)

9. 
次のコードの実行結果を選んでください。

class Parent:
def __init__(self, name):
self.name = name

def greet(self):
return f"Hello, {self.name}!"

class Child(Parent):
def greet(self):
return f"Hi, {self.name}!"

obj = Child("Alice")
print(obj.greet())

10. 
次のコードについて、親クラスのメソッドを子クラスから呼び出す正しい方法を選んでください。

class Parent:
def greet(self):
return "Hello from Parent!"

class Child(Parent):
def greet(self):
return super().greet() + " and Child!"

obj = Child()
print(obj.greet())

11. 
次のコードについて、子クラスで親クラスのメソッドをオーバーライドした場合の正しい出力を選んでください。

class Parent:
def greet(self):
return "Hello from Parent!"

class Child(Parent):
def greet(self):
return "Hello from Child!"

obj = Child()
print(obj.greet())

12. 
次のコードの実行結果を選んでください。

class Parent:
def greet(self):
return "Hello from Parent!"

class Child(Parent):
def greet(self):
return "Hello from Child!"

obj = Child()
print(obj.greet())

13. 
次のコードについて、親クラスのコンストラクタを子クラスで明示的に呼び出す正しい方法を選んでください。

class Parent:
def __init__(self, name):
self.name = name

class Child(Parent):
def __init__(self, name, age):
super().__init__(name)
self.age = age

obj = Child("Alice", 10)
print(obj.name, obj.age)

14. 
次のコードの実行結果を選んでください。

class Parent:
def greet(self):
return "Hello from Parent!"

class Child(Parent):
pass

obj = Child()
print(obj.greet())

15. 
次のコードの実行結果を選んでください。

class Parent:
def __init__(self):
self.name = "Parent"

class Child(Parent):
def __init__(self):
super().__init__()
self.age = 10

obj = Child()
print(obj.name, obj.age)

16. 
次のコードについて、Childクラスに追加された属性が正しく設定されているか確認する方法を選んでください。

class Parent:
def __init__(self, name):
self.name = name

class Child(Parent):
def __init__(self, name, age):
super().__init__(name)
self.age = age

obj = Child("Alice", 10)
print(hasattr(obj, "age"))

17. 
次のコードについて、Childクラスが継承している親クラスを判定する方法として正しいものを選んでください。

class Parent:
pass

class Child(Parent):
pass

print(issubclass(Child, Parent))

18. 
次のコードの実行結果を選んでください。

class Parent:
def __init__(self):
self.value = 10

class Child(Parent):
pass

obj = Child()
print(obj.value)

19. 
次のコードの実行結果を選んでください。

class Parent:
def greet(self):
return "Hello from Parent!"

class Child(Parent):
def greet(self):
return super().greet() + " and Child!"

class GrandChild(Child):
def greet(self):
return super().greet() + " and GrandChild!"

obj = GrandChild()
print(obj.greet())

20. 
次のコードの実行結果を選んでください。

class Parent:
def __init__(self):
self.data = [1, 2, 3]

class Child(Parent):
def __init__(self):
super().__init__()
self.data.append(4)

obj = Child()
print(obj.data)

コメントを残すにはログインしてください。