欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第6章 面向对象编程技术优秀PPT.ppt

    • 资源ID:78796486       资源大小:3.66MB        全文页数:44页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第6章 面向对象编程技术优秀PPT.ppt

    第6章 面向对象编程技术现在学习的是第1页,共44页第第6 6章章 面向对象编程技术面向对象编程技术现在学习的是第2页,共44页6.1 6.1 类和对象类和对象6.2 6.2 类的字段与属性类的字段与属性 6.3 6.3 类的方法类的方法6.4 6.4 构造函数构造函数6.5 6.5 静态成员静态成员讲解提纲讲解提纲现在学习的是第3页,共44页 章节目录章节目录上一页上一页下一页下一页6.1 6.1 类和对象类和对象6.1.1 类和对象概述现实生活中的类是人们对客观对象不断认识而产生的抽象的概念,而对象则是现实生活中的一个个实体。面向对象程序设计的类概念从本质上和人们现实生活中的类概念是相同的。类是一种数据类型,在C#中,类分为两种:由系统提供的预先定义的,这些类在.NET框架类库中;用户定义数据类型。现在学习的是第4页,共44页 章节目录章节目录上一页上一页下一页下一页 在创建对象之前必须先定义该对象所属的类。然后由类声明对象。在Visual Studio集成环境中的,工具箱中的一个个控件,是被图形文字化的可视的类,而把这些控件添加到窗体设计器中后,窗体设计器中的控件则是对象,即由工具箱中的类创建的对象。在C#中,类以图标 表示,普通对象以图标 表示。现在学习的是第5页,共44页 章节目录章节目录上一页上一页下一页下一页6.1.2 类与对象的本质类与对象的本质类是一种数据类型,这种数据类型将数据与对数据的操作作为一个统一的整体来定义,类的这种特点叫封装性。在C#中,类这种数据类型可以分为两种:一种是由系统提供的预先定义的,这些类在.NET框架类库中;一种是用户定义数据类型。在创建对象之前必须先定义该对象所属的类。然后由类声明对象。用基本数据类型可以声明变量,用类类型也可以声明变量,只不过类类型声明的变量叫类的对象或类的实例。现在学习的是第6页,共44页 章节目录章节目录上一页上一页下一页下一页6.1.3 类成员类成员在类的定义中,包含有各种类成员,概括起来类的成员有两种:存储数据的成员与操作数据的成员。存储数据的成员叫“字段”,操作数据成员又有很多种,本章仅介绍“属性”、“方法”与“构造函数”。“字段”是类定义中的数据,也叫类的变量。在C#中,字段以图标 表示。“属性”用于读取和写入“字段”值。在C#中,属性以图标 表示。现在学习的是第7页,共44页 章节目录章节目录上一页上一页下一页下一页“方法”实质上就是函数,通常用于对字段进行计算和操作,即对类中的数据进行操作,以实现特定的功能。在C#中,方法以图标表示,事件方法以图标 表示。“构造函数”是在用类声明对象时,完成对象字段的初始化工作。现在学习的是第8页,共44页 章节目录章节目录上一页上一页下一页下一页6.2 类的字段与属性 6.2.1 类定义 在类定义中需要使用关键字class,其简单的定义格式为:class 类名类名 类体类体“类名”是一个合法的C#标识符,表示数据类型(类类型)名称,“类体”以一对大括号开始和结束。在一对大括号后面可以跟一个分号,也可以省略分号。现在学习的是第9页,共44页 章节目录章节目录上一页上一页下一页下一页例如:class Cuboid /类名为Cuboid /声明字段 private double length;private double width;private double high;/声明属性 public double Length get return length;set length=value;public double Width get return width;set width=value;public double High get return high;set high=value;现在学习的是第10页,共44页 章节目录章节目录上一页上一页下一页下一页1.声明字段字段的声明格式与普通变量的声明格式格式相同。在类体中,字段声明的位置没有特殊要求,习惯上将字段声明在类体中的最前面,以便于阅读。2.声明属性属性是类定义中的字段读写器,在类定义中声明属性的语法格式为:访问修饰符 类型 属性名 get set 在属性声明中,get与set叫属性访问器。get完成对数据值的读取,return用于返回读取的值;set完成对数据值的设置修改,value是一个关键字,表示要写入字段的值。现在学习的是第11页,共44页 章节目录章节目录上一页上一页下一页下一页3.访问控制访问控制C#中最常用的访问修饰符及其意义中最常用的访问修饰符及其意义 public(公有):访问不受限制,可以被任何其他类访问private(私有):访问只限于含该成员的类,即只有该类的其他成员能访问protected(保护):访问只限于含该成员的类、及该类的派生类如果声明成员没有使用任何访问修饰符,则该成员被认为是私有的(private)。如果成员被声明为private或protected,则不允许在类定义外使用点运算符访问。现在学习的是第12页,共44页 章节目录章节目录上一页上一页下一页下一页6.2.3 声明与使用对象声明与使用对象 1.声明对象声明对象的格式与声明基本数据类型的格式相同,其语法格式为:类名 对象名;例如:Cuboid cubiod1;/对象声明后,需用“new”关键字将对象实例化。实例化的语法格式:对象名=new 类名();例如:cubiod1=new Cuboid();现在学习的是第13页,共44页 章节目录章节目录上一页上一页下一页下一页2.访问对象访问对象访问对象实质是访问对象成员,对对象变量成员的访问使用“.”运算符。例如:cubiod1.Length=5;cubiod1.Width=3;cubiod1.High=2;使用对象变量为另一对象变量整体赋值,例如,“Cuboid cuboid2;cubiod2=cubiod1;”或“Cuboid cuboid2=cubiod1;”。可以使用对象中的某一成员为变量赋值。例如:double iLength=cubiod1.Length;现在学习的是第14页,共44页 章节目录章节目录上一页上一页下一页下一页【例6-1】创建一个Windows应用程序,定义一个长方体类,该类包含长、宽、高字段和属性,在窗体类定义中声明长方体类对象,通过文本框设置对象的值,通过标签框输出对象的值。现在学习的是第15页,共44页 章节目录章节目录上一页上一页下一页下一页定义类代码如下:定义类代码如下:class Cuboid /类名为类名为Cuboid /声明字段声明字段 private double length;private double width;private double high;/声明属性声明属性 public double Length get return length;set length=value;public double Width get return width;set width=value;public double High get return high;set high=value;现在学习的是第16页,共44页 章节目录章节目录上一页上一页下一页下一页在在Form1类定义的类体中声明类定义的类体中声明Cuboid类对象代码如下:类对象代码如下:Cuboid cubiod=new Cuboid();/声明对象声明对象cubiod【设置对象值】按钮的设置对象值】按钮的Click事件代码为:事件代码为:private void button1_Click(object sender,EventArgs e)/转换文本框中的值转换文本框中的值 double l=double.Parse(txtLength.Text);double w=double.Parse(txtWidth.Text);double h=double.Parse(txtHigh.Text);现在学习的是第17页,共44页 章节目录章节目录上一页上一页下一页下一页/设置对象值设置对象值 cubiod.Length=l;cubiod.Width=w;cubiod.High=h;lblInfo.Text=对对象象值值设设置置完完毕毕!;/输输出出设设置置完成信息完成信息现在学习的是第18页,共44页 章节目录章节目录上一页上一页下一页下一页【显示对象值】的显示对象值】的Click事件代码为:事件代码为:private void button2_Click(object sender,EventArgs e)/将将对对象象各各属属性性值值加加上上说说明明信信息息显显示示在在标标签签框框中中(访问对象)(访问对象)lblInfo.Text=长长方方体体的的长长:+cubiod.Length+宽宽:+cubiod.Width +高:高:+cubiod.High;现在学习的是第19页,共44页 章节目录章节目录上一页上一页下一页下一页6.2.4 值类型与引用类型值类型与引用类型1.值类型值类型变量直接包含其本身的数据,因此每个值类型变量本身就包含有赋给它的值。在C#中,内置数据类型除了字符串(string)类型与对象(object)类型外其余均为值类型。枚举类型与结构类型也是值类型。例如“int x=42;”,整型变量x就是值类型。2.引用类型类型 与值类型不同,引用类型变量本身不包含数据,只是存储对数据的引用,数据保存在内存的其他位置。现在学习的是第20页,共44页 章节目录章节目录上一页上一页下一页下一页假假设设有有整整型型变变量量x与与y,有有文文本本框框对对象象变变量量tB1,下下面面的的代码将表现出值类型与引用类型的区别:代码将表现出值类型与引用类型的区别:x=15;y=x;/这时这时x与与y的值均为的值均为15tB1.Text=abcd;TextBox tB2;/声明一个文本框变量(对象)声明一个文本框变量(对象)tB2 tB2=tB1;/用用tB1对对tB2初初始始化化(赋赋值值),这这时时两两个个文文本框变量的本框变量的Text属性均为属性均为abcdy=20;/注意!这时注意!这时x的值为的值为15,y的值为的值为20tB2.Text=bcda;/注注意意!这这时时tB1与与tB2的的Text属属性值均为性值均为bcda现在学习的是第21页,共44页 章节目录章节目录上一页上一页下一页下一页6.3 6.3 类的方法类的方法 方法是把一些相关的语句组织在一起,用于解决某一特定问题的语句块。方法必须放在类定义中。方法同样遵循先声明后使用的规则。C#语言中的方法相当于其他编程语言(如VB.NET)中的通用过程(Sub过程)或函数过程(Function过程)。C#中的方法必须放在类定义中声明,也就是说,方法必须是某一个类的方法。现在学习的是第22页,共44页 章节目录章节目录上一页上一页下一页下一页6.3.1 声明与调用方法方法的使用分声明与调用两个环节。1.声明方法声明方法最常用的语法格式为:访问修饰符访问修饰符 返回类型返回类型 方法名方法名(参数列表参数列表)方法的访问修饰符通常是public,以保证在类定义外部能够调用该方法。方法的返回类型用于指定由该方法计算和返回的值的类型,可以是任何值类型或引用类型数据,如,int、string及前面定义的Student类。如果方法不返回一个值,则它的返回类型为void。现在学习的是第23页,共44页 章节目录章节目录上一页上一页下一页下一页方法名是一个合法的C#标识符。参数列表在一对圆括号中,指定调用该方法时需要使用的参数个数、各个参数的类型,参数之间以逗号分隔。实现特定功能的语句块放在一对大括号中,叫方法体,“”表示方法体的开始,“”表示方法体的结束。如果方法有返回值,则方法体中必须包含一个return语句,以指定返回值,其类型必须和方法的返回类型相同。如果方法无返回值,在方法体中可以不包含return语句,或包含一个不指定任何值的return语句。现在学习的是第24页,共44页 章节目录章节目录上一页上一页下一页下一页2.调用方法从方法被调用的位置,可以分为在方法声明的类定义中调用该方法和在方法声明的类定义外部调用方法。在方法声明的类定义中调用该方法的语法格式为:方法名方法名(参数列表参数列表)在方法声明的类定义中调用该方法,实际上是由类定义内部的其他方法成员调用该方法。在方法声明的类定义外部调用该方法实际上是通过类声明的对象调用该方法,其格式为:对象名对象名.方法名方法名(参数列表参数列表)现在学习的是第25页,共44页 章节目录章节目录上一页上一页下一页下一页【例【例6-2】创建一个】创建一个Windows应用程序,分别实现应用程序,分别实现Cubiod(长方体)类定义内调用求体积方法与类定义(长方体)类定义内调用求体积方法与类定义外调用求体积方法。外调用求体积方法。现在学习的是第26页,共44页 章节目录章节目录上一页上一页下一页下一页6.3.2 参数传递参数传递在方法的声明与调用中,经常涉及方法参数,在方法声明中使用的参数叫形式参数(形参),在调用方法中使用的参数叫实际参数(实参)。在调用方法时,参数传递就是将实参传递给形参的过程。例如,某类定义中声明方法时的形参如下:public int IntMax(int a,int b)则声明对象classmax后调用方法时的实参如下:classmax.IntMax(x,y)现在学习的是第27页,共44页 章节目录章节目录上一页上一页下一页下一页1.按值传递 参数按值的方式传递是指当把实参传递给形参时,是把实参的值复制(拷贝)给形参,实参和形参使用的是两个不同内存中的值,所以这种参数传递方式的特点是形参的值发生改变时,不会影响实参的值,从而保证了实参数据的安全。2.按引用传递按引用传递是指实参传递给形参时,不是将实参的值复制给形参,而是将实参的引用传递给形参,实参与形参使用的是一个内存中的值。这种参数传递方式的特点是形参的值发生改变时,同时也改变实参的值。现在学习的是第28页,共44页 章节目录章节目录上一页上一页下一页下一页基本类型参数按引用传递时,实参与形参前均须使用关键字ref。例如Swap方法代码如下:public void Swap(ref string s1,ref string s2)string s3=s1;s1=s2;s2=s3;则调用该方法的语句代码如下:Swap(ref ss1,ref ss2);/在实参中增加ref关键字类对象参数总是按引用传递的,所以类对象参数传递不需要使用ref关键字。现在学习的是第29页,共44页 章节目录章节目录上一页上一页下一页下一页6.3.3 6.3.3 重载方法重载方法 方法重载是声明两个以上的同名方法,实现对不同数据类型的相同处理。方法重载有两点要求:重载的方法名称必须相同;重载的方法,其形参个数或类型必须不同,否则将出现“已经定义了一个具有相同类型参数的方法成员”的编译错误。例如能同时处理整型与浮点型数据的重载方法:public void Swap(ref int a,ref int b)public void Swap(ref float a,ref float b)现在学习的是第30页,共44页 章节目录章节目录上一页上一页下一页下一页6.4 构造函数构造函数构造函数是一种特殊的方法成员,构造函数的主要作用是在创建对象(声明对象)时初始化对象。一个类定义必须且至少有一个构造函数,如果定义类时,没有声明构造函数,系统会提供一个默认的构造函数,如果声明了构造函数,系统将不再提供默认构造函数。现在学习的是第31页,共44页 章节目录章节目录上一页上一页下一页下一页6.4.1 声明构造函数声明构造函数声明构造函数与声明普通方法相比,有两个特别要求,一是构造函数不允许有返回类型包括void类型,二是构造函数的名称必须与类名相同。所以构造函数往往需要使用形参,例如创建一个长方体类对象时,需要给出长方体的长、宽、高,所以长方体类构造函数可以声明如下:public Cuboid(double l,double w,double h)length=l;width=w;high=h;现在学习的是第32页,共44页 章节目录章节目录上一页上一页下一页下一页由于声明了上述带参数的构造函数,所以系统不再提供默认构造函数,这样在创建对象时,必须按照声明的构造函数的参数要求给出实际参数,否则将产生编译错误,例如:Cuboid cu=new Cuboid(8,6,4);由上述创建对象的语句可知,new关键字后面实际是对构造函数的调用。现在学习的是第33页,共44页 章节目录章节目录上一页上一页下一页下一页6.4.2 重载构造函数 例如,在创建一个Cuboid(长方体)对象时,可能需要创建一个长方体的特例正方体,这时仅需要给定一个棱长参数即可,因此需要一个只接受一个参数的构造函数,那么可以再声明一个含一个参数的构造函数,代码如下:public Cuboid(double l)length=l;width=l;high=l;如果在声明了带参数的构造函数后,还想保留默认构造函数,则必须显式声明一个默认构造函数。以Student类为例,声明默认构造函数如下:public Cuboid()/显式声明默认构造函数 现在学习的是第34页,共44页 章节目录章节目录上一页上一页下一页下一页【例【例6-8】在】在Windows应用程序中创建应用程序中创建Cuboid(长方(长方体)类,声明长方体构造函数及正方体构造函数的重体)类,声明长方体构造函数及正方体构造函数的重载。创建对象时,根据给定的参数个数将对象初始化载。创建对象时,根据给定的参数个数将对象初始化为长方体或正方体。为长方体或正方体。现在学习的是第35页,共44页 章节目录章节目录上一页上一页下一页下一页6.5 6.5 静态成员静态成员类可以具有静态成员,例如静态字段、静态方法等。静态成员与非静态成员的不同在于,静态成员属于类,而非静态成员则总是与特定的实例(对象)相联系。声明静态成员需要使用static修饰符。现在学习的是第36页,共44页 章节目录章节目录上一页上一页下一页下一页6.5.1 静态数据成员静态数据成员静态数据成员不属于任何一个特定的对象,而是属于类,或者说属于全体对象,是被全体对象共享的数据。现在学习的是第37页,共44页 章节目录章节目录上一页上一页下一页下一页例如:例如:class Cuboid private static int cubeNumber;/静静态态字字段段,用用于于统计正方体对象统计正方体对象 private static int cuboidNumber /静静态态字字段段,用用于于统计长方体对象统计长方体对象 private double length;private double width;private double high;现在学习的是第38页,共44页 章节目录章节目录上一页上一页下一页下一页6.5.2 静态方法静态方法静态方法同样使用修饰符static声明,静态方法属于类,只能使用类调用,不能使用对象调用。静态方法与非静态方法一样可以重载。现在学习的是第39页,共44页 章节目录章节目录上一页上一页下一页下一页【例6-9】创建一个Windows应用程序,在该程序中定义一个Cuboid(长方体)类,该类除包含非静态成员外,还包含两个静态数据成员用以统计长方体个数(对象个数)和正方体个数(对象个数),两个静态方法用以返回长方体个数与正方体个数。现在学习的是第40页,共44页 章节目录章节目录上一页上一页下一页下一页在Cuboid(长方体)类定义的类体中增加两个静态字段代码如下:private static int cubeNumber;private static int cuboidNumber在类体中增加两个静态方法,代码如下:public static int GetCubeNumber()return cubleNumber;public static int GetCuboidNumber()return cuboidNumber;现在学习的是第41页,共44页 章节目录章节目录上一页上一页下一页下一页修改类体中的构造函数,代码如下:/声明声明3个参数的长方体构造函数个参数的长方体构造函数public Cuboid(double l,double w,double h)length=l;width=w;high=h;/每创建一个长方体对象该静态变量增每创建一个长方体对象该静态变量增1 cuboidNumber+;/声明声明1个参数的正方体构造函数重载个参数的正方体构造函数重载public Cuboid(double l)length=width=high=l;/每创建一个正方体对象该静态变量增每创建一个正方体对象该静态变量增1 cubeNumber+;现在学习的是第42页,共44页 章节目录章节目录上一页上一页下一页下一页6.5.3 C#中的常用类型转换静态方法中的常用类型转换静态方法在C#的System命名空间中,有一个Convert(转换)类,该类提供了由字符串类型转换为相应其他基本数据类型的一系列静态方法。类型转换方法最常用的调用格式之一是:Convert.静态方法名静态方法名(字符串类型数据字符串类型数据)1.Convert.ToInt32方法方法2.Convert.ToSingle方法方法3.Convert.ToChar方法方法4.Convert.ToBoolean方法方法现在学习的是第43页,共44页 章节目录章节目录上一页上一页下一页下一页AAA 现在学习的是第44页,共44页

    注意事项

    本文(第6章 面向对象编程技术优秀PPT.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开