zoukankan      html  css  js  c++  java
  • 继承(is与as)

    is操作符用于检查对象和指定的类型是否兼容

    as操作符主要用于二个对象之间的类型转换

     //父类
      public   class Animal
        {
          public int age;
        }

     //子类
       public class Cat:Animal
        {
           public string name;
           //无参构造
           public Cat()
           {

           }
           //有参构造
           public Cat(int age, string name)
           {
               this.age = age;
               this.name = name;
           }

    }

     //子类
       public class Dog:Animal
        {
           public string color;
           //无参构造
           public Dog()
           {

            }
           //有参构造
           public Dog(int age, string color)
           {
               this.age = age;
               this.color = color;
           }
        }

       //测试类
          public  static void Main(string[] args)
            {
                List<Animal> list = new List<Animal>()  //范型集合
                {
                    new Cat(15,"毛毛"),
                    new Dog(10,"灰色")
                };

                foreach (Animal animal in list)
                {
                    if(animal is Cat)
                    {
                        Cat cat = (Cat)animal;   //类型强制转换
                        Console.WriteLine(cat.age + " "+cat.name);
                     }

                    if (animal is Dog)   //is主要做类型判定
                    {
                        //Dog dog = (Dog)animal;  //类型强制转换
                        Dog dog = animal as Dog; //as做类型转换
                        Console.WriteLine(dog.age + " "+dog.color);
                    }
                }
                Console.ReadKey();
            }

  • 相关阅读:
    [ZZ]asp.net页面生命周期
    [ZZ]关于内存中栈和堆的区别
    我的第一个ASP.NET网页
    服务应用之WEB与WCF使用之见
    WEB服务于WCF服务的技术资料
    常用的Web服务和WCF服务
    笔试面试,几个字解决(原创)
    beij~~~
    Symbian 逐步深入(三)
    More 平台
  • 原文地址:https://www.cnblogs.com/sujulin/p/7066159.html
Copyright © 2011-2022 走看看