Challenge: Inheritance
Swipe to show menu
Fill in the blanks to make sure the base constructors are properly called in the following code:
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253using System; class Animal { string species; public Animal(string species) { this.species = species; } public void Eat() { Console.WriteLine("The animal is eating."); } } class Dog : Animal { string breed; public Dog(string species, string breed) : ___ { this.breed = breed; } public void Bark() { Console.WriteLine("Woof! Woof!"); } } class GermanShepherd : Dog { public GermanShepherd(string species, string breed) : ___ { Console.WriteLine("GermanShepherd Object Created"); } public void PerformGuardDuty() { Console.WriteLine("The German Shepherd is performing guard duty."); } } class ConsoleApp { static void Main() { new GermanShepherd("Canis lupus familiaris", "German Shepherd"); } }
Hint
Use the public className(arg1, arg2..) : base(arg1, arg2, …) syntax in the derived classes to call the base constructors.
Solution
using System;
class Animal
{
string species;
public Animal(string species)
{
this.species = species;
}
public void Eat()
{
Console.WriteLine("The animal is eating.");
}
}
class Dog : Animal
{
string breed;
public Dog(string species, string breed) : base(species)
{
this.breed = breed;
}
public void Bark()
{
Console.WriteLine("Woof! Woof!");
}
}
class GermanShepherd : Dog
{
public GermanShepherd(string species, string breed) : base(species, breed)
{
Console.WriteLine("GermanShepherd Object Created");
}
public void PerformGuardDuty()
{
Console.WriteLine("The German Shepherd is performing guard duty.");
}
}
class ConsoleApp
{
static void Main()
{
new GermanShepherd("Canis lupus familiaris", "German Shepherd");
}
}
Everything was clear?
Thanks for your feedback!
Section 5. Chapter 3
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
Section 5. Chapter 3