Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Utfordring: Øvelse med Modifikatorer | Section
C# Utover Det Grunnleggende

bookUtfordring: Øvelse med Modifikatorer

Sveip for å vise menyen

Du har en klasse kalt Person med et felt for å lagre name. I tillegg finnes det to klasser, Student og Teacher, som arver fra Person.

Det er noen feil i programmet på grunn av ufullstendig kode. Din oppgave er å fullføre koden ved å:

  1. Sørge for at både Student og Teacher arver fra Person-klassen;
  2. Sikre at feltet name er tilgjengelig i underklassene, men utilgjengelig fra andre steder.
index.cs

index.cs

copy
12345678910111213141516171819202122232425262728293031323334353637383940414243444546
using System; public class Person { // Field to store the name string name; } public class Student { public Student(string name) { this.name = name; } public void Study() { Console.WriteLine($"{name} is studying."); } } public class Teacher { public Teacher(string name) { this.name = name; } public void Teach() { Console.WriteLine($"{name} is teaching."); } } public class Program { public static void Main(string[] args) { Teacher t = new Teacher("Hannah"); Student s = new Student("Mark"); t.Teach(); s.Study(); } }
  1. I denne oppgaven må du først bruke konseptet med avledede klasser, deretter tilgangsmodifikatorer.
  2. Vi bruker symbolet : for å angi foreldreklassen i definisjonen av en barneklasse (avledet klasse).
  3. Husk hvilken tilgangsmodifikator som er passende for feltet name for å skjule det fra utsiden av klassen, men gjøre det tilgjengelig for underklassene.
index.cs

index.cs

copy
123456789101112131415161718192021222324252627282930313233343536373839404142434445
using System; public class Person { // Field to store the name protected string name; } public class Student : Person { public Student(string name) { this.name = name; } public void Study() { Console.WriteLine($"{name} is studying."); } } public class Teacher : Person { public Teacher(string name) { this.name = name; } public void Teach() { Console.WriteLine($"{name} is teaching."); } } public class Program { public static void Main(string[] args) { Teacher t = new Teacher("Hannah"); Student s = new Student("Mark"); t.Teach(); s.Study(); } }
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 35

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 1. Kapittel 35
some-alt