Download presentation
Presentation is loading. Please wait.
1
第八讲 面向对象程序设计(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
课程网站: 第八讲 面向对象程序设计(一) 《C#程序设计》
2
目录 CONTENTS 学习目标 学习内容 课堂实践
3
本讲学习目标 AIMS 1 知识目标 了解面向对象技术 掌握类的定义和对象的使用 掌握类的字段、方法、属性的定义和使用
掌握public、private、protected修饰符的使用 能力目标 能够正确使用类的成员 能够编写简单的类 2
4
对象和类的基本概念 CONTENT 对象 类 桌子、按钮、人 人类
5
对象和类的基本概念 对象 类 CONTENT public class Car { Car car1=new Car();
//汽车类的成员,可以是方法、属性等 }
6
访问修饰符 CONTENT
7
类的成员 字段 属性 方法 构造函数 析构函数 CONTENT 保存类的实例的各种数据信息 属性是对现实世界中实体特征的抽象
为类或类的对象提供某个方面的行为 构造函数 对象的初始化工作 析构函数 释放资源
8
字段 CONTENT 例如,定义一个圆类Circle,在其中定义一个半径字段r: public class Circle {
public double r; //定义字段 }
9
属性 CONTENT public class Circle { private double r;//定义字段
public double R//定义属性 get return r; } set r = value;
10
方法 CONTENT 例如,在类Circle中定义一个方法Area,用于求圆的面积:
public double Area(double r) { return 3.14 * r * r; }
11
构造函数 CONTENT public Circle()//定义无参数的构造函数 { }
public Circle(double i)//定义带参数的构造函数 r = i;
12
析构函数 CONTENT public class Circle { //析构函数 ~Circle() }
13
学习任务:学生类设计 CONTENT 建立一个学生类,并通过一个Windows窗体应用程序调用学生类,再将学生信息通过消息框显示出来。
14
学习任务:学生类设计 CONTENT class Student { private string name;
private int age; public string Name get { return name; } set { name = value; } } public int Age get { return age; } set { age = value; } public string Show() return "你的姓名为:" + Name + ",年龄为:" + Age.ToString();
15
学习任务:学生类设计 CONTENT private void btnOK_Click(object sender, EventArgs e) { Student student1 = new Student(); student1.Name = txtName.Text; student1.Age = int.Parse(txtAge.Text); MessageBox.Show(student1.Show ()); } 课堂拓展 (1)添加性别属性Sex。 (2)编写一个构造函数,要求性别初始值为“男”。
16
课堂实践 PRACTICE 题目一:创建一个时间类TimeClass,它有三个整型属性:Hour、Minute、Second,它们分别代表小时、分、秒。在类TimeClass中定义一个不含参数的方法ToOutput,用于输出一个时间字符串,它包括6个数字,如023425,表示2小时34分25秒。通过Windows窗体应用程序测试编写的时间类TimeClass。 题目二:在时间类TimeClass中定义一个构造函数,它包含3个整型参数,MyHour、MyMinute、MySecond,并用它们来设置时间。另外,要求对三个属性Hour、Minute、Second进行数据检查,如分钟数字和秒钟数字不能超过60。使用定义的构造函数创建一个时间类TimeClass的实例,编译并进行测试。
17
课堂实践 PRACTICE 题目三:编一个程序,定义一个类,该类中定义二个方法,一个方法用来求出这个三角形的周长,另一个方法用来求出这个三角形的面积。已知三角形三条边a、b、c,计算其面积可以用Math类中的Sqrt()方法,有表达式Math.Sqrt(s*(s-a)*(s-b)*(s-c)),可以利用它计算指定数的开方,其中s=(a+b+c)/2。通过窗体的文本框输入一个三角形三条边a、b、c,要求调用这二个方法计算三角形的周长和面积,并将结果输出在窗体的相应文本框中。注意:在输入三角形三条边时,必须检查它们的数据合法性。
18
THANK YOU 更多资源,请访问课程网站:
Similar presentations