面向对象继承,参考学习代码

namespace 继承    //两个类之间的关系
{
    class Program
    {
        static void Main(string[] args)
        {
            dongwu gou = new dongwu();
            gou.shengming();
            gou.Name = "小狗";
            Console.WriteLine(gou.Name);
        

            Object Odate = gou;
      

            shengwu fulei= gou; //子类可以直接转换为父类,但父类不具备子类的属性和方法
            Console.WriteLine(fulei.Name);


            //父类转子类有条件,这个父类的对象必须是由某一个子类的对象转换而来,才能转换回去,fulei这个类是由子类gou转换而来的
            dongwu mao = (dongwu)fulei;
            Console.WriteLine( mao.Name);


            zhiwu meigui = new zhiwu();
            meigui.shengming();
            meigui.Name = "玫瑰花";
            Console.WriteLine(meigui.Name);

            中国人 r = new 中国人();
            r.Name = "李小龙";
            Console.WriteLine(r.Name);
            r.wushu();

            renlei a = r;    //子类转父类
            Console.WriteLine(a.Name);

            中国人 r1 = (中国人)a;  //父类转子类,父类的对象必须是由一个子类的对象转换而来的,a这个父类是由子类r转换而来的
            Console.WriteLine(r1.Name );
            Console.ReadLine();
        }
    }
     public class shengwu
    {
        private string _Name;

        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }
          protected string Old;
         public void shengming()
         {
             Console.WriteLine("都是有生命的");
         }
    }
     class dongwu:shengwu
     {
        
          
     }
     class zhiwu : shengwu
     {
 
     }
}
原文地址:https://www.cnblogs.com/275147378abc/p/4525497.html