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

  • 相关阅读:
    全面分析C#方法中的ref和out
    SQL注入漏洞全接触入门篇
    如何使用四个语句来提高 SQL Server 的伸缩性
    5种提高SQL性能的方法
    SQL注入漏洞全接触高级篇
    网络游戏程序员须知 收包与发包
    SQL注入攻击的原理及其防范措施
    SQL注入漏洞全接触进阶篇
    C#委托的故事
    转眼又快一年了,最近没赚钱,在学习FLASH as3编程
  • 原文地址:https://www.cnblogs.com/sujulin/p/7066159.html
Copyright © 2011-2022 走看看