您能否对抽象类与继承的使用有一个几乎过于简单化的理解并帮助我,以便我能够真正理解这个概念以及如何实现?我有一个我正在尝试完成的项目,但不知道如何实施。我一直在和我的教授聊天并且被告知很多,说如果我想不通,我可能还没有准备好参加这门课程。我已经覆盖了预先要求的课程,但仍然无法理解这些概念。
为了澄清,我到目前为止所做的项目如下。我还没有填写狗/猫课程等。能给我指点一下吗。我不要求任何人给我“答案”。我只是不知道该去哪里。我参加在线课程,他与我的沟通努力一直令人不安。我刚刚完成了所有其他课程的 4.0,所以我愿意付出努力,但我对这些概念的理解以及如何实际应用它们迷失了方向。
有什么意见或帮助可以让我在这个项目中取得进一步进展吗?
我要实现的描述如下:
概述:
本练习的目的是演示接口、继承、抽象类和多态性的使用。您的任务是获取提供的程序外壳并添加适当的类和相应的类成员/方法,以使该程序正常运行。您不能对提供的任何代码进行更改,您只能添加您编写的类。尽管有很多方法可以让程序正常工作,但您必须使用能够演示接口、
继承、抽象类和多态性的技术。同样,为了清楚起见,您可以添加到提供的代码中,但不能更改或删除任何代码。提供的代码只需要很少的附加代码即可满足练习的要求。如果您成功完成分配,您的程序在运行时应输出以下语句:
我的名字是斑点,我是一只狗
我叫菲利克斯,我是一只猫
要求:
1) 您必须有一个名为“Animal”的抽象基类,Dog 和 Cat 类从该基类派生而来。
2) Animal 基类必须从接口“IAnimal”派生,它是唯一应该从 IAnimal 派生的类。
3) 由于所有动物都有名字,而且名字不是狗或猫特有的属性,因此 Animal
基类应该是存储名称和实现 WhatIsMyName 获取属性的位置。
4) 您将需要创建仅从 Animal 基类派生的 Dog 和 Cat 类。
5) Dog 和 Cat 类应该实现 WhatAmI 获取属性并返回适当的字符串值。
您无法更改的代码:
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);
}
}
}