参考代码1:

using System;

namespace InterfaceDemo
{
/// <summary>
/// 定义一个爬树接口
/// </summary>
interface IClimbTree
{
void ClimbTree();
} /// <summary>
/// 定义一个抓老鼠接口
/// </summary>
interface ICatchMouse
{
void CatchMouse();
}
/// <summary>
/// 定义站立行走接口
/// </summary>
interface IStandWalk
{
void StandWalk();
} /// <summary>
/// 定义一个宠物类
/// </summary>
public class Pet
{
protected string Gene = "Pet";
public void Run()
{
Console.WriteLine("我会跑");
}
}
/// <summary>
/// 猫类,继承于宠物类,又实现了爬树和抓老鼠接口
/// </summary>
public class Cat : Pet, IClimbTree, ICatchMouse
{
public void ClimbTree()
{
Console.WriteLine("我会爬树");
}
public void CatchMouse()
{
Console.WriteLine("我会抓老鼠");
}
} /// <summary>
/// 站立猫类,继承于猫类,又实现了站立行走接口
/// </summary>
public class StandCat :Cat, IStandWalk
{
public void StandWalk()
{
Console.WriteLine("我会站立行走");
}
public void WhoAreYou()
{
Console.WriteLine(Gene + " Class Animal");
}
} class Program
{
static void Main(string[] args)
{
Cat cat = new Cat();
cat.Run();
cat.ClimbTree();
cat.CatchMouse();
StandCat standCat = new StandCat();
standCat.StandWalk();
standCat.WhoAreYou();
Console.ReadLine();
}
}
}

参考代码2:

using System;

namespace LearnFromComradeLeiFeng
{
public class School : IPartyCenter, IStateCouncil
{
public void NormalTeach()
{
Console.WriteLine("学校正常教学工作...");
}
void IPartyCenter.LearnFromComradeLeiFeng()
{
Console.WriteLine("学校具体落实向雷锋同志学习的号召....");
}
public void EpidemicPreventionWork()
{
Console.WriteLine("学校具体落实全校抗疫的指导方针....");
}
}
public class Army : IPartyCenter, IStateCouncil
{
public void ReadyToFight()
{
Console.WriteLine("时刻准备打仗...");
}
void IPartyCenter.LearnFromComradeLeiFeng()
{
Console.WriteLine("军队具体落实向雷锋同志学习的号召....");
}
public void EpidemicPreventionWork()
{
Console.WriteLine("军队具体落实全军抗疫的指导方针....");
}
} interface IPartyCenter
{
public void LearnFromComradeLeiFeng();
} interface IStateCouncil
{
void EpidemicPreventionWork();
}
class Program
{
static void Main(string[] args)
{
School sc = new School();
Army am = new Army();
sc.NormalTeach();
sc.EpidemicPreventionWork();
am.ReadyToFight();
am.EpidemicPreventionWork();
IPartyCenter pc = null;
pc=(IPartyCenter) sc;
((IPartyCenter)pc).LearnFromComradeLeiFeng();
pc = (IPartyCenter)am;
((IPartyCenter)pc).LearnFromComradeLeiFeng();
}
}
}

