Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Abstraction Practice | OOP Principles
C# Beyond Basics

book
Abstraction Practice

In this task you are given a code you might already be familiar with since we looked at similar code in multiple previous chapters. It contains an overridden method called MakeSound.

Your task is to convert the Animal class into an abstract class and the MakeSound method into an abstract method.

There should be no change in the output of the program after this modification.

cs

index

copy
using System;

class Animal
{
protected string species;

public Animal(string species)
{
this.species = species;
}

public virtual void MakeSound()
{
// Empty Method
}

public void DisplaySpecies()
{
Console.WriteLine($"Species: {species}");
}
}

class Cat : Animal
{
string furPattern;

public Cat(string species, string furPattern) : base(species)
{
this.furPattern = furPattern;
}

public override void MakeSound()
{
Console.WriteLine("Meow! Meow!");
}
}
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
using System; class Animal { protected string species; public Animal(string species) { this.species = species; } public virtual void MakeSound() { // Empty Method } public void DisplaySpecies() { Console.WriteLine($"Species: {species}"); } } class Cat : Animal { string furPattern; public Cat(string species, string furPattern) : base(species) { this.furPattern = furPattern; } public override void MakeSound() { Console.WriteLine("Meow! Meow!"); } } class Dog : Animal { float weight; public Dog(string species, float weight) : base(species) { this.weight = weight; } public override void MakeSound() { Console.WriteLine("Woof! Woof!"); } } class ConsoleApp { static void Main() { Animal myCat = new Cat("Feline", "Ginger & White"); Animal myDog = new Dog("Canine", 42.5f); myCat.DisplaySpecies(); myCat.MakeSound(); Console.WriteLine("\n"); myDog.DisplaySpecies(); myDog.MakeSound(); } }

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 9

Fråga AI

expand
ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

some-alt