声明一个接口IPlayer,包含5个接口方法:播放、停止、暂停、上一首和下一首。设计一个Windows应用程序,在该程序中定义一个MP3播放器类和一个AVI播放器类,以实现该接口,最后创建相应类的实例

本文主要是介绍声明一个接口IPlayer,包含5个接口方法:播放、停止、暂停、上一首和下一首。设计一个Windows应用程序,在该程序中定义一个MP3播放器类和一个AVI播放器类,以实现该接口,最后创建相应类的实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
从左往右,btnMP3,lblShow,btnAVI

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace WindowsFormsApplication1
{public partial class Form1 : Form{public Form1(){InitializeComponent();}IPlayer iplayer;MP3 mp3;AVI avi;interface IPlayer    //接口定义{string Play();   //播放string Stop();   //停止string Pause();  //暂停string Pre();    //上一首string Next();   //下一首}public class MP3 : IPlayer{public string Play(){return "正在播放MP3歌曲!";}public string Stop(){return "停止播放MP3歌曲!";}public string Pause(){return "暂停播放MP3歌曲!";}public string Pre(){return "播放上一首MP3歌曲!";}public string Next(){return "播放下一首MP3歌曲!";}}public class AVI : IPlayer{public string Play(){return "正在播放AVI视频!";}public string Stop(){return "停止播放AVI视频!";}public string Pause(){return "暂停播放AVI视频!";}public string Pre(){return "播放上一首AVI视频!";}public string Next(){return "播放下一首AVI视频!";}}private void btnAVI_Click(object sender, EventArgs e){avi = new AVI();       //新建AVI对象iplayer = (IPlayer)avi;     //将avi转化为接口}private void btnMP3_Click(object sender, EventArgs e){mp3 = new MP3();        //新建Mp3对象iplayer = (IPlayer)mp3;     //将MP3转换为接口}private void button3_Click(object sender, EventArgs e)//上一首{if (mp3 is IPlayer || avi is IPlayer)       //判断{lblShow.Text = "\n" + iplayer.Pre();}else{MessageBox.Show("请选择播放MP3歌曲或AVI视频!");}}private void button5_Click(object sender, EventArgs e)//停止{if (mp3 is IPlayer || avi is IPlayer)   //判断类型{lblShow.Text = "\n" + iplayer.Stop();}else{MessageBox.Show("请选择播放MP3歌曲或AVI视频!");//判断是否为空}}private void button6_Click(object sender, EventArgs e)//播放{if (mp3 is IPlayer || avi is IPlayer){lblShow.Text = "\n" + iplayer.Play();}else{MessageBox.Show("请选择播放MP3歌曲或AVI视频!");}}private void button7_Click(object sender, EventArgs e)//暂停{if (mp3 is IPlayer || avi is IPlayer){lblShow.Text = "\n" + iplayer.Pause();}else{MessageBox.Show("请选择播放MP3歌曲或AVI视频!");}}private void button4_Click(object sender, EventArgs e)//下一首{if (mp3 is IPlayer || avi is IPlayer){lblShow.Text = "\n" + iplayer.Next();}else{MessageBox.Show("请选择播放MP3歌曲或AVI视频!");}}}
}

这篇关于声明一个接口IPlayer,包含5个接口方法:播放、停止、暂停、上一首和下一首。设计一个Windows应用程序,在该程序中定义一个MP3播放器类和一个AVI播放器类,以实现该接口,最后创建相应类的实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/859854

相关文章

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

504 Gateway Timeout网关超时的根源及完美解决方法

《504GatewayTimeout网关超时的根源及完美解决方法》在日常开发和运维过程中,504GatewayTimeout错误是常见的网络问题之一,尤其是在使用反向代理(如Nginx)或... 目录引言为什么会出现 504 错误?1. 探索 504 Gateway Timeout 错误的根源 1.1 后端

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

Java Kafka消费者实现过程

《JavaKafka消费者实现过程》Kafka消费者通过KafkaConsumer类实现,核心机制包括偏移量管理、消费者组协调、批量拉取消息及多线程处理,手动提交offset确保数据可靠性,自动提交... 目录基础KafkaConsumer类分析关键代码与核心算法2.1 订阅与分区分配2.2 拉取消息2.3