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();
            }

  • 相关阅读:
    成功给家长们举办了supermemo软件安装与使用的培训
    抓到两只IE8的虫子
    域名保护期是咋回事
    IE8开发人员工具,让web开发的客户端调试畅通无阻
    (转)网站成功的法则
    谢文的社区观
    玩《征途》感受——这么多年白玩游戏了 (zt)
    社区运营 VS 征途(转)
    SQLite多线程写锁文件解决方案
    sqlite和sql server语法上的一些区别
  • 原文地址:https://www.cnblogs.com/sujulin/p/7066159.html
Copyright © 2011-2022 走看看