【问题标题】:c# object oriented programming foundamentalsc# 面向对象编程基础
【发布时间】:2012-07-20 14:08:19
【问题描述】:

我是面向对象编程方法的新手:

我有一个 MyClass1 类如下:

public class MyClass1
{
    public int id { get; set; }
    public string name { get; set; }
}

还有一个类 MyClass2 定义为:

public class Myclass2
{
    public int id { get; set; }
    public string name { get; set; }

    public Myclass2(MyClass1 m) { }

}

MyClass2 仅在存在 MyClass1 时才存在,因为在 MyClass2 中我需要 MyClass1 的一些属性。

对我来说最好的应该是这样的:

MyClass1.MyClass2 = new MyClass2();

MyClass2 的构造函数当然应该取 MyClass1。

使用 C# 面向对象编程实现这一目标的最佳方法是什么?

【问题讨论】:

  • public class Myclass2 : MyClass1 {....
  • 我认为这需要家庭作业标签和一些澄清,然后我们才能看到大量的赞成票。
  • 根据您的示例,最好删除MyClass2,它不会添加任何内容。 MyClass2 会有什么不同?

标签: c# oop class object


【解决方案1】:

Inheritance

public class Myclass2 : Myclass1
{
    public Myclass2() { }
}

你可能还想看看Nested types

public class Myclass2
{
    public class Myclass1
    { 
        Myclass1(){}
    }
}

【讨论】:

    【解决方案2】:

    看起来 MyClass2 应该从 MyClass1 继承,但您并没有真正解释您要完成的工作,以确保这就是您想要的。

    【讨论】:

    • 同意:根据使用情况,内部类可能是 OP 的更好选择
    猜你喜欢
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 2013-10-25
    • 2015-02-12
    • 2018-09-10
    • 1970-01-01
    • 2011-04-16
    • 2012-03-03
    相关资源
    最近更新 更多