C#类引用到另一个类但为什么?

时间:2011-06-02 12:25:42

标签: c#-4.0

我是c#的初学者我不明白为什么把类引用放到另一个类中,这里是代码。

  interface IDB
{
    void AddDoctor(Doctor doc);
    void AddPatient(Patient pat);
    void AddWard(Ward ward);
}

    class DataBaseManager 
{
    private IDB db;

    public DataBaseManager(IDB dbase)
    {
        this.db = dbase;
    }


class ComputerOperator
{
    private string name;
    private int age;
    private DataBaseManager dbm;

    public ComputerOperator(string name, int age,SQLDB sqdata)
    {
        this.name = name;
        this.age = age;
        dbm = new DataBaseManager(sqdata);
    }

    class BillingDepartment
    {
    private ComputerOperator operater;

    public ComputerOperator Operater
    {
        get { return operater; }
        set { operater = value; }
    }
   }

当我们把这个班级放到另一个班级叫做NESTED CLASSES时,那么我在c#中将这个东西命名为“将其引入另一个班级。”

已编辑添加 先生,我问的是为什么我们需要“一个类引用到另一个类”,如果我们不把类引用放到另一个类中,那就是任何替代吗? 例如,

      namespace myNameSpace                                                                                                                                                                                                                                        
      {
       public class class1
      {
        //methods
      }

      public class class2
     { 
      private class1 myclass1;
       //methods
     }

2 个答案:

答案 0 :(得分:1)

另一个类的引用是嵌套类的不同概念。

  • 参考:是包含另一个类的实例的字段或属性。
  • 嵌套类:是一个存在于另一个类声明中的类声明。

当您想要隐藏世界中该类的存在时,主要使用嵌套类。嵌套的私有类只能由拥有它的类使用。

此外,嵌套类知道所有者类中存在的所有私有内容。

答案 1 :(得分:0)

我猜是什么意思(因为从上下文或你的措辞中不是很清楚)你有一个字段包含对类的另一个实例的引用。它引用了一个对象,其类型是引用类的类型。

public class A
{
    public class Nested
    {
    }

    public Nested _nestedFieldRefrence;
    public B _otherClass;
}

public class B
{
}

在A级你有 *一个名为Nested的嵌套类 *对称为_nestedFieldReference的嵌套类实例的引用 *对另一个名为_otherClass

的类的引用

这有助于您理解吗?