我正在教自己的C#和有关从父对象的特定实例继承的问题。
例如,如果我定义我的阶级作为阶级:有从特定的父对象继承的子对象
class League
{
public string name { get; set; }
}
class Player : League
{
public Guid PlayerGuid { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
class Team : Player
{
public Guid TeamGuid { get; set; }
public string TeamName { get; set; }
}
然后实例的阶级作为阶级:
static void Main(string[] args)
{
League myLeague = new League() { name = "The League" };
Player taco = new Player() { PlayerGuid = Guid.NewGuid(), FirstName = "Taco", LastName = "MacArthur" };
Player pete = new Player() { PlayerGuid = Guid.NewGuid(), FirstName = "Pete", LastName = "Eckhart" };
Team tacoTeam = new Team() { TeamGuid = Guid.NewGuid(), TeamName = "Password is Taco" };
Team peteTeam = new Team() { TeamGuid = Guid.NewGuid(), TeamName = "3-Pete" };
}
如何确保团队tacoTeam从球员塔科继承和团队peteTeam从继承玩家皮特?
我的感觉是,我不知道如何正确定义这个类的类,并会赞赏一个指示器应该如何完成。
为了阐明我已将“播放器”更改为“所有者”的元素之间的关系,可以更好地表示我的想法。我可以进一步增加一个“玩家”类来代表真正的玩家,而不是扶手椅玩家。
与@neoistheone和@McGarnagle我能修改此输入和定义的阶级作为阶级:
class League
{
public string name { get; set; }
}
class Owner
{
public Guid OwnerGuid { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
class Team
{
public Guid TeamGuid { get; set; }
public string TeamName { get; set; }
public Owner TeamOwner { get; set; }
public League League { get; set; }
}
然后我可以创建类的实例,并得到什么了出来这样:
static void Main(string[] args)
{
League MyLeague = new League() { name = "The League" };
Owner taco = new Owner() { FirstName = "Taco", LastName = "MacArthur", OwnerGuid = Guid.NewGuid() };
Owner pete = new Owner() { FirstName = "Pete", LastName = "Eckhart", OwnerGuid = Guid.NewGuid() };
Team tacoTeam = new Team() { TeamGuid = Guid.NewGuid(), TeamName = "Password is Taco", League = MyLeague, TeamOwner = taco };
Team peteTeam = new Team() { TeamGuid = Guid.NewGuid(), TeamName = "3-Pete", League = MyLeague, TeamOwner = pete };
List<Team> Teams = new List<Team>();
Teams.Add(tacoTeam);
Teams.Add(peteTeam);
foreach(Team team in Teams){
Console.WriteLine("Team Name:\t{0}\nTeam Owner:\t{1}\nLeague Name:\t{2}\n-----",
team.TeamName, team.TeamOwner.FirstName + " " + team.TeamOwner.LastName, team.League.name);
}
Console.ReadLine();
}
这似乎做的帮助在我的代码中的数据模型,使之更容易得到它进出数据库的我正在去使用这个应用程序一个相当体面的工作。
继承不涉及具体的对象实例。您提供的示例没有意义,这些类不应该彼此继承。此外,联盟是直截了当的滑稽。 – Michael
我认为你完全误解了继承是什么...... –