• C# 浅谈接口的优势


    总结了一下接口的小优势,可以便于新手理解为什么要用接口,用接口有什么好处。

    1.接口的定义:

    关键字:interface,接口名一般大写I开头,接口中定义方法,但是不实现方法

    interface IBark{
    
      void Bark();
    
    }

    2.实现接口:

    父类名在前,接口名在后,只能继承一个父类,可以实现多个

    interface IBark
    {
        void Bark();//接口中字段和方法默认为public
    }
    
    class Dog: IBark
    {
        public Dog{
    
        }
      
        public void Bark()// 方法声明必须和接口中的保持一致
        {
            Console.WriteLine("汪汪");
        }
    }

    这时我们实例化一个dog

    Dog wangcai = new Dog();

    wangcai.Brak();

    旺财就会汪汪了。

    之前我也不明白为什么不直接在Dog类中声明Bark的方法,IBark接口中并没有具体的方法,还省略了接口,没有理解接口的作用。

    还有人是这样说的:从接口的定义方面来说,接口其实就是类和类之间的一种协定,一种约束。还拿上面的例子来说,所有继承了IBark接口的类中必需实现 Bark()方法,那么从用户(使用类的用户)的角度来说,如果他知道了某个类是继承于IBark接口,那么他就可以放心大胆的调用Bark()方法,而不用管Bark()方法具体是如何实现的。比如,我们另外写了一个类。

    把上面的那个例子扩展,现在需要写一个猫的类。

    public class Cat : IBark
    {
        public Cat()
        {
    
        }
        public void Bark()
        {
            Console.WriteLine("喵喵");
        }

    总结:  

      我们在写猫的类的时候,继承了IBark接口,知道猫类中肯定会有一个Bark方法需要我们去实现。接口的优势在多个类中就体现出来了。如果一个项目,需要些猫、狗、鸡、鸭、多个类,又是由多个人来写,这些类都需要实现一个Bark的方法,我们就可以使用IBark接口,加强他们之间的约束,方便统一管理也方便调用。

      而且如果一个项目中,有c,有c++、JAVA、C#的程序员的时候,使用接口,扩充性特别好。

  • 相关阅读:
    CentOS 6.3下安装腾达USB无线网卡遇到的问题及解决方法
    验证resneXt,densenet,mobilenet和SENet的特色结构
    比较语义分割的几种结构:FCN,UNET,SegNet,PSPNet和Deeplab
    比较 VGG, resnet和inception的图像分类效果
    强化学习基础
    深度学习的知识点
    卷积神经网络CNN
    信息论的知识点
    理论机器学习
    计算理论基础
  • 原文地址:https://www.cnblogs.com/SeekHit/p/4908833.html
Copyright © 2020-2023  润新知