我有两个类,例如A类和B类。A类具有一些属性,方法和B类仅具有这些属性。但是,两个类具有相同的属性集。
我的问题是,如果我在A类中添加任何新属性,我也需要在B类中添加它。如果我没有添加方法,则需要显示错误。如何通过C#实现呢?
答案 0 :(得分:6)
您可以通过使用一个接口并在A类和B类中实现它来实现此目的。在该接口中,定义A和B类所需的属性:
public interface ICommonProperty
{
string MyProperty{ get; set; }
}
答案 1 :(得分:1)
或者您可以使用keyword abstract
为A和B创建一个共同的类。
abstract class BaseClass // Abstract class
{
public int X {get;set;} // property in common for 2 class
}
class A : BaseClass
{
}
class B : BaseClass
{
public int Y {get;set;} // other property of B
}
答案 2 :(得分:1)
您可以使用抽象类。 abstract关键字使您可以创建不完整的类和类成员,并且必须在派生类中实现。
这是一个与您的问题有关的简单示例,但是您可以在这里了解和了解Abstract类:Abstract Class
using System;
public class Program
{
public static void Main()
{
A objA = new A();
objA.printA();
B objB = new B();
objB.printB();
}
}
abstract class Parent{
public int a = 5;
}
class A : Parent
{
public void printA()
{
Console.WriteLine("In class A, value is "+a);
}
}
class B : Parent
{
public void printB()
{
Console.WriteLine("In class B, value is "+a);
}
}
以上程序的输出为:
In class A, vlaue is 5
In class B, vlaue is 5
希望这对您有所帮助。