如何在C#WPF中为派生类的基类设置值

ub
public class Baseclass
{
    private int mTotal = 0;
    private int mID = 0;

    public int Total
    {
        get { return mTotal; }
        set { mTotal = value;}
    }
    public int ID
    {
        get { return mID; }
        set { mID = value;}
    }
}

public class Derivedclass : Baseclass
{
    private int mX = 0;
    private int mY = 0;

    public int X
    {
        get { return mX; }
        set 
        {
            mX = value;
            Total = Total + mX;
        }
    }
    public int Y
    {
        get { return mY; }
        set 
        {
            mY = value;
            Total = Total + mY;
        }
    }

}

public partial class  Test : Page
{
    Baseclass B = new Baseclass();
    Derivedclass D = new Derivedclass();
    public Test()
    {
        Calculate();
    }     

    public void Calculate()
    {

        for(int i =1; i <5 ;i++)
        {
            B.ID = i;
            for (int j = 0; j < 5; j++)
            {
                D.X = j;
                D.Y = j;
            }
            MessageBox.Show("ID " + B.ID + " Total Sum" + B.Total);
            B.Total = 0;
        }
    }
    // Out put should be 
    // ID 1 Total Sum 16
    // ID 2 Total Sum 16
    // ID 3 Total Sum 16
    // ID 4 Total Sum 16
}

在这里,我有两个类,Baseclass和derivedclass。我想找出在派生类中的x和y属性的总和,并将总和设置为基类的Total属性,而我想要的应该是这样的

// ID 1 Total Sum 16
// ID 2 Total Sum 16
// ID 3 Total Sum 16
毛鳞片

如果要引用任何继承的成员,则可以只使用属性名称,如上所示。如果名称冲突,或者您想更清楚一点,可以使用base关键字,如下所示:

base.Total = 15;

这是有关基本关键字的MSDN文章:http : //msdn.microsoft.com/zh-cn/library/hfw7t1ce.aspx

不过,似乎您对继承的概念有些困惑。Baseclass实例与Derivedclass实例没有任何关系,反之亦然,因为它们是完全独立的对象,彼此之间没有引用。继承控制类具有的成员-字段,属性和方法,并允许派生类重用其父级的代码,同时将其功能扩展到更具体的用例。简而言之,您的B和D对象永远都不会互相交谈,而这实际上并不是继承的重点。

因此,在没有无用的B对象的情况下,您的Calculate方法应如下所示:

public void Calculate()
{
    for(int i = 1; i < 5; i++)
    {
        D.ID = i;
        for (int j = 0; j < 5; j++)
        {
            D.X = j;
            D.Y = j;
        }
        MessageBox.Show("ID " + D.ID + " Total Sum" + D.Total);
        D.Total = 0;
    }
}

此版本的Calculate()将显示以下内容:

ID 1 Total Sum 20
ID 2 Total Sum 20
ID 3 Total Sum 20
ID 4 Total Sum 20

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我如何在基类中为派生类函数做朋友?

来自分类Dev

如何从C ++中的基类访问派生类的属性?

来自分类Dev

OOP-如何要求派生类为基属性设置值?

来自分类Dev

如何在C ++中的基类中创建派生类的对象

来自分类Dev

如何在C ++中从基类构造函数调用派生类方法?

来自分类Dev

如何在 C++ 中定义派生类?

来自分类Dev

从基类修改派生类的值

来自分类Dev

如何在派生类对象内为基类属性分配值,而不一一列举?

来自分类Dev

创建类型为<派生类>的变量以将<基类>对象存储在C#中

来自分类Dev

为C ++中的基类和派生类声明“虚拟”构造函数?

来自分类Dev

如何从派生类中获取基类实例

来自分类Dev

C ++如何从多个派生类调用基类方法?

来自分类Dev

如何在派生类中重写`toString`并使用基类中的私有实例变量?

来自分类Dev

如何在python中相同的重载派生类方法中调用基类方法?

来自分类Dev

无法在C ++的派生类中重载基类方法

来自分类Dev

基类不实现INotifyPropertyChange;如何在派生类中实现它?

来自分类Dev

如何在派生类中存储在基类初始化期间获得的信息?

来自分类Dev

如何在几何基类中检查冲突而不转换为派生类

来自分类Dev

如何在基类中获取派生类的子类型

来自分类Dev

如何在模板派生类中调用模板基类的构造函数?

来自分类Dev

如何在Scala中从派生类辅助构造函数调用辅助基类构造函数?

来自分类Dev

如何在派生类中初始化基类staic内联数据成员?

来自分类Dev

如何在派生类中存储在基类初始化期间获得的信息?

来自分类Dev

如何在Scala中从派生类辅助构造函数调用辅助基类构造函数?

来自分类Dev

如何避免在C ++中的派生类中重复基类构造函数参数?

来自分类Dev

C ++-填充派生类数据成员,还设置基类属性值

来自分类Dev

在C ++继承中,派生类如何禁用基类的某些元素(数据或函数)?

来自分类Dev

C#如何从基类的派生类中获取特定类型的所有字段?

来自分类Dev

如何使用基类的数据成员作为派生类的构造函数?(在 C++ 中)

Related 相关文章

  1. 1

    我如何在基类中为派生类函数做朋友?

  2. 2

    如何从C ++中的基类访问派生类的属性?

  3. 3

    OOP-如何要求派生类为基属性设置值?

  4. 4

    如何在C ++中的基类中创建派生类的对象

  5. 5

    如何在C ++中从基类构造函数调用派生类方法?

  6. 6

    如何在 C++ 中定义派生类?

  7. 7

    从基类修改派生类的值

  8. 8

    如何在派生类对象内为基类属性分配值,而不一一列举?

  9. 9

    创建类型为<派生类>的变量以将<基类>对象存储在C#中

  10. 10

    为C ++中的基类和派生类声明“虚拟”构造函数?

  11. 11

    如何从派生类中获取基类实例

  12. 12

    C ++如何从多个派生类调用基类方法?

  13. 13

    如何在派生类中重写`toString`并使用基类中的私有实例变量?

  14. 14

    如何在python中相同的重载派生类方法中调用基类方法?

  15. 15

    无法在C ++的派生类中重载基类方法

  16. 16

    基类不实现INotifyPropertyChange;如何在派生类中实现它?

  17. 17

    如何在派生类中存储在基类初始化期间获得的信息?

  18. 18

    如何在几何基类中检查冲突而不转换为派生类

  19. 19

    如何在基类中获取派生类的子类型

  20. 20

    如何在模板派生类中调用模板基类的构造函数?

  21. 21

    如何在Scala中从派生类辅助构造函数调用辅助基类构造函数?

  22. 22

    如何在派生类中初始化基类staic内联数据成员?

  23. 23

    如何在派生类中存储在基类初始化期间获得的信息?

  24. 24

    如何在Scala中从派生类辅助构造函数调用辅助基类构造函数?

  25. 25

    如何避免在C ++中的派生类中重复基类构造函数参数?

  26. 26

    C ++-填充派生类数据成员,还设置基类属性值

  27. 27

    在C ++继承中,派生类如何禁用基类的某些元素(数据或函数)?

  28. 28

    C#如何从基类的派生类中获取特定类型的所有字段?

  29. 29

    如何使用基类的数据成员作为派生类的构造函数?(在 C++ 中)

热门标签

归档