接口与类的关系(一)

简介: 接口与类的关系(一)1.一个类继承一个接口 2.一个类继承两个接口 3.一个类继承三个接口 4.两个类继承一个接口 5.三个类继承一个接口

接口与类的关系(一)

1.一个类继承一个接口

//接口命名以“I”开头
interface IFly
{
    void Fly(); //这里不写内容,只声明函数;新版本c# 8.0支持写内容
}
class Bird : IFly
{
    public void Fly()  //这里写上public,实例化以后可以在Main中调用
    {
        Console.WriteLine("天高任鸟飞");
    }
}

internal class Program
{
    static void Main(string[] args)
    {
        Bird bird = new Bird(); //类的实例化
        bird.Fly();   //调用已经实现的接口方法 
    }
}

image.png
2.一个类继承两个接口

//接口命名以“I”开头
interface IFly
{
    void Fly(); //这里不写内容,只声明函数;新版本c# 8.0支持写内容
}
interface IEat
{ 
    void Eat();//这里不写内容,只声明函数,新版本c# 8.0支持写内容
}
class Bird : IFly, IEat
{
    public void Fly()  //这里写上public,实例化以后可以在Main中调用
    {
        Console.WriteLine("天高任鸟飞");
    }
    public void Eat()
    {
        Console.WriteLine("壮士饥餐胡虏肉");
    }
}
internal class Program
{
    static void Main(string[] args)
    {
        Bird bird = new Bird(); //类的实例化
        bird.Fly();   //调用已经实现的IFly接口方法 
        bird.Eat();   //调用已经实现的IEat接口方法
    }
}

image.png
3.一个类继承三个接口

//接口命名以“I”开头
interface IFly
{
    void Fly(); //这里不写内容,只声明函数;新版本c# 8.0支持写内容
}
interface IEat
{ 
    void Eat();//这里不写内容,只声明函数,新版本c# 8.0支持写内容
}
interface IDrink
{ 
    void Drink();//这里不写内容,只声明函数,新版本c# 8.0支持写内容
}
class Bird : IFly, IEat
{
    public void Fly()  //这里写上public,实例化以后可以在Main中调用
    {
        Console.WriteLine("天高任鸟飞");
    }
    public void Eat()
    {
        Console.WriteLine("壮士饥餐胡虏肉");
    }
    public void Drink()
    {
        Console.WriteLine("笑谈渴饮匈奴血");
    }
}
internal class Program
{
    static void Main(string[] args)
    {
        Bird bird = new Bird(); //类的实例化
        bird.Fly();   //调用已经实现的IFly接口方法 
        bird.Eat();   //调用已经实现的IEat接口方法
        bird.Drink();//调用已经实现的IDrink接口方法
    }
}

image.png
4.两个类继承一个接口

//定义接口,开头以"I",遵循大驼峰命名法
//大驼峰命名法,常用于类名、函数名、接口名、命名空间名的定义,首字母大写,后面首字母也大写
//小驼峰命名法,常用于变量名、形参名、实例名的定义,首字母小写,后面单词首字母大写
interface ICanRun
{ 
    void Run();
}
//定义骏马(骐骥)的类,继承ICanRun接口
class FineHorse : ICanRun   
{ 
    public void Run() 
    {
        Console.WriteLine("骐骥一跃,不能十步;");
    }
}
//定义驽马的类,继承ICanRun接口
class OldHorse : ICanRun
{
    public void Run()
    {
        Console.WriteLine("驽马十驾,功在不舍。");
    }
}

internal class Program
{
    static void Main(string[] args)
    {
        FineHorse fineHorse = new FineHorse(); //实例名采用小驼峰命名法
        OldHorse oldHorse = new OldHorse();
        fineHorse.Run();//调用接口ICanRun的实现方法
        oldHorse.Run();//调用接口ICanRun的实现方法
    }
}

image.png
5.三个类继承一个接口

//定义一个春雨接口
interface ISpringRain
{
    void SpringRain();
}
//定义诗人杜甫类 
class DuFu : ISpringRain
{
    public void SpringRain()
    {
        Console.WriteLine("好雨知时节,当春乃发生。");
        Console.WriteLine("随风潜入夜,润物细无声。");
        Console.WriteLine();
    }
}
//定义浩然类 
class HaoRan : ISpringRain
{
    public void SpringRain()
    {
        Console.WriteLine("喜雨迎春到,晶晶映翠晴。");
        Console.WriteLine("雨晴唤新绿,迟日暖人间。");
        Console.WriteLine();
    }
}
//定义诗人陆游类
class LuYou : ISpringRain
{
    public void SpringRain()
    {
        Console.WriteLine("小楼一夜听春雨,深巷明朝卖杏花 ");
    }
}
internal class Program
{
    static void Main(string[] args)
    {
        DuFu duFu = new DuFu(); //实例化杜甫类
        HaoRan haoRan = new HaoRan();//实例化浩然类
        LuYou luYou = new LuYou(); //实例化陆游类 
        duFu.SpringRain();// 诗人杜甫遇春雨而喜
        haoRan.SpringRain();//浩然迎春雨而悦
        luYou.SpringRain();//陆游听春雨而兴 

    }
}

