Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第7章 面向对象编程技术

上传人:E**** 文档编号:89183916 上传时间:2019-05-20 格式:PPT 页数:32 大小:111KB
返回 下载 相关 举报
Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第7章 面向对象编程技术_第1页
第1页 / 共32页
Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第7章 面向对象编程技术_第2页
第2页 / 共32页
Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第7章 面向对象编程技术_第3页
第3页 / 共32页
Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第7章 面向对象编程技术_第4页
第4页 / 共32页
Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第7章 面向对象编程技术_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第7章 面向对象编程技术》由会员分享,可在线阅读,更多相关《Visual C#程序设计教程 教学课件 ppt 作者 刘先省 陈克坚 第7章 面向对象编程技术(32页珍藏版)》请在金锄头文库上搜索。

1、第1章 程序设计语言与程序设计方法 第2章 Visual C#概述 第3章 C#语法基础 第4章 顺序结构程序设计 第5章 选择结构程序设计 第6章 循环结构程序设计 第7章 面向对象编程技术 第8章 继承,第9章 数组与自定义类型 第10章 菜单、工具栏与状态栏 第11章 文件操作 第12章 数据库技术 第13章 ActiveX控件 第14章 异常处理与跟踪调试 第15章 开发Web应用程序 第16章 部署应用程序,下一页,Visual C#程序设计教程,上一页,章节目录,上一页,下一页,第7章 面向对象编程技术 7.1 类和对象 7.1.1 类和对象概述 现实生活中的类是人们对客观对象不断

2、认识而产生的抽象的概念,而对象则是现实生活中的一个个实体。面向对象程序设计的类概念从本质上和人们现实生活中的类概念是相同的。 类是一种数据类型,在C#中,类分为两种:由系统提供的预先定义的,这些类在.NET框架类库中;用户定义数据类型。,章节目录,上一页,下一页,在创建对象之前必须先定义该对象所属的类。然后由类声明对象。 在Visual Studio.NET集成环境中的,工具箱中的一个个控件,是被图形文字化的可视的类,而把这些控件添加到窗体设计器中后,窗体设计器中的控件则是对象,即由工具箱中的类创建的对象。,章节目录,上一页,下一页,7.1.2 类定义 在类定义中需要使用关键字class,其简

3、单的定义格式为: class 类名 类体 “类名”是一个合法的C#标识符,表示数据类型(类类型)名称,“类体”以一对大括号开始和结束。在一对大括号后面可以跟一个分号,也可以省略分号。,章节目录,上一页,下一页,例如: class Student / 类名为Student public string ID; public string Name; public string Sex; 定义了一个名为“Student”(学生)的类,类体中包括学生的学号(“ID”)、姓名(“Name”)与性别(“Sex”)。,章节目录,上一页,下一页,“类体”包括类中的所有数据及对数据的操作,面向对象程序设计将数据

4、与对数据的操作作为一个整体,以类的形式进行定义,这种机制叫“封装”。 在“类体”中,所有的数据及对数据的操作的集合叫类成员,类成员的种类很多,本章仅介绍“字段”、“属性”、“方法”与“构造函数”。 “字段”是类定义中的数据,也叫类的变量。在上例中定义的“ID”、“Name”与“Sex”等均为类中的字段。如果需要在类定义的多个方法中使用某个变量,该变量应该声明为字段。,章节目录,上一页,下一页,“属性”用于读取和写入“字段”值,“属性”是字段的自然扩展,对用户而言,“属性”等同于“字段”本身,对程序员而言,属性是一种读写“字段”的特殊方法。 “方法”实质上就是函数,通常用于对字段进行计算和操作,

5、即对类中的数据进行操作,以实现特定的功能。,章节目录,上一页,下一页,7.1.3 声明与使用对象 1. 声明对象 声明对象的格式与声明基本数据类型的格式相同,其语法格式为: 类名 对象名; 例如:Student s1; / 声明一个学生类对象s1 对象声明后,需用“new”关键字将对象实例化,。实例化的语法格式: 对象名=new 类名( ); 例如:s1=new Student( ); / 为s1分配内存,章节目录,上一页,下一页,2. 访问对象 访问对象实质是访问对象成员,对对象变量成员的访问使用“.”运算符。例如: s1.ID=“2005001“; s1.Name=“张三“; s1.Sex

