封装和类的属性ppt_第1页
封装和类的属性ppt_第2页
封装和类的属性ppt_第3页
封装和类的属性ppt_第4页
封装和类的属性ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章第一章 封装和类的属性封装和类的属性c c# # 高级语言编程高级语言编程创享教育创享教育 2014.12.18主讲主讲: : daivsing主要内容主要内容u 回顾与本课程地位回顾与本课程地位u 面向对象编程面向对象编程OOPOOP演进演进u 面向对象三大特征面向对象三大特征封装封装继承继承多态多态u 字段的定义和使用字段的定义和使用u 属性的定义和使用属性的定义和使用u 方法的声明和使用方法的声明和使用构造函数构造函数析构函数析构函数垃圾搜集器垃圾搜集器回顾复习回顾复习u回顾回顾 控件控件 属性属性 + + 事件事件 数据库与数据库与c#c#编程的综合应用编程的综合应用 态度决定命

2、运:积极主动态度决定命运:积极主动 多练多练u本课程地位本课程地位演示效果演示效果u 面向过程面向过程方法不方便扩展方法不方便扩展代码重用性低代码重用性低不可维护不可维护程序规模小程序规模小u 面向对象面向对象OOPOOP的优点的优点容易编码容易编码代码重用代码重用易于分工协作易于分工协作效率高效率高 程序规模大程序规模大面向对象编程面向对象编程OOPOOP演进演进软件危机软件危机解决办法解决办法面向过程面向过程程程序设计方法序设计方法面向对象面向对象程程序设计方法序设计方法面向过程面向过程 vs 面向对象面向对象u人类认知事物的基本方法人类认知事物的基本方法认识面向对象编程认识面向对象编程O

3、OPOOP事物之所以能被认识,其本身有一定的特点,比如:事物之所以能被认识,其本身有一定的特点,比如:颜色、形状、大小、软硬等颜色、形状、大小、软硬等状态状态称为称为属性属性功能、用途、动作等称为功能、用途、动作等称为行为行为事物的实例事物的实例对象对象抽象过程抽象过程形成概念形成概念类类对象的属性与行为对象的属性与行为这些对象有哪些属性和行为?这些对象有哪些属性和行为?属性属性型号型号价格价格里程里程行为行为起动起动停车停车行驶行驶属性属性车轮数量车轮数量品牌名称品牌名称行为行为加速加速换档换档刹车刹车属性属性名称名称颜色颜色品种品种行为行为摇尾巴摇尾巴吃东西吃东西系统中一系统中一切事物皆切

4、事物皆为对象为对象。类与对象类与对象u对象对象是属性及其操作的封装体是属性及其操作的封装体。u一组具有相同或相似性质的对象的抽象就是一组具有相同或相似性质的对象的抽象就是类类。 对象的抽象是类,类的具体化就是对象,或类的实例就是对象。u软件系统处理的基本单元是类,类是具有相同属性和方法软件系统处理的基本单元是类,类是具有相同属性和方法的对象集合。的对象集合。类图:类图:类与对象的关系类与对象的关系 类作为对象的抽象,类作为对象的抽象, 具有该类对象的共同属性和行为。具有该类对象的共同属性和行为。 类与对象的关系类与对象的关系是抽象与具体的关系,类是多个对象的是抽象与具体的关系,类是多个对象的抽

5、象,对象是类的个体实例。抽象,对象是类的个体实例。类的定义类的定义u类定义的语法结构类定义的语法结构访问修饰符 class /类的成员主要有: /1) 成员变量成员变量 /2) 成员方法或成员函数成员方法或成员函数u类使用步骤1 定义类2 创建对象3 调用对象的成员变量和方法public class Student : Person / 成员变量成员变量 private string name; public string Name get return name; set name = value; private int age; / 成员方法或成员函数成员方法或成员函数 public v

