




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验8 委托与事件,抽象类、多态和接口一 实验题目:委托与事件,抽象类,多态和接口二 实验目的和要求1. 掌握委托和事件的使用。2. 掌握抽象类,多态和接口的概念。3. 掌握抽象类,多态和接口的使用。三 实验内容1. 委托的使用。using System;namespace Example_Delegate delegate int MyDelegate();/第一步:委托声明 delegate int NumOpe(int a, int b); /第一步:委托声明 class MyClass public int M1() Console.WriteLine(调用的实例的方法); return 0; public static int M2() Console.WriteLine(调用的静态的方法); return 0; class clsAdd public int Add(int num1, int num2) return (num1 + num2); class Test static void Main() Console.writeLine(“这里输出你的学号”); MyClass cls = new MyClass(); /委托实例化,注意参数是要使用的参数名,且不带括号 MyDelegate d = new MyDelegate(cls.M1); d(); d = new MyDelegate(MyClass.M2); d(); clsAdd add = new clsAdd(); NumOpe p = new NumOpe(add.Add); Console.WriteLine(p(1, 2); /委托调用 Console.ReadLine(); 2. 演示事件的声明、事件的预订及事件的发生。using System;namespace Example_Event delegate void MyEventHandler();/为事件建立一个委托 class MyEvent public event MyEventHandler activate;/声明一个事件 public void fire() /调用此方法来触发事件 if (activate != null) activate();/事件发生 class Test static void handler() Console.WriteLine(事件发生); static void Main() Console.writeLine(“这里输出你的学号”); MyEvent evt = new MyEvent(); /把方法handler()添加到事件列表中 evt.activate += new MyEventHandler(handler); evt.fire(); /调用触发事件的方法 3. 抽象类的定义及使用,多态性演示。定义运动员抽象类如下: public abstract class Player / 抽象方法:训练 public abstract void Train(); 分别实现3个子类运动员的抽象方法Train()。 public class FootballPlayer : Player /继承抽象父类Player public override void Train() Console.WriteLine(Football players are training.); / 游泳运动员 public class SwimPlayer : Player public override void Train() Console.WriteLine(Swim players are training.); / 短跑运动员public class Sprinters : Player public override void Train() Console.WriteLine(Sprinters are training.); class MainTeststatic void Main(string args) Console.writeLine(“这里输出你的学号”);Player p = new Player3; /下面的代码演示多态性 p0=new FootballPlayer(); p1=new SwimPlayer();p2=new Sprinters(); Random rnd = new Random(); int i = rnd.next(0,3); StartTrain(pi); Static void StartTrain(Player tmp) p.train(); 4. 演示接口的定义和实现。/定义Ishape接口。 public interface Ishape double GetArea(); /继承Ishape接口实现矩形类。public class Rectangle: Ishape public double dblWidth;/宽public double dblHeitht;/高/ 构造函数public Rectangle(double _dblWidth,double _dblHeight)this.dblWidth=_dblWidth;this.dblHeitht=_dblHeight;/ 求矩形面积public double GetArea()return this.dblHeitht*this.dblWidth;/继承IShape接口实现圆形类。Public class Circle:IShapePublic double dblR; /半径Public const double PI = 3.14159;Public Circle(double r) dblR = r;/实现IShape接口中的抽象方法GetAreaPublic double GetArea() return this.dblR*dblR*PI;Public class ProgramStatic void Main() Console.writeLine(“这里输出你的学号”); Rectangle rect = new Rectangle(10,20); Program.ShowInfoOfArea(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 插画人物头像绘制技法
- 2026届江苏南通市启秀中学九上化学期中统考试题含解析
- 文职类的月度工作总结
- 公司晋升工作总结
- 2026届山东省禹城市化学九年级第一学期期中复习检测试题含解析
- 江苏省宜兴市外国语学校2026届九年级英语第一学期期末统考模拟试题含解析
- 2026届广西防城港市九年级英语第一学期期末考试试题含解析
- 广西壮族自治区贵港市覃塘区2026届九上化学期中学业水平测试试题含解析
- 福建福州延安中学2026届九年级化学第一学期期中考试试题含解析
- 2025年护理文书考试题(附答案)
- 煤矿防治水细则解读
- 《2.1.3 活化能》参考课件
- 【物业分享】神秘顾客(交付项目物业服务体验)调查评分表
- DZ∕T 0173-2022 大地电磁测深法技术规程(正式版)
- 宠物服务行业市场深度分析及竞争格局与投资价值研究报告
- 2023年高中语文课内古文精读20:滕王阁序(王勃)
- 当代媒介素养 课件 高萍 第1-5讲 媒介素养范畴-受众认知结构与个体差异
- 《预防脊柱侧弯》课件
- 汽车发动机电控系统检修(高职)全套教学课件
- 基础应用化学(高职)全套教学课件
- 低压配电柜技术规范书
评论
0/150
提交评论