当前位置:编程学习 > C#/ASP.NET >>

关于两组类的逻辑关系


1. A1 是 A的子类
2. B1 是 B的子类
3. B包含A的一个实例,作为自己的变量属性
4. B1 需要把A1作为自己的变量属性

问题是: 如何比较优雅的实现这样的一组关系,并保持设计的相对简单? --------------------编程问答--------------------

 Class B
 {
   protected A _Oa;
   public  A OA
   {
     get 
     {
        return _Oa;
     }
     set
     {
       _Oa= value 
     }
   }
 }

  class B1: B
  {
    private A1 _Oa1;
       
   public A1 OA1
   {
     get 
     {
       if(_Oa1==null)
       {
         _Oa1=Oa as A1;
       }
        return _Oa;
     }
     set
     {
       _Oa= value ;
       _Oa1=value;        
     }
   }   
  }
 
--------------------编程问答--------------------

class A {}

class A1: A{}

class B 
{
    public A a
    {
        get;set;
    }
}

class B1 : B
{
    public A1 a1
    {
        get;set;
    }
}
--------------------编程问答--------------------
abstract class A
    {
    }

    abstract class B
    {
        protected A a;
        public B(A a) { this.a = a; }
    }
    class A1 : A
    {
    }
    class B1 : B 
    {
        public B1(A1 a1):base(a1){}
    }

//或者
    abstract class A
    {
    }

    abstract class B
    {
        private A a;
        protected A _A
        {
            set
            {
                a = value;
            }
            get
            {
                return a;
            }
        }
    }
    class A1 : A
    {
    }
    class B1 : B
    {
      
    }
--------------------编程问答--------------------

class A {}

class A1: A{}

class B 
{
    public A a
    {
        get;set;
    }
}

class B1 : B
{
    public A1 a1
    {
        get;set;
    }
}


补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,