6、oid Say() MessageBox.Show(“我是我是”+name+ “,今年今年”+age+“岁。岁。); 访问修饰符访问修饰符Teacher 类(继承于类(继承于Person类)类)private 成员成员protected 成员成员public 成员成员internal 成员成员Student 类(继承于类(继承于Person类)类)只有只有 Student 类和类和 Teacher 类类都在同一程序集中,才可访问都在同一程序集中,才可访问internal成员成员不可访问不可访问不可访问不可访问可以访问可以访问u创建对象创建对象 Student student = new Stu

7、dent();u调用对象的成员变量和方法 student.StuName = “刘备”;/调用对象的成员变量student.Say();/调用对象的成员方法类的使用类的使用类名类名 对象名对象名 面向对象三大特征面向对象三大特征 封装封装u 封装封装封装:隐藏对象的属性和实现细节,仅对外提供访问方式。封装:隐藏对象的属性和实现细节,仅对外提供访问方式。u 优点优点1 1、将变化隔离、将变化隔离 2 2、便于使用、便于使用 3 3、提高重用性、提高重用性 4 4、提高安全性、提高安全性u 封装原则封装原则1 1、将不需要对外提供的内容都隐藏起来。、将不需要对外提供的内容都隐藏起来。2 2、把属性

8、都隐藏,提供公共方法对其访问、把属性都隐藏,提供公共方法对其访问、public class Student : Person;/继承继承字段与属性字段与属性u 字段字段 字段是类内部用来存储数据的字段是类内部用来存储数据的。 字段是私有的字段是私有的privateprivate。 字段没有限定范围。字段没有限定范围。u 学员练习学员练习1 1 要求:在汽车类要求:在汽车类CarCar中创建字段,并在中创建字段,并在按钮的单击事件中按钮的单击事件中显示各个字显示各个字段的信息。段的信息。 步骤:步骤: 创建一个窗体类型的项目创建一个窗体类型的项目CarSystemCarSystem 创建汽车类创

9、建汽车类CarCar,该类包含的字段:车名、价格、厂家,该类包含的字段:车名、价格、厂家 写一个按钮的单击事件,用写一个按钮的单击事件,用MessageBox.ShowMessageBox.Show方法显示这些字段信息方法显示这些字段信息 创建一个窗体,输入车名、价格、厂家,并存储到创建一个窗体,输入车名、价格、厂家,并存储到CarCar对象的对应字段中对象的对应字段中 测试该类,尝试价格为测试该类,尝试价格为1010亿元时会出错吗?这样的价格符合生活常识吗?亿元时会出错吗?这样的价格符合生活常识吗?演示效果演示效果字段与属性字段与属性u 属性属性 属性是提供给外部调用该类时用的属性是提供给外

10、部调用该类时用的。属性可以设置或读取一个值,。属性可以设置或读取一个值,提供了一种更安全的数据访问方式。提供了一种更安全的数据访问方式。 属性是公有的属性是公有的publicpublic。 属性的值有限定范围,通过属性的值有限定范围,通过getget和和setset访问器设定可读、可写和可读访问器设定可读、可写和可读写三种属性。写三种属性。 getgetreturreturn n xxx; xxx; /表示可读表示可读 setsetxxx = value;xxx = value; / /表示可写,指定安全规则表示可写,指定安全规则演示效果演示效果属性应用属性应用u 为字段创建属性的方法为字段创

11、建属性的方法u 学员练习学员练习2 2 要求:在前面的汽车类要求:在前面的汽车类CarCar中为价格字段创建属性,规则为价格大于中为价格字段创建属性,规则为价格大于2 2万且小于万且小于5 5千万。千万。 步骤:步骤: 给给CarCar类的类的价格字段创建属性,规则为价格大于价格字段创建属性,规则为价格大于2 2万且小于万且小于5 5千万千万 测试该类,尝试价格为测试该类,尝试价格为1010亿元时会出错吗?亿元时会出错吗?方法的声明和使用方法的声明和使用u方法的语法结构方法的语法结构u返回类型返回类型 如果不返回任何值,返回类型为如果不返回任何值,返回类型为voidvoid,否则为合法的数据类

