[英]How to use sub class attribute in C#
程序
using System;
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
B x = new B();
x.show();
}
}
public class A //base class
{
protected int no = 1;
public void show()
{
Console.WriteLine(no);
}
}
public class B : A //sub class
{
protected int no = 100;
}
}
Output 1
如何使用子 Class 屬性值而不是基本 class 屬性值?
我嘗試了覆蓋,新關鍵字,但它似乎不起作用。
我對這個問題的了解是:子 class 擁有父 class 屬性和它自己的屬性。
但是子 class 屬性被基本 class 屬性隱藏,如果是有意的,您可以使用新關鍵字。
謝謝
如何在 C# 中使用子 class 屬性
protected int no = 1;
這不是屬性,而是字段。
您可以在子類(小提琴)中重新分配該字段的值:
public class B : A //sub class
{
public B()
{
no = 100;
}
}
或者你可以用一個屬性替換你的字段,它可以是虛擬的,因此被覆蓋(小提琴):
public class A //base class
{
protected virtual int no => 1;
public void show()
{
Console.WriteLine(no);
}
}
public class B : A //sub class
{
protected override int no => 100;
}
不要在 class B 中聲明no
字段。您可以從構造函數或方法訪問no
。
通過在 class B 中聲明no
,您將在 class A 中隱藏no
。我建議不要對繼承類中的字段使用相同的名稱。 通過使用受保護,您可以訪問兩個類中的no
字段。
public class A //base class
{
protected int no = 1;
public void show()
{
Console.WriteLine(no);
}
}
public class B : A //sub class
{
public B()
{
no = 2;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.