授業は初めてですので、無知です。
基本クラスであるPetクラスがあります。私には犬と猫の2つの子供クラスがあります。私がやろうとしているのは、CatメソッドとDogメソッドに「Woof!」と言ってPetメソッドをオーバーライドさせることです。と「ニャー!」話す代わりに。次に、別の形式で、ボタンを押すだけで情報(名前、色、話し方)を印刷する必要があります。
class Pet
{
protected string name, color, food;
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public string Color
{
get
{
return color;
}
set
{
color = value;
}
}
public string Food
{
get
{
return food;
}
set
{
food = value;
}
}
public void speak(string s)
{
s = "Speak";
MessageBox.Show(s);
}
public Pet(string name, string food, string color)
{
//Constructor
this.Food = food;
this.Name = name;
this.Color = color;
}
class Dog : Pet
{
public Dog(string name, string food, string color)
: base(name, food, color)
{
}
protected override void speak()
{
}
}
}
(犬とほとんど同じなので、猫は省略しました)
「エラー1'Lab12.Cat.speak()':'public'継承メンバー'Lab12.Pet.speak()'をオーバーライドするとアクセス修飾子を変更できません」というエラーが表示され続けます
私は何が間違っているのですか?私はそれがどこかの保護レベルに関係していることを知っています、そして私は物事をパブリックから保護またはプライベートに切り替え続けます、しかしそれは何も修正していません。助けて、誰か?