Starting Out with Python 4e (Gaddis)
Chapter 11 Inheritance
TRUE/FALSE
1. New attributes and methods may be added to a subclass.
ANS: T
2. One problem with using a UML diagram is that there is no way to indicate inheritance.
ANS: F
3. When a class inherits another class, it is required to use all the data attributes and methods of the superclass.
ANS: F
4. Polymorphism works on any two class methods that have the same name.
ANS: T
5. A superclass inherits attributes and methods from its subclasses without any of them having to be rewritten.
ANS: F
6. A subclass may not override any method other than the __init__ method.
ANS: F
7. Each subclass has a method named __init__ that overrides the superclass’s __init__ method.
ANS: T
8. In a UML diagram depicting inheritance, you only need to write the name of the subclass.
ANS: F
9. An “is a” relationship exists between a grasshopper and a bumblebee.
ANS: F
10. An “is a” relationship exists between a wrench and a tool.
ANS: T
MULTIPLE CHOICE
1. __________ allows a new class to inherit members of the class it extends.
a.
Encapsulation
b.
Attributes
c.
Methods
d.
Inheritance
ANS: D
2. What gives a program the ability to call the correct method depending on the type of object that is used to call it?
a.
Polymorphism
b.
Inheritance
c.
Encapsulation
d.
Methods
ANS: A
3. What does a subclass inherit from a superclass?
a.
instances and attributes
b.
objects and methods
c.
methods and instances
d.
attributes and methods
ANS: D
4. In a UML diagram, what does the open arrowhead point to?
a.
the superclass
b.
the subclass
c.
the object
d.
a method
ANS: A
5. When there are several classes that have many common data attributes, it is better to write a(n) __________ to hold all the general data.
a.
superclass
b.
subclass
c.
object
d.
method
ANS: A
6. In an inheritance relationship, what is a specialized class called?
a.
a superclass
b.
a subclass
c.
an object
d.
an instance
ANS: B
7. Base classes are also called
a.
superclasses
b.
derived classes
c.
subclasses
d.
class instances
ANS: A
8. What is the relationshop called in which one object is a specialized version of another object?
a.
parent-child
b.
node-to-node
c.
is a
d.
class-subclass
ANS: C
9. __________ has the ability to define a method in a subclass and then define a method with the same name in a superclass.
a.
Inheritance
b.
Encapsulation
c.
Polymorphism
d.
the ‘is a’ relationship
ANS: C
10. In the following line of code, what is the name of the subclass?
class Rose(Flower):
a.
Rose
b.
Flower
c.
Rose(Flower)
d.
None of these
ANS: A
11. In the following line of code, what is the name of the base class?
class Python(Course):
a.
Python
b.
Course
c.
Python(Course)
d.
None of these
ANS: B
12. Given the following line of code, in a UML diagram, what would the open arrowhead point to?
class Celery(Vegetable):
a.
Celery
b.
Vegetable
c.
class
d.
Celery(Vegetable)
ANS: B
13. Of the two classes, Cherry and Flavor, which would most likely be the subclass?
a.
Cherry
b.
Flavor
c.
either one
d.
neither; these are inappropriate class or subclass names
ANS: A
14. Which method can you use to determine whether an object is an instance of a class?
a.
isinstance
b.
isclass
c.
isobject
d.
issubclass
ANS: A
15. Which of the following is the correct syntax for defining a class, table, which inherits from the furniture class?
a.
class furniture[table]:
b.
class table.furniture:
c.
class furniture(table):
d.
class table(furniture):
ANS: D
16. Given the following beginning of a class definition for a superclass named clock, how many accessor and mutator methods will be needed to complete the class definition?
class clock:
def __init__(self, shape, color, price):
self._shape = shape
self.color = color
self.price = price
a.
1 mutator, 1 accessor
b.
3 mutator, 4 accessor
c.
3 mutator, 3 accessor
d.
4 mutator, 5 accessor
ANS: C
COMPLETION
1. __________ allows subclasses to have methods with the same names as methods in their superclasses.
ANS: Polymorphism
2. The __________ function determines whether or not an object is an instance of a specific class or an instance of a subclass of that class.
ANS: isinstance
3. A subclass is also called a(n) __________ class.
ANS: derived
4. A superclass is also called a(n) __________ class.
ANS: base
5. When a subclass method has the same name as a superclass method, the subclass method __________ the superclass method.
ANS: overrides
6. In an inheritance relationship, the extended class is called the __________.
ANS: subclass
7. New attributes and methods may be added to a subclass which makes it a(n) __________ version of the superclass.
ANS: specialized
8. In an inheritance relationship, a minivan can be thought of as a(n) ___________ of the vehicles class.
ANS: subclass, derived class
9. The term ___________ refers to an object’s ability to take different forms.
ANS: polymorphism
10. In a UML diagram, a line with an open arrowhead from a subclass to a superclass indicates ___________.
ANS: inheritance