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. 接口可以继承其它接口
  • 相关阅读:
    5.19 省选模拟赛 T1 小B的棋盘 双指针 性质
    5.15 省选模拟赛 容斥 生成函数 dp
    5.15 省选模拟赛 T1 点分治 FFT
    5.15 牛客挑战赛40 B 小V的序列 关于随机均摊分析 二进制
    luogu P4929 【模板】舞蹈链 DLX
    CF 878E Numbers on the blackboard 并查集 离线 贪心
    5.10 省选模拟赛 拍卖 博弈 dp
    5.12 省选模拟赛 T2 贪心 dp 搜索 差分
    5.10 省选模拟赛 tree 树形dp 逆元
    luogu P6088 [JSOI2015]字符串树 可持久化trie 线段树合并 树链剖分 trie树
  • 原文地址:https://www.cnblogs.com/LY-CS/p/14464855.html
Copyright © 2011-2022 走看看