中国高校课件下载中心 》 教学资源 》 大学文库

《C#语言程序设计》课程教学课件(PPT讲稿)第3章 C#面向对象编程-8/9

文档信息
资源类别:文库
文档格式:PPT
文档页数:24
文件大小:707KB
团购合买:点击进入团购
内容简介
《C#语言程序设计》课程教学课件(PPT讲稿)第3章 C#面向对象编程-8/9
刷新页面文档预览

C#程序设计 第3章C#面向对象编程

C# 程序设计 第3章 C#面向对象编程

委托和事件 NET事件处理机制 让事件只允许一个订阅者 保留多个返回值

2 委托和事件 让事件只允许一个订阅者 保留多个返回值 .NET事件处理机制

课堂讨论 教师和学生都可以从书店购买感兴趣的图书。书 店新到图书时,如何实现教师和学生能够得到最 新的消息? 3

3 课堂讨论 ▪ 教师和学生都可以从书店购买感兴趣的图书。书 店新到图书时,如何实现教师和学生能够得到最 新的消息?

public delegate void BookDelegate(string address); class BookStore { public string store_address public BookDelegate bd; public BookStore(string address) { this.store address address; public void OnNewBook(string book_type,string book_name) bd(this.store_address )

4 多播委托

多播委托 class Teacher { public string name; public Teacher(string name) this.namename; 3 public void TRegister(string address) { Console.VriteLine("{O准备去瞧瞧",this.name)月 5

5 多播委托

多播委托 class Student public string name; public Student(string name) { this.name name; public void SRegister(string address) { Console.WriteLine('{}改天去书店看看。",this.name); 6

6 多播委托

多播委托 如何不修改 class Program 订阅者的信 息? static void Main(string]args) BookStore bs=new BookStore("新华书店"); Student s=new Student("李同学")月 Teacher t=new Teacher("张老师'); bs.bd new BookDelegate(s.SRegister); bs.bd +=t.TRegister; bs.OnNewBook"工学","C#程序设计"); Console.WriteLine("- Student s1=new Student("王同学); bs.bd s1.SRegister bs.OnNewBook(理学","线性代数") bs.bd=t.TRegister; C:\Windows\system32\c. bs.OnNewBook(); 李同学改天去书店看看 长老师准备去瞧瞧 同学配改 天去书店看看。 请按任意键继续·· 7

7 多播委托 bs.bd=t.TRegister; bs.OnNewBook(); 如何不修改 订阅者的信 息?

事件 什么是事 事件源 件?? “请听题~” ① 引发事件的类(事件的发布者) ② 处理事件的类(事件的接收者) ③ 提供事件数据的类 集中注意力聆听 未订阅该事件 兵心人 抢答者 抢答者 事件的订阅人 8

8 8 事件 抢答者 宣布人 抢答者 “请听题~” 集中注意力聆听 其他人 事件源 事件的发布者 事件的订阅人 未订阅该事件 ① 引发事件的类(事件的发布者) ② 处理事件的类(事件的接收者) ③ 提供事件数据的类 什么是事 件??

事件 什么是事件: ■事件是类在发生被关注的事情时用来提供通知的一种方 式 ■发送(或引发)事件的类称为“发行者”或“事件源” ■接收(或处理)事件的类称为“订户”或“接收者” ■在C#中使用委托模型来实现事件 9

9 事件 ▪ 什么是事件: ◼ 事件是类在发生被关注的事情时用来提供通知的一种方 式 ◼ 发送(或引发)事件的类称为“发行者”或“事件源” ◼ 接收(或处理)事件的类称为“订户”或“接收者” ◼ 在C#中使用委托模型来实现事件

事件机制来实现-事件发布者 class BookStore 事件 public string store_address; public event BookDelegate bd; 定义委托变量 public BookStore(string address) { this.store_address address; } public void OnNewBook(string book_type,string book_name) bd(this.store_address); 10

10 事件机制来实现-事件发布者 事件 定义委托变量

共24页,试读已结束,阅读完整版请下载
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档