抽象クラスと継承の使用についてほとんど単純化した理解を与えてくれて、概念と実装方法を本当に理解できるように助けてくれませんか?完了しようとしているプロジェクトがあり、実装方法に迷っています。私は教授とおしゃべりをしていて、それを理解できないのなら、おそらくコースの準備ができていないと言って、かなり言われました。prerequestiteコースをカバーしましたが、これらの概念を理解するのにまだ苦労しています。
明確にするために、私がこれまでに行ったプロジェクトは以下のとおりです。犬・猫のクラスなどはまだ記入していません。ポインタを教えてください。私は誰かに「答え」を教えてくれるように求めているのではありません。私はこれでどこに行くのか迷っています。私はオンラインコースを受講していますが、彼とのコミュニケーションの取り組みは厄介です。他のすべてのコースで4.0を終えたばかりなので、努力を惜しまないのですが、これらの概念の理解と実際の適用方法に迷っています。
このプロジェクトをさらに進めるためのコメントやヘルプはありますか?
私が実装するものの説明は次のとおりです。
概要:
この演習の目的は、インターフェース、継承、抽象クラス、およびポリモーフィズムの使用法を示すことです。あなたの仕事は、提供されたプログラムシェルを取得し、適切なクラスと対応するクラスメンバー/メソッドを追加して、このプログラムを正しく機能させることです。提供されているコードを変更することはできません。自分で作成したクラスのみを追加できます。プログラムを機能させる方法はたくさんありますが、インターフェース、
継承、抽象クラス、およびポリモーフィズムの使用法を示す手法を使用する必要があります。繰り返しになりますが、明確にするために、提供されたコードに追加することはできますが、変更または削除することはできません。提供されるコードは、追加のコードをほとんど使用せずに機能し、演習の要件を満たします。割り当てが正常に完了すると、プログラムは実行時に次のステートメントを出力する必要があります。
私の名前はスポットです、私は犬です
私の名前はフェリックスです、私は猫です
要件:
1)DogクラスとCatクラスの派生元である「Animal」と呼ばれる抽象基本クラスが必要です。
2)Animal基本クラスは、インターフェイス'IAnimal'から派生する必要があります。これは、IAnimalから派生する必要がある唯一のクラスです。
3)すべての動物には名前があり、名前は犬や猫に固有の属性ではないため、動物
基本クラスは、名前が格納され、WhatIsMyNameget-propertyが実装される場所である必要があります。
4)動物の基本クラスからのみ派生するDogクラスとCatクラスを作成する必要があります。
5)DogクラスとCatクラスは、WhatAmI get-propertyを実装し、適切な文字列値を返す必要があります。
変更できないコード:
using System;
namespace IT274_U2
{
public interface IAnimal
{
string WhatAmI { get; }
string WhatIsMyName { get; }
}
public class TesterClass
{
public static void DescribeAnimal(IAnimal animal)
{
Console.WriteLine("My name is {0}, I am a {1}", animal.WhatIsMyName, animal.WhatAmI);
}
static void Main(string[] args)
{
Dog mydog = new Dog("Spot");
Cat mycat = new Cat("Felix");
DescribeAnimal(mydog);
DescribeAnimal(mycat);
}
}
}
///////////////////////
私がこれまでに書いたコード:
using System;
namespace IT274_U2
{
public interface IAnimal
{
string WhatAmI { get; }
string WhatIsMyName { get; }
}
public class Dog
{
public abstract string WhatAmI
{
get;
set;
}
}//end public class Dog
public class Cat
{
public abstract string WhatIsMyName
{
get;
set;
}
}//end public class Cat
public abstract class Animal : IAnimal
{
// fields
protected string Dog;
protected string Cat;
// implement WhatIsMyName
//properties
public abstract String Dog
{
get;
set;
}
public abstract String Cat
{
get;
set;
}
public abstract string WhatIsMyName();
} //end public abstract class Animal
public class TesterClass
{
public static void DescribeAnimal(IAnimal animal)
{
Console.WriteLine("My name is {0}, I am a {1}", animal.WhatIsMyName, animal.WhatAmI);
}
static void Main(string[] args)
{
Dog mydog = new Dog("Spot");
Cat mycat = new Cat("Felix");
DescribeAnimal(mydog);
DescribeAnimal(mycat);
}
}
}