首页/新闻资讯/正文详情

C#面向对象,封装、继承、多态、委托与事件实例

发布时间:2026/11/15 22:32:31 来源:云帆数科 栏目:资讯中心
C#面向对象,封装、继承、多态、委托与事件实例
一面向对象封装性编程创建一个控制台应用程序要求1定义一个服装类Cloth具体要求如下1包含3个字段服装品牌mark,服装颜色color定价price2一个接收3个参数的构造函数3自定义函数Information输出一个服装实例的所有信息。2在主类中实现如下功能1调用构造函数创建1个服装类的实例2通过该实例调用Information方法获取该实例信息。如图1所示。public class Cloth{// 字段public string mark; // 服装品牌public string color; // 服装颜色public decimal price; // 定价// 构造函数public Cloth(string mark, string color, decimal price){this.mark mark;this.color color;this.price price;}// 自定义函数Information输出服装实例的所有信息public void Information(){Console.WriteLine($服装品牌: {mark}颜色: {color}定价: {price}元);}}private static void Main(string[] args){// 调用构造函数创建一个服装类的实例Cloth newCloth new Cloth(笨小孩, 蓝色, 300);// 通过该实例调用Information方法获取该实例信息newCloth.Information();// 程序结束等待用户输入以便查看输出信息Console.ReadLine();}二、面向对象继承性编程创建一个控制台应用程序要求1.自定义一个Fruit类添加name字段和构造函数添加Info方法输出水果信息2.再定义一个Banana类Banana类继承Fruit类在Banana类中添加color字段和构造函数再添加一个like方法3.测试类Main方法中实例化两个类对象输出如图2所示。// 自定义Fruit类public class Fruit{// 字段public string name;// 构造函数public Fruit(string name){this.name name;}// Info方法输出水果信息public void Info(){Console.WriteLine($名称{name});}}// Banana类继承Fruit类public class Banana : Fruit{// 字段public string color;// 构造函数public Banana(string name, string color) : base(name){this.color color;}public void InfoCOLOR(){Console.WriteLine($名称{color});}// like方法public void Like(){Console.WriteLine($猴子喜欢吃{color}的{name});}}private static void Main(string[] args){// 实例化Fruit类对象Fruit fruit new Fruit(香蕉);fruit.Info();// 实例化Banana类对象Banana banana new Banana(香蕉, 黄色);banana.InfoCOLOR(); // 调用基类的InfoCOLOR方法banana.Like();// 等待用户输入以便查看输出信息Console.ReadLine();}三、面向对象多态性编程。创建一个控制台应用程序要求1.定义一个Vehicle类包含name字段和虚方法Wheel2.再定义一个Car类继承Vehicle类重写Wheel方法3.再定义一个Bike类继承Vehicle类重写Wheel方法4.测试类Main方法中定义Vehicle数组长度为3实例化各类对象输出如图3所示。// 定义Vehicle基类public class Vehicle{public string Name { get; set; }// Vehicle类的构造函数public Vehicle(string name){Name name;}// 虚方法Wheelpublic virtual void Wheel(){Console.WriteLine(${Name} 都有轮子);}}// Car类继承Vehicle类并重写Wheel方法public class Car : Vehicle{public Car(string name) : base(name) { }// 重写Wheel方法public override void Wheel(){Console.WriteLine(${Name} 有四个轮子);}}// Bike类继承Vehicle类并重写Wheel方法public class Bike : Vehicle{public Bike(string name) : base(name) { }// 重写Wheel方法public override void Wheel(){Console.WriteLine(${Name} 有两个轮子);}}private static void Main(string[] args){// 创建一个Vehicle类型的数组长度为3Vehicle[] vehicles new Vehicle[3];// 实例化各类对象并添加到数组中vehicles[0] new Car(交通工具);vehicles[1] new Bike(汽车);vehicles[2] new Vehicle(自行车); // 默认使用基类的Wheel方法// 遍历数组并调用Wheel方法foreach (var vehicle in vehicles){vehicle.Wheel();}// 等待用户输入以便查看输出信息Console.ReadLine();}四 委托与事件创建一个控制台应用程序要求1.定义一个Monitor类和一个Student类模拟收作业过程2.定义委托类型Mydele和事件Homework3.班长说开始收作业学生响应消息交作业。输出如图4所示。// 定义委托类型MyDelegatepublic delegate void MyDelegate(string message);// 定义事件Homeworkpublic class HomeworkEventArgs : EventArgs{public string Message { get; }public HomeworkEventArgs(string message){Message message;}}// 定义Monitor类public class Monitor{// 事件声明public event EventHandlerHomeworkEventArgs Homework;// 开始收作业的方法public void StartCollectingHomework(){Console.WriteLine(班长说‘开始收作业’);// 检查是否有订阅者并触发事件Homework?.Invoke(this, new HomeworkEventArgs(请交上作业));}}// 定义Student类public class Student{public string Name { get; }public Student(string name){Name name;}// 订阅事件并响应作业提交public void SubscribeHomeworkEvent(Monitor monitor){monitor.Homework OnHomeworkReceived;}// 事件处理方法private void OnHomeworkReceived(object sender, HomeworkEventArgs e){Console.WriteLine(${Name}说‘好的我这就交作业。’);}}private static void Main(string[] args){// 创建Monitor对象Monitor monitor new Monitor();// 创建Student对象Student student1 new Student(学生A);Student student2 new Student(学生B);// 学生订阅收作业事件student1.SubscribeHomeworkEvent(monitor);student2.SubscribeHomeworkEvent(monitor);// 班长开始收作业触发事件monitor.StartCollectingHomework();Console.ReadLine(); // 等待用户输入以便查看输出信息}

相关推荐

C# ListView控件
C# ListView控件

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 4:58:50

小米浏览器空间占用分析
小米浏览器空间占用分析

动机往手机里装了个 30-40 GB 的游戏后,变成存储空间敏感型性格。那时就留意到MIUI内置、但可以被更新的小米浏览器应用(com.android.browser)的存储空间占用,以浏览器的标准评估,占得太多了。这几年间应用信息-存储占… · 2026/11/14 4:04:03

【办公类-04-05】20250115华为助手导出照片视频分类(根据图片、视频的文件名日期导入”年-月-日”文件夹中,并转移到“年-月”文件中整理、转移到自制的“年”文件夹中整理)
【办公类-04-05】20250115华为助手导出照片视频分类(根据图片、视频的文件名日期导入”年-月-日”文件夹中,并转移到“年-月”文件中整理、转移到自制的“年”文件夹中整理)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 1:25:24

想考电工证学习哪里好 电工证多少钱怎么报
想考电工证学习哪里好 电工证多少钱怎么报

想考电工证学习哪里好 电工证多少钱怎么报 你是不是也经常听到别人说, 电工证能改变命运 ,但你却不知道 想考电工证学习哪里好 ?更担心报名被坑、花钱还拿不到证?今天我就来聊聊 电工证多少钱… · 2026/11/15 22:32:18

电工证搞笑实操考试考什么 通过率揭秘
电工证搞笑实操考试考什么 通过率揭秘

电工证搞笑实操考试考什么 通过率揭秘 你是不是也听说过“电工证搞笑”这个说法?别以为这是什么网络段子,其实不少学员在实操考试现场真的“笑”了出来,但背后也有不少坑。你可能正在纠结: 不知道去哪报名怕被中介坑… · 2026/11/15 22:32:18

电工证那个适用于工地最新政策解读
电工证那个适用于工地最新政策解读

工地电工证怎么考?网上查询报名渠道别被中介坑 你是不是也遇到过这种情况:工地电工证哪个适用于工地?在网上查了一堆信息,结果反而更迷糊?别急,这篇文章就是为你准备的,教你如何 避开中介套路,顺利拿到电工证… · 2026/11/15 22:32:18

2026河南最新政策下特种工培训时间怎么安排才能最快拿证上岗
2026河南最新政策下特种工培训时间怎么安排才能最快拿证上岗

2026河南最新政策下特种工培训时间怎么安排才能最快拿证上岗 你是不是正在为找不到合适的工作而发愁?有没有遇到过这种情况,明明有经验,但就是因为没有特种作业证,被用人单位拒绝?2026年河南最新政策已经明确,特种作业证是从事相关工作的“入场… · 2026/11/15 22:32:18

电工证可以积分吗?值不值得考?工地太忙根本没时间复习考试
电工证可以积分吗?值不值得考?工地太忙根本没时间复习考试

电工证可以积分吗?值不值得考?工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,你是不是也经常这样想?尤其是手上活儿压得紧,还要抽空准备电工证考试,简直是两头难。而且,很多人也纠结, 电工证可以积分吗… · 2026/11/15 22:32:18

汽车维修考取电工证多少钱?外省证能转过来吗?过来人告诉你真相
汽车维修考取电工证多少钱?外省证能转过来吗?过来人告诉你真相

汽车维修考取电工证多少钱?外省证能转过来吗?过来人告诉你真相 之前考的证在外省能不能转过来?这几乎是每个准备 汽车维修考取电工证 的朋友最先问的问题。特别是像你这样在 许昌… · 2026/11/15 22:31:10

长春初级电工证怎么考?通过率揭秘全在这里
长春初级电工证怎么考?通过率揭秘全在这里

长春初级电工证怎么考?通过率揭秘全在这里 之前考的证在外省能不能转过来?这几乎是每个想从事电工工作的人都会问的问题。特别是那些在外地打拼多年、手里握着一张“外地电工证”的人,到了长春想继续干这一行,第一反应就是“我的证能用吗?”。今天我们就… · 2026/11/15 0:00:50

国内电工证报考条件与考试时间
国内电工证报考条件与考试时间

低压电工证怎么考?学历不高也能报名,官方报名入口全在这 你是不是经常听说“电工证是入行门槛”,但又担心自己学历不够、经验不足,根本报不了名?别急,今天就带你从零了解【国内电工证】的报考流程、考试内容,还有怎么在 官方报名入口… · 2026/11/15 0:00:50

电工作业时如何断电?电子证书到底能不能全国通用?
电工作业时如何断电?电子证书到底能不能全国通用?

电工作业时如何断电?电子证书到底能不能全国通用? 实操考试心里没底怕挂科,特别是电工作业时如何断电这一操作,不仅关系到你能不能拿到证书,更关系到以后能不能顺利上岗。很多人觉得这不过就是“断个电”,但其实这里面的门道可不少,稍有不慎就可能出错… · 2026/11/15 0:00:50

长春初级电工证怎么考?通过率揭秘全在这里
长春初级电工证怎么考?通过率揭秘全在这里

长春初级电工证怎么考?通过率揭秘全在这里 之前考的证在外省能不能转过来?这几乎是每个想从事电工工作的人都会问的问题。特别是那些在外地打拼多年、手里握着一张“外地电工证”的人,到了长春想继续干这一行,第一反应就是“我的证能用吗?”。今天我们就… · 2026/11/15 0:00:50

国内电工证报考条件与考试时间
国内电工证报考条件与考试时间

低压电工证怎么考?学历不高也能报名,官方报名入口全在这 你是不是经常听说“电工证是入行门槛”,但又担心自己学历不够、经验不足,根本报不了名?别急,今天就带你从零了解【国内电工证】的报考流程、考试内容,还有怎么在 官方报名入口… · 2026/11/15 0:00:50

电工作业时如何断电?电子证书到底能不能全国通用?
电工作业时如何断电?电子证书到底能不能全国通用?

电工作业时如何断电?电子证书到底能不能全国通用? 实操考试心里没底怕挂科,特别是电工作业时如何断电这一操作,不仅关系到你能不能拿到证书,更关系到以后能不能顺利上岗。很多人觉得这不过就是“断个电”,但其实这里面的门道可不少,稍有不慎就可能出错… · 2026/11/15 0:00:50

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 1:51:20

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 4:02:19

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 3:02:05

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码