zoukankan      html  css  js  c++  java
  • 新手浅谈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#多态的体现

  • 相关阅读:
    String API
    正则表达式语法
    正则表达式定义与创建
    jQuery——子元素筛选器
    基本筛选器
    内置对象和包装类型
    栈和队列
    web前端css实现六边形效果
    jquery选择器
    AE导出mov
  • 原文地址:https://www.cnblogs.com/qiandi/p/4657955.html
Copyright © 2011-2022 走看看