[C#]接口Interface快速Demo的更多相关文章

  1. MyBatis的接口式编程Demo

    很久没细看过MyBatis了,时间一长就容易忘记. 下面是一个接口式编程的例子. 这里的例子一共分为4步: 1 首先要有一个namespace为接口的全类名的映射文件,该例中是 IMyUser.xml ...

  2. 0507 构造代码块和static案例,接口interface

    0507构造代码块和static案例,接口interface [重点] 1.局部变量,成员变量,静态变量的特点 2.接口 接口语法:interface A {} 接口内的成员变量[缺省属性]publi ...

  3. 【Golang】Go 通过结构(struct) 实现接口(interface)

    一.通过结构(struct) 实现 接口(interface) 1.在了解iris框架的时候,经常看到有这样去写的使用一个空结构体作为接收器,来调用方法,有点好奇这样做有什么意义. 解释:在 Go 语 ...

  4. java中的接口interface

    关于接口 接口描述了实现了它的类拥有什么功能.因为Java是强类型的,所以有些操作必须用接口去约束和标记.接口作为类的能力的证明,它表明了实现了接口的类能做什么. 类似与class,interface ...

  5. php中的抽象类(abstract class)和接口(interface)

    一. 抽象类abstract class 1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类. 2 ...

  6. 14 接口-interface的定义与实现

    接口的基本语法一: 1.使用interface 定义 2.接口当中的方法都是抽象方法 3.接口当中的方法都是public权限 接口的定义: interface USB { public void re ...

  7. C#编程利器之三:接口(Interface)【转】

    C#编程利器之三:接口(Interface) C#接口是一个让很多初学者容易迷糊的东西,用起来好象很简单,定义接口,然后在里面定义方法,通过继承与他的子类来完成具体的实现.但没有真正认识接口的作用的时 ...

  8. 为什么不能把委托(delegate)放在一个接口(interface)当中?

    stackoverflow上有人问,为什么不能把委托放在一个接口当中? 投票最多的第一个答案第一句话说,“A Delegate is just another type, so you don't g ...

  9. java之接口interface

    接口 1.多个无关的类可以实现同一个接口 2.一个类可以实现多个无关的接口 3.与继承关系类似,接口与实现类之间存在多态性 4.定义java类的语法格式 < modifier> class ...

  10. 【Java 基础篇】【第六课】接口interface

    Java提供的这个interface的语法,目的就是将接口从类中剥离出来,构成独立的主体. 首先加入我们定义了这个杯子接口: interface Cup { void addWater(int w); ...

随机推荐

  1. es 部署 进程、文件数 配置

    1.  /etc/security/limits.conf elasticsearch soft nofile 65536 elasticsearch hard nofile 65536 elasti ...

  2. composer更新报错

    在用composer安装Yii2的扩展插件时,报错: [UnexpectedValueException] Could not parse version constraint <=2.*: I ...

  3. Linux进程调度算法

    进程的状态 进程的基本状态 就绪:进程已获得除处理机以外的所需资源,等待分配处理机资源 执行:进程正在占用处理机资源执行 阻塞:进程等待某种条件,在条件满足之前无法执行.例如发起I/O系统调用,等待I ...

  4. Kubernetes基础配置管理

    一.ConfigMap创建 1-1.基于目录创建ConfigMap 首先创建一个configmap/conf存储目录,分别建立.conf文件 mkdir /configmap/conf #创建.con ...

  5. 学生网络创业交流会-2021年office

    1.课程的讲解之前,先来对题目进行分析,首先需要在考生文件夹下,将Wrod素材.docx文件另存为Word.docx,后续操作均基于此文件,否则不得分. 2.这一步非常的简单,打开下载素材文件,在[文 ...

  6. 杭电oj 青年歌手大奖赛_评委会打分

    Problem Description 青年歌手大奖赛中,评委会给参赛选手打分.选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分.   Input 输入数据有多组,每 ...

  7. Linux基础第七章:磁盘阵列(RAID)

    一.磁盘阵列 二.磁盘阵列类型 1.RAID 0 2.RAID 1 3.RAID 5 4.RAID10 三.磁盘阵列配置 1.硬件方式 2.软件方式 一.磁盘阵列独立硬盘冗余阵列(RAID, Redu ...

  8. Mysql学习:2、mysql基本命令

    1.下载安装好的mysql分为两种数据库: a.系统自带: b.用户自己创建: 2.基本命令: create database 数据库名称; // 创建数据库:记住后面加 分号 drop databa ...

  9. 迭代器简易用法Iterator

    1 public static void main(String[] args) { 2 List<String> list = Arrays.asList("111" ...

  10. mangodb查询语句

    1.查询所有记录 db.userInfo.find(); 相当于: select* from userInfo; 默认每页显示20条记录,当显示不下的情况下,可以用it迭代命令查询下一页数据.注意:键 ...