6、=“女“; 使用对象变量为另一对象变量整体赋值,例如,“Student s2;s2=s1;”或“Student s2= s1;”。 可以使用对象中的某一成员为变量赋值。例如: string sName=s1.Name;,章节目录,上一页,下一页,7.1.4 值类型与引用类型 1. 值类型 值类型变量直接包含其本身的数据,因此每个值类型变量本身就包含有赋给它的值。 在C#中,内置数据类型除了字符串(string)类型与对象(object)类型外其余均为值类型。枚举类型与结构类型也是值类型。例如“int x =42;”,整型变量x就是值类型。 2. 引用类型 与值类型不同,引用类型变量本身不包含数

7、据,只是存储对数据的引用,数据保存在内存的其他位置。,章节目录,上一页,下一页,5.2.2 捕获视频 1. 捕获DV摄像机磁带上的整个视频 首先要确保DV设备与IEEE 1394端口正确连接,然后将摄像机模式设置为播放已录制的视频(通常在DV摄像机上出现“VTR”或“VCR”标志)。 执行“文件”菜单中的“捕获视频”命令。在打开的“视频捕获设备”对话框的“可用设备”中,单击该DV摄像机。 在“视频设置”对话框中,选择要用来捕获视频和音频的视频设置。在“捕获方法”对话框中,单击“自动捕获整个磁带”。此时,DV摄像机中的磁带开始倒带。捕获将自动开始并在磁带到头时终止。,章节目录,上一页,下一页,7

8、.1.5 访问控制 C#中最常用的访问修饰符及其意义 public(公有):访问不受限制,可以被任何其他类访问 private(私有):访问只限于含该成员的类,即只有该类的其他成员能访问 protected(保护):访问只限于含该成员的类、及该类的派生类 如果声明成员没有使用任何访问修饰符,则该成员被认为是私有的(private)。如果成员被声明为private或protected,则不允许在类定义外使用点运算符访问。,章节目录,上一页,下一页,7.2 属性 7.2.1 声明属性 在类定义中声明属性的语法格式为: 访问修饰符 类型 属性名 get set ,章节目录,上一页,下一页,class

9、 Student / 类名为Student private string name; / 声明字段 public string Name / 对应name的属性 get return name; set name=value; ,章节目录,上一页,下一页,2. 声明只读或只写属性 在属性声明中,如果只有get访问器,则该属性为只读属性。例如: public string Sex get return sex; ,章节目录,上一页,下一页,7.2.2 使用属性 属性成员的使用就如同公有数据成员的使用一样。可以为可写的属性赋值,可以用可读的属性为其他变量赋值。例: Student s1=new S

10、tudent( ); / 用属性设置修改数据成员值 s1.ID=“2005003“; s1.Name=“李四“; s1.Sex=“男“; / 用属性读取数据成员值为其他变量赋值 sting ssex=s1.Sex;,章节目录,上一页,下一页,7.3 方法 方法是把一些相关的语句组织在一起,用于解决某一特定问题的语句块。方法必须放在类定义中。方法同样遵循先声明后使用的规则。C#语言中的方法相当于其他编程语言(如VB.NET)中的通用过程(Sub过程)或函数过程(Function过程)。C#中的方法必须放在类定义中声明,也就是说,方法必须是某一个类的方法。,章节目录,上一页,下一页,7.3.1 声

