正在从外部设置基类属性

本文关键字:基类 属性 设置 从外部 | 更新日期: 2023-09-27 18:29:31

我想在派生类中使用基类属性。此外,我必须从外部传递属性值。我可以想到以下两种方法:

方法1:

class Mydata
{
}
class Converter1:Converter
{
    void Converter1(Mydata data1)
    {
        data = data1;
    }
    public void Convert()
    {
       // USING "data" here
    }
}
class Converter2 : Converter
{
    void Converter2(Mydata data2)
    {
        data = data1;
    }
    public void Convert()
    {
            //USING "data" here
    }
}

当创建对象时,我可以创建如下:

   Mydata data1 =new  Mydata()
   Mydata data2 =new  Mydata()
   Coverter cObj= Converter1(data1 )
   cObj.Convert()
   Coverter cObj1= Converter2(data2 )
   cObj1.Convert();   

方法2:

class Mydata
{
}
class Covnerter1:Converter
{
    public void Convert()
    {
        // USING "data" here
    }
}
class Converter2 : Converter
{
    public void Convert()
    {
         // USING "data" here
    }
}

当创建对象时,我可以像下面这样创建,并在基类中设置属性值。

    Mydata data1 =new  Mydata()
   Mydata data2 =new  Mydata()
   Coverter cObj= Converter1()
   cObj.data = data1; 
   cObj.Convert()  
   Coverter cObj1= Converter2()
   cObj1.data =data2
    cObj1.Convert()

哪种方法更好?或者其他更好的方法?

正在从外部设置基类属性

忽略"转换器"的奇怪之处。。。

就"更好地共享更多的代码和封装数据"而言:通常,如果您需要设置基类的属性,您可以通过基类构造函数进行设置

class Base
{  
    public MyData { get; private set; }
    public Base(MyData data)
    {
       MyData = data;
    }
}
class Derived : Base
{ 
    public Derived(MyData data):base(data)
    {}
    // Methods that use MyData here...
}