目前正在处理对象和类。 我正在效仿我的老师给出的一个例子,但它没有按照它的设想工作。 请注意,我正在使用ubuntu而不是windows,我不确定这是否会影响任何内容。
using System;
namespace AEDlc
{
/**Base Classe Employee**/
class Employee
{
private string name;
public Employee(string PersonName)
{
name = PersonName;
}
public void ShowName()
{
Console.WriteLine("{0}", name);
}
public virtual void ShowFunc()
{
Console.WriteLine("Employee");
}
}
/** Classe Employer **/
class Employer : Employee
{
public Employer(string EmployerName) : base(EmployerName)
{
}
/** New func "ShowFunc" **/
public override void ShowFunc()
{
Console.WriteLine("Employer");
}
}
/** Main **/
class KindaMain
{
static void Main()
{
/** worker array **/
Employee[] worker = new Employee[]
{
new Employee("Base Dude"),
new Employee("Base Dude 2"),
new Employer("Boss Dude")
};
/** Show Info **/
for (int i = 0; i < worker.Length; i++)
{
worker[i].ShowName();
worker[i].ShowFunc();
Console.WriteLine();
}
}
}
}
}
此输出如下:
Base Dude
Employee
Base Dude 2
Employee
Boss Dude
Employee
输出应该是这样的:
Base Dude
Employee
Base Dude 2
Employee
Boss Dude
Employer
任何人都可以帮我理解我做错的地方。真的找不到它......
更新: 不知何故,我设法无法关闭评论,所以整个方法都被注释掉了。因为我正在研究nano,我没有注意到这一点,就像很多朋友一样。很抱歉这篇文章。 我应该删除这篇文章吗?
答案 0 :(得分:0)
我不确定你的评论中是否只是一个错误,但在你的雇主课程中你注释掉了ShowFunc方法,因此将调用Employee类上的ShowFunc方法,从而产生“Employee”。
如果只是一个错误,请尝试单步执行代码,以便查看执行的方法。
答案 1 :(得分:0)
我认为您的问题是您没有关闭评论/** New func "ShowFunc"
,而是评论ShowFunc覆盖..
尝试/* New func "ShowFunc" */