• 新手浅谈C#关于abstract和interface


    abstract:抽象类,是对某一类对象的抽象,继承抽象类的类和抽象类是属于关系

    interface:接口,可以说是一种规范,继承接口的类表达则是,我继承了这个接口,我能做什么

    举个常用的例子:抽象一个animal类,马(horse)继承animal类,但是有一种马叫天马,他能飞。

     1 public abstract class Animal
     2 {
     3     public void EatFood()
     4     {
     5         //some code
     6     }
     7 }
     8 
     9 public class Horse:Animal
    10 {
    11     //some code
    15 } 16
      public class FlyHorse:Horse,IFlyable
      {
        public void Fly()
        {
          //some code
        }
      }
    17 public interface IFlyable
    18 {
    19     void Fly() ;
    20 }

    UML图:

    在abstract中可以定义virtue方法和abstract方法,继承的子类可以通过override重写方法

    virtue和abstract不同的是abstract不能实现方法的主体,继承抽象类的类必须实现抽象类中抽象方法

    通过virtue和override实现方法的重写是C#多态的体现

  • 相关阅读:
    bzoj 1051: [HAOI2006]受欢迎的牛
    bzoj 1192: [HNOI2006]鬼谷子的钱袋
    一些动规水题
    USACO 2014 Open Silver Fairphoto
    USACO 2013 Nov Silver Pogo-Cow
    09day1
    09day2
    08day2
    08day1
    07day2
  • 原文地址:https://www.cnblogs.com/qiandi/p/4657955.html
Copyright © 2020-2023  润新知