4.类与对象(1)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C程序主要精力在写函数,C#程序员主要精力在创建 类。
4.3 类和对象
类是什么? 类是一种自定义的数据类型,这种数据类型有自己的 数据和行为。
属性: 姓名(Name) 学号(StudentID) 性别(Sex) 家庭住址(Addres)
学生(Student)
方法: 注册(Register) 选课(ElectiveCourse) 考试(Exam) 请假(Leave)
4.1.1.1 界面设计
标签lblTitle,恰当设置Text、Font、 BackColor、ForoColor、 AutoSize等属性。
按钮btnPlayStop,恰当设置Title、 Anchor等属性。
定时器控件Timer,主要属性:
是否允许计时,允许计时时,计时时间到,引发Tick事件 计时单位(毫秒)
4.1.2、会跑的按钮
通过本示例,说明:
▪ 编写鼠标事件 ▪ 随机数的使用 ▪ Point类的使用
示例代码位于“CSharp示例\第4课\DoYouLoveMe”
4.1.2.1 界面设计
窗体Form1 •恰当设置其Text、 BackGroundImage、 BackGroundImageLayout等属 性,图片自选
在介绍新课之前,先介绍2个趣味示例
目的: ➢定时器Timer控件的使用 ➢了解对象的使用
Hale Waihona Puke Baidu
移动字幕
目的: ➢事件编程 ➢了解对象的使用 ➢随机数
会跑的按钮
4.4.1 移动的字幕
通过本示例,说明:
▪ 定时器控件(Timer)的使用 ▪ Point对象的使用
示例代码位于“CSharp示例\第4课\MovingString”
严格来说,Point类型是结构(struct)类型,不属于类(class)类型。
移动标签
什么时候移动? 定时器控件计时时间到的时候,标签往左移动一格 代码写在Timer1控件的Tick事件里。 怎样移动?
标签的x坐标减1 如果 移出屏幕最左边
标签的x坐标设为窗体的最右边
移动标签
private void timer1_Tick(object sender, EventArgs e)
如何定义对象? 与定义变量类似,如定义一个Point类的对象newPoint Point newPoint;
如何给对象赋初值?
C#语言称为对象的实例化,需要用new运算符。 Point newPoint = new Point(10,10);
接下来使用下列语句就可以将标签定位到指定点了: lblTitle.Location = newPoint;
按钮btnYes, BtnNo •恰当设置其Text、Anchor属性
4.1.2.2 按钮跑起来
按钮什么时候跑? 鼠标刚进入Yes按钮的区域时。 btnYes按钮的Mouse_Enter事件
按钮怎么跑?
•产生两个随机数x和y, 这两个数 要在窗体区间范围内 •令btnYes按钮定位到新点(x, y)
}
4.1.1.3 标签的移动
标签的位置(Location属性)
这样移动可以吗? lblTitle.Location.X--;
Location属性是什么类型的? 由此可知,Location属性
lblTitle.Location.X--;
是Point类的对象。对象有
对象的用法。
如何使用对象?
要使标签定位到一个新的点(Point),首先必要生成 一个Point类的对象。
使用对象浏览器,了解Random类的使用
此处双击
4.1.2.2 按钮跑起来
private void btnYes_MouseEnter(object sender, EventArgs e)
{ Random r = new Random(); int x = r.Next(0, this.ClientRectangle.Width); int y = r.Next(0, this.ClientRectangle.Height); btnYes.Location = new Point(x, y);
{ // 取标题标签的x坐标和y坐标 int x = lblTitle.Location.X - 1; int y = lblTitle.Location.Y;
// 如果移出左边界,则从右边出现 if (x < (0 - lblTitle.Width)) {
x = this.Width; } // 标题的坐标往前移一格 Point newPoint = new Point(x, y); lblTitle.Location = newPoint; };
}
4.2 面向对象编程技术
通过前面的实例,我们了解面向对象编程的两个特性: 使用对象 基于事件
面向对象是使用类(class)来封装数据(属性)和行为 (方 法)的。
在面向过程的程序设计语言(如C语言),程序是面向动 作的,程序的单位是函数。
在面向对象的C#语言里,编程是面向对象的,程序的 单位是类(class),最终用类去实例化对象,并且函数 是作为方法封闭在类里面的。
4.1.1.2 按钮变身
点击Play,开始出现动画,按钮 变为Stop
点击Stop,动画停止,按钮变为 Play
4.1.1.2 按钮变身
private void btnPLayStop_Click(object sender, EventArgs e)
{ // 点击Play时,允许计时,按钮变为Stop if (btnPLayStop.Text == "Play") { btnPLayStop.Text = "Stop"; timer1.Enabled = true; } // 点击Stop时,停止计划,按钮变为Play else { btnPLayStop.Text = "Play"; timer1.Enabled = false; }
面向对象程序设计
(使用VS 2005和C#)
第4课 类和对象(1)
第4课 类与对象
本课主要介绍面向对象编程的基础知识,主要介绍:
▪ 定义类 ▪ 声明方法 ▪ 使用构造函数
在本课,我们先通过两个趣味小程序来让同学了解面 向对象编程的两个重要特性(对象与事件),然后再介 绍如何去定义类和对象。
4.1 趣味示例
4.3 类和对象
类是什么? 类是一种自定义的数据类型,这种数据类型有自己的 数据和行为。
属性: 姓名(Name) 学号(StudentID) 性别(Sex) 家庭住址(Addres)
学生(Student)
方法: 注册(Register) 选课(ElectiveCourse) 考试(Exam) 请假(Leave)
4.1.1.1 界面设计
标签lblTitle,恰当设置Text、Font、 BackColor、ForoColor、 AutoSize等属性。
按钮btnPlayStop,恰当设置Title、 Anchor等属性。
定时器控件Timer,主要属性:
是否允许计时,允许计时时,计时时间到,引发Tick事件 计时单位(毫秒)
4.1.2、会跑的按钮
通过本示例,说明:
▪ 编写鼠标事件 ▪ 随机数的使用 ▪ Point类的使用
示例代码位于“CSharp示例\第4课\DoYouLoveMe”
4.1.2.1 界面设计
窗体Form1 •恰当设置其Text、 BackGroundImage、 BackGroundImageLayout等属 性,图片自选
在介绍新课之前,先介绍2个趣味示例
目的: ➢定时器Timer控件的使用 ➢了解对象的使用
Hale Waihona Puke Baidu
移动字幕
目的: ➢事件编程 ➢了解对象的使用 ➢随机数
会跑的按钮
4.4.1 移动的字幕
通过本示例,说明:
▪ 定时器控件(Timer)的使用 ▪ Point对象的使用
示例代码位于“CSharp示例\第4课\MovingString”
严格来说,Point类型是结构(struct)类型,不属于类(class)类型。
移动标签
什么时候移动? 定时器控件计时时间到的时候,标签往左移动一格 代码写在Timer1控件的Tick事件里。 怎样移动?
标签的x坐标减1 如果 移出屏幕最左边
标签的x坐标设为窗体的最右边
移动标签
private void timer1_Tick(object sender, EventArgs e)
如何定义对象? 与定义变量类似,如定义一个Point类的对象newPoint Point newPoint;
如何给对象赋初值?
C#语言称为对象的实例化,需要用new运算符。 Point newPoint = new Point(10,10);
接下来使用下列语句就可以将标签定位到指定点了: lblTitle.Location = newPoint;
按钮btnYes, BtnNo •恰当设置其Text、Anchor属性
4.1.2.2 按钮跑起来
按钮什么时候跑? 鼠标刚进入Yes按钮的区域时。 btnYes按钮的Mouse_Enter事件
按钮怎么跑?
•产生两个随机数x和y, 这两个数 要在窗体区间范围内 •令btnYes按钮定位到新点(x, y)
}
4.1.1.3 标签的移动
标签的位置(Location属性)
这样移动可以吗? lblTitle.Location.X--;
Location属性是什么类型的? 由此可知,Location属性
lblTitle.Location.X--;
是Point类的对象。对象有
对象的用法。
如何使用对象?
要使标签定位到一个新的点(Point),首先必要生成 一个Point类的对象。
使用对象浏览器,了解Random类的使用
此处双击
4.1.2.2 按钮跑起来
private void btnYes_MouseEnter(object sender, EventArgs e)
{ Random r = new Random(); int x = r.Next(0, this.ClientRectangle.Width); int y = r.Next(0, this.ClientRectangle.Height); btnYes.Location = new Point(x, y);
{ // 取标题标签的x坐标和y坐标 int x = lblTitle.Location.X - 1; int y = lblTitle.Location.Y;
// 如果移出左边界,则从右边出现 if (x < (0 - lblTitle.Width)) {
x = this.Width; } // 标题的坐标往前移一格 Point newPoint = new Point(x, y); lblTitle.Location = newPoint; };
}
4.2 面向对象编程技术
通过前面的实例,我们了解面向对象编程的两个特性: 使用对象 基于事件
面向对象是使用类(class)来封装数据(属性)和行为 (方 法)的。
在面向过程的程序设计语言(如C语言),程序是面向动 作的,程序的单位是函数。
在面向对象的C#语言里,编程是面向对象的,程序的 单位是类(class),最终用类去实例化对象,并且函数 是作为方法封闭在类里面的。
4.1.1.2 按钮变身
点击Play,开始出现动画,按钮 变为Stop
点击Stop,动画停止,按钮变为 Play
4.1.1.2 按钮变身
private void btnPLayStop_Click(object sender, EventArgs e)
{ // 点击Play时,允许计时,按钮变为Stop if (btnPLayStop.Text == "Play") { btnPLayStop.Text = "Stop"; timer1.Enabled = true; } // 点击Stop时,停止计划,按钮变为Play else { btnPLayStop.Text = "Play"; timer1.Enabled = false; }
面向对象程序设计
(使用VS 2005和C#)
第4课 类和对象(1)
第4课 类与对象
本课主要介绍面向对象编程的基础知识,主要介绍:
▪ 定义类 ▪ 声明方法 ▪ 使用构造函数
在本课,我们先通过两个趣味小程序来让同学了解面 向对象编程的两个重要特性(对象与事件),然后再介 绍如何去定义类和对象。
4.1 趣味示例