[英]C# inheritance classes
I am trying to solve a task, but I don't get how to create Add class so that the program works correctly.我正在尝试解决一个任务,但我不知道如何创建 Add 类以使程序正常工作。
I have checked many posts, but haven't found a solution.我查了很多帖子,但没有找到解决方案。 I try to own public for Number, Text, .... but in Visual Studio tips always ask to create public int new Number in class Class : Add
.我尝试为 Number、Text、...拥有 public,但在 Visual Studio 中,提示总是要求在Class : Add
创建 public int new Number Class : Add
。
I know I should create a list where I can add it text and number then if number then parse...or should I use indexers?我知道我应该创建一个列表,我可以在其中添加文本和数字,然后如果数字然后解析……或者我应该使用索引器吗?
class Add
{
//...............
}
class Class : Add
{
public int Number { get; set; }
public string Text { get; set; }
public int NumberPlusOne()
{
return Number + 1;
}
public void Print()
{
Console.WriteLine("Number is " + Number);
Console.WriteLine("Text is " + Text);
}
}
class Program
{
static void Main()
{
Add add = new Class();
add.Number = 123;
add.Text = "Hello!";
add.Print();
Console.WriteLine("Number + 1 = " + add.NumberPlusOne());
}
}
Something like this: a base abstract class ( Add
) and derived class ( Class
) that overrides abstract methods像这样:一个基础抽象类 ( Add
) 和派生类 ( Class
)覆盖了抽象方法
// note "abstract"
public abstract class Add {
public abstract int Number { get; set; }
public abstract string Text { get; set; }
public abstract int NumberPlusOne();
public abstract void Print();
}
And Class
should be changed into而Class
应该改成
// note "override"
class Class : Add {
public override int Number { get; set; }
public override string Text { get; set; }
public override int NumberPlusOne()
{
return Number + 1;
}
public override void Print()
{
Console.WriteLine("Number is " + Number);
Console.WriteLine("Text is " + Text);
}
}
//This is my solution //这是我的解决方案
interface Add
{
string text { get; set; }
int number { get; set; }
void Print();
int NumberPlusOne();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.