2. Which of the following is the correct way to declare a subclass Dog that inherits from superclass Animal in MATLAB?
easy
A. classdef Dog inherits Animal
B. classdef Dog : Animal
C. classdef Dog extends Animal
D. classdef Dog < Animal
Solution
Step 1: Recall MATLAB inheritance syntax
MATLAB uses < symbol to indicate inheritance in classdef.
Step 2: Match correct syntax
The correct syntax is classdef Dog < Animal.
Final Answer:
classdef Dog < Animal -> Option D
Quick Check:
Inheritance uses < in MATLAB [OK]
Hint: Use < to inherit in MATLAB classdef [OK]
Common Mistakes:
Using 'inherits' keyword instead of <
Using ':' or 'extends' which are not MATLAB syntax
Confusing MATLAB syntax with other languages
3. Consider the following MATLAB code:
classdef Animal
methods
function sound(obj)
disp('Some sound')
end
end
end
classdef Dog < Animal
methods
function sound(obj)
disp('Bark')
end
end
end
myPet = Dog();
myPet.sound();
What will be the output when running myPet.sound()?
medium
A. Error: Method not found
B. Some sound
C. Bark
D. No output
Solution
Step 1: Understand method overriding in subclass
The subclass Dog defines its own sound method, which replaces the superclass method.
Step 2: Determine which method runs
Calling myPet.sound() runs the Dog version, printing 'Bark'.
4. What is wrong with this MATLAB subclass definition?
classdef Cat <
methods
function meow(obj)
disp('Meow')
end
end
end
medium
A. Missing superclass name after <
B. Method name cannot be 'meow'
C. Classdef keyword is misspelled
D. No constructor defined
Solution
Step 1: Check inheritance syntax
The symbol < must be followed by the superclass name.
Step 2: Identify missing superclass
Here, no superclass name is given after <, causing syntax error.
Final Answer:
Missing superclass name after < -> Option A
Quick Check:
Inheritance requires superclass name after < [OK]
Hint: Always specify superclass name after < [OK]
Common Mistakes:
Leaving out superclass name after <
Thinking method names cause error
Assuming constructor is mandatory
5. You have a superclass Vehicle with a method move() that prints 'Moving'. You want to create a subclass Car that inherits Vehicle but adds a new method honk() that prints 'Beep!'. Which of the following is the correct MATLAB code for the subclass Car?
hard
A. classdef Car < Vehicle
methods
function honk(obj)
disp('Beep!')
end
end
end
B. classdef Car inherits Vehicle
methods
function honk(obj)
disp('Beep!')
end
end
end
C. classdef Car : Vehicle
methods
function honk(obj)
disp('Beep!')
end
end
end
D. classdef Car extends Vehicle
methods
function honk(obj)
disp('Beep!')
end
end
end
Solution
Step 1: Use correct inheritance syntax
MATLAB uses < to inherit, so classdef Car < Vehicle is correct.
Step 2: Add new method in subclass
The method honk is added inside methods block correctly.
Final Answer:
classdef Car < Vehicle with honk method -> Option A
Quick Check:
Subclass syntax + new method = classdef Car < Vehicle
methods
function honk(obj)
disp('Beep!')
end
end
end [OK]
Hint: Use < and add methods block for new methods [OK]
Common Mistakes:
Using 'inherits', ':', or 'extends' instead of <
Forgetting to add methods block
Trying to override without correct syntax
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.