C#中的接口
来源:互联网 发布:1到100全部素数c语言 编辑:程序博客网 时间:2024/06/05 20:33
前言:
在某周五的晚上我们详细且激烈的讨论了UML中的九大图以及四中关系,中间不乏仁人志士对接口提出了一系列的问题和独到的见解,此时再在C#视频中听到老杨口中的接口,理解便更加深刻了。
内容:
先对接口的概念有所了解吧,万变不离其宗。百度百科解释:接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式。人类与电脑等信息机器或人类与程序之间的接口称为用户界面。电脑等信息机器硬件组件间的接口叫硬件接口。电脑等信息机器软件组件间的接口叫软件接口。在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。这种交换可以发生在计算机软、硬件,外部设备或进行操作的人之间,也可以是它们的结合。
我们的理解:
就像是插座和插头的关系,那个插孔就相当于一个接口我们常说的USB接口也是一个接口,我们无需知道U盘内部的结构和方法,只需要知道U盘插到电脑上就可以用就行了,用于程序中便是,对封装好的类我们无需去研究它到底用了什么方法,只要通过接口去实现这个方法即可。
有关接口的知识:
1、通常我们用Interface关键字来定义接口。可由方法,属性,时间,索引器或四中成员类型的任意组合构成。
2、添加一个接口类的时候通常要以I开通来命名如果一个类即继承又实现了连接口,那么类必须卸载前面一个类,那么类必须写在前面,一个类只能接口,但可以实现一个接口但可以实现多个接口
3、并且没有“类继承接口”这个说法,只能是实现接口。
4、不能直接实例化接口
5、接口不包含方法的实现,接口是一种能力
看一段小程序:
class Program { static void Main(string[] args) { // Teacher t = new Teacher(); // t.IFly(); // Console.ReadKey(); List<string> list = new List<string>(); IFly ifly = new Teacher();//又是多态的体现形式,这是高级部分内容了 ifly.IFly(); Console.ReadKey(); } } public class Person { private string _name; public string Name { get { return _name; } set { _name = value; } } private char _gender; public char Gender { get { return _gender; } set { _gender = value; } } private int _age; public int Age { get { return _age; } set { _age = value; } } public void Show() { Console.WriteLine("{0}岁的{1}在学校是最学霸的{2}学生", _age, _name, _gender); } }
namespace _09接口{ interface IFly { void IFly(); }}
public class Teacher : Person,IFly { public void Say() { Console.WriteLine("hellow,我是老师"); } public void IFly() { Console.WriteLine("我会飞"); } //void IFly.IFly() //{ // Console.WriteLine("我也会飞"); //} } public class Student:IFly { public void SayHello() { Console.WriteLine("我是学生"); } public void IFly() { Console.WriteLine("我会飞"); } }
总结:
C#中的接口和类的异同:
异: 不能直接实例化接口。 接口不包含方法的实现。 接口可以实现多继承,而类只能是单继承。 类定义可在不同的源文件之间进行拆分。
同: 接口、类和结构可从多个接口继承。 接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。 接口可以包含事件、索引器、方法和属性。 一个类可以实现多个接口。(摘自网络)
- C#中的接口
- C#中的接口
- C#中的接口
- C#中的接口(收藏)
- C#中的接口
- C#中的接口
- 谈谈C#中的接口
- C#中的接口分析
- C#中的接口
- C#中的接口
- C#中的接口
- C#中的接口
- C#中的接口
- 谈谈C#中的接口
- c#中的接口
- c#中的接口
- 谈谈C#中的接口
- C#中的接口
- Struts2之文件下载
- 如果编程是女人
- makefile中的wildcard用法
- 外观模式
- Saltstack内置核心模块useradd
- C#中的接口
- Spring获取ApplicationContext的方法
- Face Detection & Alignment
- 跳转界面Intent 显示意图和隐式意图的特点
- 一、storm基础概念
- Saltstack内置核心模块shadow
- 【Machine Learning公开课】Chapter 2
- 关于java中的操作符
- C# 获取CPU序列号、网卡MAC地址、硬盘序列号封装类,用于软件绑定电脑