C#iOS进阶高级

C#高级进阶-[抽象类]方法

2018-03-13  本文已影响4人  xzhuan

Aitin原创稿件,转载请注明出处!

C#语法进阶 <抽象类>方法
/*
*  OOP多态
*   1.抽象类abstract
*      特点:
*          1.1 可以被继承/重写,不能创建对象[实例化]
*          1.2 可能包含抽象成员[方法,属性]
*          1.3 抽象类概念:     表示一个抽象概念,所拥有的共性 行为数据
*                 1.3.1 常常用于做基类,统一所有子类,管理子类
*          1.4 抽象方法概念:  只表示做什么,拥有什么数据,不表达具体做法,不表达数据具体取值
*                 1.4.1 实现类必须实现所有的抽象方法,必须加 abstract 不能私有
*                 1.4.2 实现类抽象方法的方法,必须加override 不能私有
*                 1.4.3 抽象方法 必须放在抽象类中 / 接口中         
*/
namespace LearnDemo20180304
{
   class Program
   {
       static void Main(string[] args)
       {
           //Animal ani0 = null;
           //ani0 = new Dog();
           Animal ani1 = new Dog();

           Animal[] arr0 = new Animal[3];
           arr0[0] = new Dog();
           arr0[1] = new Cat();
           foreach (Animal item in arr0)
           {
               item.Call();
           }
       }
   }
   //定义端
   abstract class Animal  //动物 <抽象基类>
   {
       int id;
       string name;
       virtual public void Run()  //虚方法
       {

       }
       virtual public void Call()
       {
       }
   }
   class Dog : Animal  //狗  <子类>
   {
       override public void Call()
       {
           Console.WriteLine("汪汪 !");
       }
   }
   class Cat : Animal  //猫  <子类>
   {
       override public void Call()
       {
           Console.WriteLine("喵喵 !");
       }
   }
}
上一篇下一篇

猜你喜欢

热点阅读