C#实现两接口中同名方法实例分析
本文实例讲述了C#实现两接口中同名方法。分享给大家供大家参考。具体分析如下:
对于一个类实现两个接口,而这两个接口又有同名方法,C#中的处理方式如下:
using System; using System.Collections.Generic; using System.Text; namespace Super { class Program { static void Main(string[] args) { SuperMan sm = new SuperMan(); sm.NightWork(); ((IMoster)sm).Create(); sm.DayWord(); ((IPerson)sm).Create(); } } //妖的接口 interface IMoster { void NightWork();//晚上工作的方法 void Create();//晚上生育的方法 } //人的接口 interface IPerson { void DayWord();//白天工作的方法 void Create();//白天生育的方法 } //超人 实现妖和人 两接口 class SuperMan : IMoster, IPerson { #region IMoster 成员 public void NightWork() { Console.WriteLine("晚上工作"); } void IMoster.Create() { Console.WriteLine("晚上生妖"); } #endregion #region IPerson 成员 public void DayWord() { Console.WriteLine("白天工作"); } void IPerson.Create() { Console.WriteLine("白天生人"); } #endregion } }
希望本文所述对大家的C#程序设计有所帮助。
相关推荐
-
C#判断一个类是否实现了某个接口3种实现方法
B为一个类,ISay为一个接口. 方法1: 复制代码 代码如下: B b = new B(); if (b.GetType().GetInterface("ISay") != null) { //如果实现了接口"ISay",... } 方法2: 复制代码 代码如下: B b = new B(); if (b is ISay) {
-
C#中IEnumerable接口用法实例分析
本文实例讲述了C#中IEnumerable接口用法.分享给大家供大家参考.具体分析如下: 枚举数可用于读取集合中的数据,但不能用于修改基础集合. 最初,枚举数定位在集合中第一个元素前.Reset 方法还会将枚举数返回到此位置.在此位置上,Current 属性未定义.因此,在读取 Current 的值之前,必须调用 MoveNext 方法将枚举数提前到集合的第一个元素. 在调用 MoveNext 或 Reset 之前,Current 返回同一对象.MoveNext 将 Current 设置为下一个
-
C#中类与接口的区别个人总结
一.类与接口的区别 类:描述了一个实体,包括实体的状态,也包括实体可能发出的动作. 接口:定义了一个实体可能发出的动作.但是只是定义了这些动作的原型,没有实现,也没有任何状态信息. 1.接口与类区别: (1)接口有点象一个规范.一个协议,是一个抽象的概念: (2)而类则是实现了这个协议,满足了这个规范的具体实体,是一个具体的概念. (3)从程序角度,简单理解,接口就是函数声明,类就是函数实现.需要注意的是同一个声明可能有很多种实现. 2.接口与抽象类的区别: (1)A class can imp
-
C#显式地实现接口成员的方法
本文实例讲述了C#显式地实现接口成员的方法.分享给大家供大家参考.具体实现方法如下: // explicit1.cs interface IDimensions { float Length(); float Width(); } class Box : IDimensions { float lengthInches; float widthInches; public Box(float length, float width) { lengthInches = length; widthI
-
C#接口实现方法实例分析
本文实例讲述了C#接口实现方法.分享给大家供大家参考.具体如下: 在讲解C#实现接口的实例解析之前我们来看看C#接口的定义,如果一个类派生于一个接口,它就会执行某些函数.并不是所有的面向对象语言都支持接口,所以本节将详细介绍C#实现接口的问题. C#实现接口注意: 熟悉COM的开发人员应注意,尽管在概念上C#接口类似于COM接口,但它们是不同的,底层的结构不同,例如,C#接口并不派生于IUnknown.C#接口根据.NET函数提供了一个契约.与COM接口不同,C#接口不代表任何类型的二进制标准.
-
C#使用有道ip地址查询接口方法实例详解
本文实例讲述了C#使用有道ip地址查询接口方法.分享给大家供大家参考.具体实现方法如下: #region 读取http://www.yodao.com接口IP地址 /// <summary> /// 读取http://www.yodao.com接口IP地址 /// </summary> public static string GetstringIpAddress(string strIP)//strIP为IP { string sURL = "http://www.yo
-
日常收集C#接口知识(知识全面)
第一节 接口慨述 接口(interface)用来定义一种程序的协定.实现接口的类或者结构要与接口的定义严格一致.有了这个协定,就可以抛开编程语言的限制(理论上).接口可以从多个基接口继承,而类或结构可以实现多个接口.接口可以包含方法.属性.事件和索引器.接口本身不提供它所定义的成员的实现.接口只指定实现该接口的类或接口必须提供的成员. 接口好比一种模版,这种模版定义了对象必须实现的方法,其目的就是让这些方法可以作为接口实例被引用.接口不能被实例化.类可以实现多个接口并且通过这些实现的接口被索引.
-
通过C#实现自动售货机接口
下面分几部分介绍C#实现自动售货机接口的方法,代码写的非常详细,不懂的地方有注释可以参考下. MachineJP类: 第1部分:串口初始化,串口数据读写 using System; using System.Collections.Generic; using System.IO.Ports; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using Syst
-
详解C#中的接口属性以及属性访问器的访问限制
接口属性 可以在接口上声明属性.以下是接口索引器访问器的示例: public interface ISampleInterface { // Property declaration: string Name { get; set; } } 接口属性的访问器不具有体.因此,访问器的用途是指示属性是否为读写.只读或只写. 在此例中,接口 IEmployee 具有读写属性 Name 和只读属性 Counter. Employee 类实现 IEmployee 接口并使用这两种属性.程序读取新雇员的姓名
-
C#实现两接口中同名方法实例分析
本文实例讲述了C#实现两接口中同名方法.分享给大家供大家参考.具体分析如下: 对于一个类实现两个接口,而这两个接口又有同名方法,C#中的处理方式如下: using System; using System.Collections.Generic; using System.Text; namespace Super { class Program { static void Main(string[] args) { SuperMan sm = new SuperMan(); sm.NightW
-
Python中replace方法实例分析
本文以实例形式讲述了Python中replace方法,很有实用价值,具体如下: replace方法主要有两种: last_date = "1/2/3" 目标为"123" 方法一:repalce date =last_date.replace('/','') 方法二:re p = re.compile("/") date = p.sub('', last_date) 需要注意的是:一定不要转义,否则函数不会生效. replace 方法返回根据正则表
-
thinkPHP中_initialize方法实例分析
本文实例讲述了thinkPHP中_initialize方法.分享给大家供大家参考,具体如下: 子类的_initialize方法自动调用父类的_initialize方法.而php的构造函数construct,如果要调用父类的方法,必须在子类构造函数显示调用parent::__construct(); <?php class BaseAction extends Action { // 继承Thinkphp protected function _initialize() { // thinkphp
-
C#中矩阵运算方法实例分析
本文实例讲述了C#中矩阵运算方法.分享给大家供大家参考.具体分析如下: 一.测试环境: 主机:XP 开发环境:VS2008 二.功能: 在C#中实现矩阵运算 三.源代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using Sy
-
JavaScript接口实现方法实例分析
本文实例讲述了JavaScript接口实现方法.分享给大家供大家参考,具体如下: JavaScript中实现接口的方法有三种: 第一种,使用注释的方法实现接口 特点: (1)最简单,但是功能最弱 (2)利用 interface和 implement"文字" (3)把他们用注释的方式表现出来 具体实现如下: 1,用注释定义一个接口 /* * interface PersonDao(){ * function add(obj); * function remove(obj); * func
-
Java8中新特性Optional、接口中默认方法和静态方法详解
前言 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库.工具和JVM等方面的十多个新特性. Java 8是Java的一个重大版本,有人认为,虽然这些新特性领Java开发人员十分期待,但同时也需要花不少精力去学习.下面本文就给大家详细介绍了Java8中新特性Optional.接口中默认方法和静态方法的相关内容,话不多说了,来一起看看详细的介绍吧. Optional Optional 类(java.util.Optional) 是一个
-
解决Kotlin 类在实现多个接口,覆写多个接口中相同方法冲突的问题
一.首先来看一个例子 package net.println.kotlin.chapter4 /** * @author:wangdong * @description:类实现接口的冲突问题 */ interface B{ fun x(): Int = 1 } interface C{ fun x(): Int = 0 } /**一个类实现了两个接口,两个接口中的方法相同,这个类在覆写的时候就会出现冲突*/ class D: B,C{ //当下面两个方法同时存在的时候,就会报方法相同的冲突 ov
-
default怎么修饰接口中的方法详解
一.default修饰接口中的方法 在实现HandlerInterceptor接口时,我发现不实现HandlerInterceptor接口的方法也不会报错 仔细想来,还是我对接口的理解不清晰. 打开源码发现HandlerInterceptor接口中的方法都是default 在以前的接口编写中,我总是省略权限修饰符,因为在接口中的方法中默认是public abstract. 那么再来对接口进行总结. 那么也就是说,实现类要覆盖接口中的抽象方法就能实例化,而HandlerInterceptor接口中
-
MongoDB中aggregate()方法实例详解
目录 前言 1,了解aggergate()方法 2,实现聚合表达式运算符 总结 前言 MongoDB的一个很大的好处是能够使用MapReduce来吧数据库查询的结果简化成一个与原来的集合完全不同的结构.MapReduce把一个数据库查询的值映射为一个完全不同的形式,然后简化结果,使它们的可用性更好. MongoDB有一个MapReduce框架,它也允许你使用聚合来简化吧一个MapReduce操作传输到另一个MapReduce操作的一系列过程.有了MapReduce和聚合,可以用数据生成一些不平凡
-
java求两个数中的大数(实例讲解)
java中的max函数在Math中 应用如下: int a=34: int b=45: int ans=Math.max(34,45); 那么ans的值就是45. 以上这篇java求两个数中的大数(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
随机推荐
- PHP + plupload.js实现多图上传并显示进度条加删除实例代码
- JavaScript实现简单的时钟实例代码
- 关于react-router的几种配置方式详解
- python中如何使用正则表达式的非贪婪模式示例
- 使用JavaScript解决网页图片拉伸问题(推荐)
- JS实现仿FLASH效果的竖排导航代码
- ASP.NET设计网络硬盘之上传文件实现代码
- 9个比较实用的php代码片段
- php数值转换时间及时间转换数值用法示例
- Python守护进程(daemon)代码实例
- C#图书管理系统 附源码下载
- Android中fragment+viewpager实现布局
- javascript 建设银行登陆键盘
- JSP学习之数据库开发小结
- Spring+MyBatis实现数据库读写分离方案
- 访问和更改关系数据,使用MSSQL外联接
- Java后端实现MD5加密的方法
- Android实现下载文件功能的方法
- android之SeekBar控件用法详解
- java反射获取一个object属性值代码解析