12、型,如,否则为合法的数据类型,如intint、stringstring、数组、数组、classclass等等, ,此时必须有此时必须有returnreturn来返回值。来返回值。u参数列表参数列表 如果需要参数就指定,有无参数都必须写出()。如果需要参数就指定,有无参数都必须写出()。u方法名一般为动宾结构,如方法名一般为动宾结构,如:GetUser:GetUser、SearchUserSearchUser访问修饰符访问修饰符 返回类型返回类型 (参数列表参数列表) / 方法主体方法主体public void Say(string msg) MessageBox.Show(msg, “信息信息

13、”);方法的声明和使用方法的声明和使用u方法调用方法调用 类内部直接用方法名调用类内部直接用方法名调用 类外部调用方法类外部调用方法 先声明类的对象名,再通过该对象名先声明类的对象名,再通过该对象名. .方法名调用。如:方法名调用。如:Car car = new Car();Car car = new Car();car.ShowCarInfor();car.ShowCarInfor();u学员练习学员练习3 3 要求:在前面的汽车类要求:在前面的汽车类CarCar中中, ,并用方法并用方法ShowCarInfoShowCarInfo显示各个字段的显示各个字段的信息。信息。 步骤:步骤: 在类

14、在类CarCar中中写一个方法写一个方法ShowCarInfo,ShowCarInfo,并在该方法中并在该方法中MessageBox.ShowMessageBox.Show显示各个字段的显示各个字段的信息,不需要返回值。信息,不需要返回值。 添加一个按钮,在其单击事件中调用添加一个按钮,在其单击事件中调用ShowCarInfo ShowCarInfo 显示信息显示信息, 测试该方法是否正确测试该方法是否正确 补充补充 另建一个方法另建一个方法ShowCarInfo2ShowCarInfo2,返回要显示的各字段信息。(,返回要显示的各字段信息。(做完的完成做完的完成)演示效果演示效果构造函数构造

15、函数u 构造函数构造函数 构造函数是特殊的成员函数,主要用于为对象分配空间,完成初始化工作。 构造函数的名称必须与类名相同;构造函数可以带参数,但没有返回值。 构造函数在对象定义时被自动调用。 若没有为类定义构造函数,则系统会生成默认的构造函数。public StudentStudent() /初始代码u 学员练习学员练习4 4 要求:为汽车类要求:为汽车类CarCar创建一个构造函数创建一个构造函数, ,并用窗体文本框中的值初始并用窗体文本框中的值初始化各个字段。化各个字段。 步骤:步骤: 为汽车类为汽车类CarCar创建一个构造函数创建一个构造函数, ,并用窗体文本框中的值初始化各个字段。

16、并用窗体文本框中的值初始化各个字段。 添加一个按钮,在其单击事件中创建添加一个按钮,在其单击事件中创建CarCar对象,并初始化对象,并初始化各个字段,再各个字段,再调用调用ShowCarInfo ShowCarInfo 显示信息。显示信息。 测试初始化数据是否正确测试初始化数据是否正确演示效果演示效果析构函数析构函数u 析构函数析构函数 执行清除操作的特殊方法。执行清除操作的特殊方法。public StudentStudent() /清除操作清除操作代码代码垃圾搜集器垃圾搜集器u 垃圾搜集器垃圾搜集器 GCGC是垃圾搜集器。程序员不用担心内存管理,垃圾收集器会自动进是垃圾搜集器。程序员不用担心内存管理,垃圾收集器会自动进行管理。行管理。 GC.Collect()GC.Collect()强制对所有代码进行及时垃圾回收。强制对所有代码进行及时垃圾回收。静态类静态类静态类是不能实例化的类,静态类的变量不能用 new 关键字创建。静态类不能被继承。静态类不能有实例构造

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论