image.png
以上不足,请同学、老师批评指正。

相关文章
|
3天前
|
C#
base的使用(一)
c# base的使用(一)
|
3天前
|
C#
base的使用(二)
c# base的使用(二)
base的使用(二)
|
1天前
|
缓存 运维 搜索推荐
KKCE网站测速与性能优化指南:精准检测网站卡顿,高效提升访问速度
网站性能是运营根基,直接影响用户体验与SEO排名。KKCE提供标准化测速体系与实战优化方案,覆盖服务器响应、页面加载、交互体验三大维度,支持多端、多地域、多场景精准诊断,助力零基础站长低成本、高效提升网站速度、稳定性与综合质量。(239字)
57 1
|
1天前
|
SQL Kubernetes Java
六款好用的 IDEA 插件,强烈推荐!!!不容错过
本文介绍IntelliJ IDEA高效开发必备配置与插件:①禁用启动自动打开项目、②配置Maven路径、③自定义类/枚举模板(含作者、日期注释)、④调整编辑器字体;推荐6大实用插件——GenerateAllSetter(一键生成带默认值的setter)、Save Actions X(保存时自动格式化/清理无用导入)、Mybatis X(Mapper-XML双向跳转)、Mybatis Log Free(免费打印完整SQL)、Spring Boot Assistant(YAML智能补全)、Kubernetes(K8s资源文件语法提示与模板生成)。
六款好用的 IDEA 插件,强烈推荐!!!不容错过
|
1月前
|
Java 大数据 双11
一张图看懂 Java 能干什么——从淘宝下单到双11抢货,背后都是它
本文专为Java零基础小白打造,用通俗比喻讲清Java本质(“万能翻译官”)、跨平台特性及核心优势;解析其在电商、支付等真实场景的应用;破除“Java已死”误区,结合数据说明其持续强势;并给出清晰入门路径与实用学习建议,助你科学起步。
一张图看懂 Java 能干什么——从淘宝下单到双11抢货,背后都是它
|
1月前
|
人工智能 API 网络安全
神级组合!阿里云部署 OpenClaw X 飞书 CLI,开启 Agent 基建新时代!(附免费使用6个月服务器)
2026年,AI 与自动化基础设施进入全面落地阶段,各类厂商纷纷开放命令行工具(CLI),标志着软件交互从“为人设计”正式转向“为 AI 设计”。本文以阿里云轻量应用服务器(Lighthouse)为载体,完整呈现**一键部署 OpenClaw、对接飞书 CLI、实现 AI 全自动执行任务**的全流程,让 AI 真正拥有“动手能力”,实现消息自动发送、文献自动整理、知识库自动维护等高频办公场景,真正做到一句话下达指令,AI 全程独立完成。
451 26
|
1月前
|
人工智能 机器人 API
阿里云服务器玩转OpenClaw教程|免费领6月云服务器+配置+飞书接入+让龙虾成为公众号自动化智能分身指南
很多AI爱好者因为缺少稳定服务器,无法长期运行OpenClaw智能体。本文带来一套**零成本阿里云服务器部署方案**,手把手教你搭建OpenClaw环境,并将其改造成可以24小时运行的**公众号智能分身**,实现热点聚合、内容拆解、选题生成、公众号自动发布等全流程自动化能力。
388 24
|
1月前
|
人工智能 弹性计算 安全
OpenClaw是什么?OpenClaw能做什么?OpenClaw详细介绍及保姆级部署教程
2026年爆火的开源AI智能体OpenClaw(昵称“小龙虾”),是首个本地化、跨平台的“数字员工”,能自主执行邮件处理、代码编写、智能家居控制等任务。60天GitHub星标破34万,获黄仁勋、Karpathy盛赞。本文提供阿里云一键部署教程,零代码快速上手!
983 11
|
1月前
|
人工智能 自然语言处理 安全
OpenClaw 与飞书生态对接指南:企业IM+AI高效集成实操教程
本文为OpenClaw与飞书生态对接的实操指南,涵盖前期筹备(权限、JDK环境、凭证管理)、飞书凭证获取、OpenClaw后台配置、安装包下载排错及常见异常排查,步骤详实、安全规范,助力企业快速实现IM+AI无缝集成。
|
1月前
|
人工智能 编解码 自然语言处理
AI电影解说的技术链路拆解:从视频理解到自动剪辑
AI电影解说的技术链路拆解:从视频理解到自动剪辑

热门文章

最新文章