11、明与调用方法 方法的使用分声明与调用两个环节。 1. 声明方法 声明方法最常用的语法格式为: 访问修饰符 返回类型 方法名(参数列表) 方法的访问修饰符通常是public,以保证在类定义外部能够调用该方法。 方法的返回类型用于指定由该方法计算和返回的值的类型,可以是任何值类型或引用类型数据,如,int、string及前面定义的Student类。如果方法不返回一个值,则它的返回类型为void。,章节目录,上一页,下一页,方法名是一个合法的C#标识符。 参数列表在一对圆括号中,指定调用该方法时需要使用的参数个数、各个参数的类型,参数之间以逗号分隔。 实现特定功能的语句块放在一对大括号中,叫方法体,

12、“”表示方法体的开始,“”表示方法体的结束。 如果方法有返回值,则方法体中必须包含一个return语句,以指定返回值,其类型必须和方法的返回类型相同。如果方法无返回值,在方法体中可以不包含return语句,或包含一个不指定任何值的return语句。,章节目录,上一页,下一页,2. 调用方法 从方法被调用的位置,可以分为在方法声明的类定义中调用该方法和在方法声明的类定义外部调用方法。在方法声明的类定义中调用该方法的语法格式为: 方法名(参数列表) 在方法声明的类定义中调用该方法,实际上是由类定义内部的其他方法成员调用该方法。 在方法声明的类定义外部调用该方法实际上是通过类声明的对象调用该方法,其

13、格式为: 对象名.方法名(参数列表),章节目录,上一页,下一页,7.3.2 参数传递 在方法的声明与调用中,经常涉及方法参数,在方法声明中使用的参数叫形式参数(形参),在调用方法中使用的参数叫实际参数(实参)。在调用方法时,参数传递就是将实参传递给形参的过程。 例如,某类定义中声明方法时的形参如下: public int IntMax(int a,int b) 则声明对象classmax后调用方法时的实参如下: classmax.IntMax(x,y),章节目录,上一页,下一页,1. 按值传递 参数按值的方式传递是指当把实参传递给形参时,是把实参的值复制(拷贝)给形参,实参和形参使用的是两个不

14、同内存中的值,所以这种参数传递方式的特点是形参的值发生改变时,不会影响实参的值,从而保证了实参数据的安全。 2. 按引用传递 按引用传递是指实参传递给形参时,不是将实参的值复制给形参,而是将实参的引用传递给形参,实参与形参使用的是一个内存中的值。这种参数传递方式的特点是形参的值发生改变时,同时也改变实参的值。,章节目录,上一页,下一页,基本类型参数按引用传递时,实参与形参前均须使用关键字ref。 例如Swap方法代码如下: public void Swap(ref string s1,ref string s2) string s3=s1;s1=s2;s2=s3; 则调用该方法的语句代码如下:

15、 Swap(ref ss1,ref ss2); / 在实参中增加ref关键字 类对象参数总是按引用传递的,所以类对象参数传递不需要使用ref关键字。,章节目录,上一页,下一页,7.3.3 重载方法 方法重载是声明两个以上的同名方法,实现对不同数据类型的相同处理。 方法重载有两点要求: 重载的方法名称必须相同; 重载的方法,其形参个数或类型必须不同,否则将出现“已经定义了一个具有相同类型参数的方法成员”的编译错误。 例如能同时处理整型与浮点型数据的重载方法: public void Swap(ref int a,ref int b) public void Swap(ref float a,re

16、f float b),章节目录,上一页,下一页,7.4 构造函数 构造函数是一种特殊的方法成员,构造函数的主要作用是在创建对象(声明对象)时初始化对象。一个类定义必须且至少有一个构造函数,如果定义类时,没有声明构造函数,系统会提供一个默认的构造函数,如果声明了构造函数,系统将不再提供默认构造函数。,章节目录,上一页,下一页,7.4.1 声明构造函数 声明构造函数与声明普通方法相比,有两个特别要求,一是构造函数不允许有返回类型包括void类型,二是构造函数的名称必须与类名相同。 所以构造函数往往需要使用形参,例如创建一个学生类对象时,需要给出学生的学号、姓名、性别及年龄等,所以学生类构造函数可以声明如下: public Student(string ID,string nname,string ssex,int aage) id=ID; name=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号