zoukankan      html  css  js  c++  java
  • 从零开始学C#-接口

    导学

    这一章的内容比较难,学这个的前提是你已经掌握了C#的基本语法,了解什么是继承,什么是面向对象。
    有了这个之后,我会尽量用最简单通俗的语言去梳理整个知识,冲冲冲!!!

    接口·解决的问题

    假设我们现在有一个U盘类,MP4类,

        class mp4
        {
            void playmusic()
            {
                Console.WriteLine("我能播放英语");
            }
        }
        class Udisk
        {
            void save()
            {
                Console.WriteLine("我能存储文件");
            }
        }
    

    这是我们声明一个USB插口类

    接口·定义

    规定实现接口的类必须实现对应的函数和属性。
    如果在实现接口的类中,没有声明和实现接口中所有的方法和属性,编译器就会提示错误。
    这个说法可能比较抽象,我们接下来举例子继续详细说明。

    接口·作用

    1. 可以规范类的结构。
      既然接口规定了类不惜实现哪些方法和属性,那我们可以通过这个一特性把一些必须实现的方法和属性写成接口,然后让类继承,这样可以避免对应的类丢失某些必要的接口。
      举个例子,现在我们要创建一个类-‘人’。
      人有什么类别?亚洲人,欧洲人,非洲人等,但是这些类都有共同的属性,例如有四肢,有五官之类的,这些都是必须的,所以加上接口进行规范。
      这样的话,通过声明一个父类不就行了,把需要实现的方法和属性都以虚函数的方式在这个类中实现,然后子类继承父类,这不就让子类有了必须有的方法和属性了吗?其实这就要说到接口的真正用法。
    2. 让一个类可以完成多个任务,而不依赖于继承。
      继承还带来很多额外的负担,你必须继承每一个方法、属性和字段,而不只是与特定任务有关的那些成员。

    接口·其它用法·作为参数

    接口做为参数传递,传递的是实现了接口的对象;
    接口作为类型返回,返回的是实现了接口的对象。

    接口·注意

    1. 接口都是默认public,无需访问修饰符。
    2. 接口无法实例化。
    3. 接口并不可以避免重复代码。因为接口本身没有方法和属性的实现,一切都必须由实现它的类去完成所有代码。
    4. 接口可以继承其它接口
  • 相关阅读:
    [SCOI 2003] 字符串折叠
    [POJ 3252] Round Numbers
    [ZJOI 2010] 数字计数
    [POJ 2282] The Counting Problem
    [POJ 1191] 棋盘分割
    [POJ 3345] Bribing FIPA
    [POJ 2785] 4 Values whose Sum is 0
    [NOIP 2017] 列队
    [NOIP 2017] 宝藏
    基于Qt Gui的Led控制显示程序
  • 原文地址:https://www.cnblogs.com/LY-CS/p/14464855.html
Copyright © 2011-2022 走看看