Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Challenge: Inheritance | OOP Principles
C# Object-Oriented Structures

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

index.cs

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
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) : ___ { 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
expand arrow

Use the public className(arg1, arg2..) : base(arg1, arg2, …) syntax in the derived classes to call the base constructors.

Solution
expand arrow
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?

How can we improve it?

Thanks for your feedback!

Section 5. Chapter 3

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

Section 5. Chapter 3
some-alt