Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Haaste: Modifikaattoreiden Harjoittelu | Section
C# Perusteiden Jälkeen

bookHaaste: Modifikaattoreiden Harjoittelu

Pyyhkäise näyttääksesi valikon

Sinulle on annettu luokka nimeltä Person, jossa on kenttä name-tietojen tallentamiseen. Lisäksi on kaksi luokkaa, Student ja Teacher, jotka perivät Person-luokan.

Ohjelmassa on joitakin virheitä puutteellisen koodin vuoksi. Tehtävänäsi on täydentää koodi seuraavasti:

  1. Tee sekä Student- että Teacher-luokista Person-luokan aliluokkia;
  2. Varmista, että name-kenttä on käytettävissä aliluokissa, mutta ei muualla.
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. Tässä tehtävässä sinun tulee ensin käyttää perittyjen luokkien käsitettä ja sen jälkeen näkyvyysmuokkaimia.
  2. Käytämme :-symbolia määrittämään yliluokan lapsiluokan määrittelyssä.
  3. Muista, mikä näkyvyysmuokkain sopii name-kentälle, jotta se ei ole näkyvissä luokan ulkopuolelta, mutta on käytettävissä aliluokissa.
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(); } }
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 35

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 1. Luku 35
some-alt