可视化程序设计语言II——第3讲C#异常捕获与面向对象特性课件

PPT
  • 阅读 56 次
  • 下载 0 次
  • 页数 27 页
  • 大小 686.001 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
可视化程序设计语言II——第3讲C#异常捕获与面向对象特性课件
可在后台配置第一页与第二页中间广告代码
可视化程序设计语言II——第3讲C#异常捕获与面向对象特性课件
可在后台配置第二页与第三页中间广告代码
可视化程序设计语言II——第3讲C#异常捕获与面向对象特性课件
可在后台配置第三页与第四页中间广告代码
可视化程序设计语言II——第3讲C#异常捕获与面向对象特性课件
可视化程序设计语言II——第3讲C#异常捕获与面向对象特性课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 27
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
文本内容

【文档说明】可视化程序设计语言II——第3讲C#异常捕获与面向对象特性课件.ppt,共(27)页,686.001 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-44676.html

以下为本文档部分文字说明:

第3讲C#异常捕获与面向对象特性www.robogix.com/aspnet/03.ppt可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~2~大纲1.异常处理2.try-catch-finally结构3.C#面向对象程序设计基础4.继承5.类的访问修饰符6.thisst

atic关键字7.多态(Polymorphism)和虚方法可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~3~异常处理C#的异常可能由两种方式导致:throw语句无条件抛出异常。C#语句和

表达式执行过程中激发了某个异常的条件,使得操作无法正常结束,从而引发异常。例如整数除法操作分母为零时将抛出一个异常。异常由try语句来处理,try语句提供了一种机制来捕捉执行过程中发生的异常。Try语句有3种基本格式:try-catchtry-fi

nallytry-catch-finally可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~4~try-catch结构案例名称:使用try-catch语句程序名称:2-21.csusingSyste

m;classSample{publicstaticvoidMain(string[]args){longfactorial=1;longnum=Int64.Parse(args[0]);try{checked{//计算数num的阶乘for(lo

ngcur=1;cur<=num;cur++)factorial*=cur;}}catch(OverflowExceptionoe){Console.WriteLine("计算{0}的阶乘时引发溢出异常",num);Console.WriteLine("{0}",o

e.Message);return;}Console.WriteLine("{0}的阶乘是{1}",num,factorial);}}Checked的作用是溢出检查,溢出时报异常.可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~5~try-fi

nally结构案例名称:使用try-finally语句程序名称:2-22.csusingSystem;publicclassSample{publicstaticvoidMain(){try{Console.WriteLine(

"执行try子句!");gotoleave;//跳转到leave标签}finally{Console.WriteLine("执行finally子句!");}leave:Console.WriteLine("执行le

ave标签!");}}可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~6~try-catch-finally结构案例名称:使用try-catch-finally语句程序名称:2-23.csusingSystem;classSample{publics

taticvoidMain(){try{throw(newArgumentNullException());//引发异常}catch(ArgumentNullExceptione){Console.Write

Line("Exception:{0}",e.Message);}finally{Console.WriteLine("执行finally子句");}}}可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~7~C#面向对象程序设计基础与传统的面向

过程的编程方法相比,面向对象编程方法有3个优点:(1)程序的可维护性好;(2)程序容易修改;(3)对象可以使用多次,可重用性好。可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~8~类的定义classA{}classB{void

f(){Aa=newA();}}可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~9~继承为了提高软件模块的可重用性和可扩充性,以便提高软件的开发效率,希望能够利用前人或自己以前的开发成果,任何面向对象的程序设计语言都能够提供两个重

要的特性:继承性(inheritance)多态性(polymorphism)可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~10~使用继承案例名称:使用继承程序名称:2-24.csusingSystem;classBaseA{publicv

oidFuncA(){System.Console.WriteLine("FuncitonA");}}classDerivedA:BaseA{publicvoidFuncB(){System.Consol

e.WriteLine("FunctionB");}}classTester{publicstaticvoidMain(string[]args){DerivedAaDerived=newDerivedA();aDerived.FuncA();aDerived.Fu

ncB();}}可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~11~类的访问修饰符案例名称:类的访问修饰符程序名称:2-25.csusingSystem;classClass1{publicstrings;//公有成员protectedinti;//保护成员privatedoubl

ed;//私有成员publicvoidF1(){s="Welcomesix!";//正确,允许访问自身成员i=100;//正确,允许访问自身成员d=18.68;//正确,允许访问自身成员}可视化程序设计语言II——

第3讲C#异常捕获与面向对象特性~12~构造函数和析构函数构造函数用于执行类的实例的初始化。每个类都有构造函数,即使没有声明它,编译器也会自动提供一个默认的构造函数。在访问一个类的时候,系统将最先执行

构造函数中的语句。使用构造函数请注意以下几个问题:一个类的构造函数与类名相同构造函数不声明返回类型。构造函数总是public类型的。可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~13~案例名称:构造函数和析构函数程序

名称:2-26.csusingSystem;classDesk{//构造函数和类名一样,析构函数前面加~publicDesk(){Console.WriteLine("ConstructingDesk");weight=6;high=3;width=7;

length=10;Console.WriteLine("{0},{1},{2},{3}",weight,high,width,length);}~Desk(){Console.WriteLine("De

structingDesk");}protectedintweight;protectedinthigh;protectedintwidth;protectedintlength;publicstatic

voidMain(){Deskaa=newDesk();Console.WriteLine("backinmain()");}};可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~14~this关键字案例名称:使

用this关键字程序名称:2-27.csusingSystem;publicclassEmployee{publicstringname;//员工姓名publicdecimalsalary;//员工薪水//构造函数publicEmployee(stringname,decimals

alary){//用this关键字给正在构造的对象的name和salary赋值this.name=name;this.salary=salary;}//显示员工姓名及薪水publicvoidDiaplayEmployee(){Console.

WriteLine("姓名:{0}",name);Console.WriteLine("薪水:{0}元",salary);//用this方法将当前对象传给Tax.CalcTax()方法Console.WriteLine("个人所得

税:{0}元",Tax.CalcTax(this));}}publicclassTax{publicstaticdecimalCalcTax(EmployeeE){return(0.14m*(E.salary-800.0m));}}publicclassSample{publicstaticvo

idMain(){//声明类Employee的实例eEmployeee=newEmployee("小刘",4123.6m);e.DiaplayEmployee();//显示员工姓名和薪水}}可视化程序设计语言II——第3讲

C#异常捕获与面向对象特性~15~关键字static案例名称:使用static关键字程序名称:2-28.csusingSystem;publicclassPerson{privateintid;publicstaticinttotal=0;publicPer

son(){total++;id=total;}}publicclassOtherClass{publicstaticvoidMain(){Person.total=100;Console.WriteL

ine(Person.total);Personc=newPerson();Console.WriteLine(Person.total);}}可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~16~案例名称:使用静态方法程序名称:2-29.csusing

System;publicclassPerson{privateintid;privatestaticinttotal=0;publicstaticintgetTotalPerson(){returntotal;}publicPerson(){total++;id=total;}}pub

licclassTestPerson{publicstaticvoidMain(){Console.WriteLine(Person.getTotalPerson());Personp1=newPerson();

Console.WriteLine(Person.getTotalPerson());}}可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~17~C#面向对象高级特性和其他的面向对象语言一样,C#支持多态、虚方法

、函数的重载等。除此之外,C#还提供一种特殊的数据形态“装箱”可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~18~多态(Polymorphism)在C#中,多态性的定义是:“同一操作作用于不同的类的实例,不同的类

将进行不同的解释,最后产生不同的执行结果”。C#支持两种类型的多态性。编译时的多态性:编译时的多态是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。运行时的多态性:运行时的多态性是直到系统运行时,才根据实际情况决定实现何种操作。C#中,运行

时的多态性通过虚方法实现。编译时的多态性提供了运行速度快的特点,而运行时的多态性则带来了高度灵活和抽象的特点。可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~19~虚方法案例名称:使用虚方法程序名称:2-30.csusi

ngSystem;classTest{staticvoidMain(string[]args){Baseb=newBase();b.Draw();Derivedd=newDerived();d.Draw();d.Fill();Base

obj=newDerived();obj.Fill();obj.Draw();}}classBase{publicvoidFill(){System.Console.WriteLine("Base.Fill");}pub

licvirtualvoidDraw(){System.Console.WriteLine("Base.Draw");}}classDerived:Base{publicoverridevoidDraw(){System.Console.WriteLine(

"Derived.Draw"}publicnewvoidFill(){System.Console.WriteLine("Derived.Fill");}}可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~20~函数重载案例名称:重载普通函数程序名称:2-32.c

susingSystem;classOverload{publicvoidFunc(){System.Console.WriteLine("Func()");}publicvoidFunc(intx,inty){System.Console.WriteLine("Func(intx,in

ty)");}publicvoidFunc(longx,longy){System.Console.WriteLine("Func(longx,longy)");}publicstaticvoidMain(string[]args){OverloadmyOverload=newOverlo

ad();myOverload.Func();myOverload.Func(1,1);myOverload.Func(1L,1L);//会调用哪个重载函数呢?myOverload.Func(1L,1);}}可视化程序设计语言II——第3讲C#异常捕获与面向对象

特性~21~案例名称:重载构造函数程序名称:2-33.csusingSystem;classCtorOverloadDemo{staticvoidMain(String[]args){MyInti=newMyInt(2);System.Co

nsole.WriteLine(i.i);MyIntj=newMyInt();System.Console.WriteLine(j.i);}}classMyInt{publicinti;publicMyInt(){i=0;}publicMyInt(inti){this.i=i;}}可视化程序设计语

言II——第3讲C#异常捕获与面向对象特性~22~装箱案例名称:使用装箱程序名称:2-34.csusingSystem;publicclassUnboxingTest{publicstaticvoidMain(){inti=123;//装箱

objecto=i;//拆箱,必须是显示转换intj=(int)o;Console.WriteLine("j:{0}",j);}}可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~23~常用的几个函数字符串输出把数据转化成字符串以作为输出实际上是很简单的。数值类型转

换为字符串可以用intintAge=25;stringstrAge=intAge.ToString();ToString()函数可以应用于所有数据类型.NETFramework基类库函数。这是因为ToString()是.NETFrameWork库

System.Object的基类的函数之一。可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~24~转换函数函数功能Convert.ToBoolean()转换成为bool型,字符串必须为tr

ue或者falseConvert.ToChar()转换成为char型Convert.ToDateTime()转换成为日期型Convert.ToDecimal()转换成为Decimal型Convert.ToInt32()转换成为

int型可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~25~字符串处理函数案例名称:使用字符串函数程序名称:2-35.csusingSystem;publicclassUnboxingTest{publicstat

icvoidMain(){stringstrDate="2005-10-110:10:55";stringstrDay=strDate.Substring(0,strDate.IndexOf(""));Console.WriteLine("输出日期:{0}",strDay);}}可视化

程序设计语言II——第3讲C#异常捕获与面向对象特性~26~小结本章介绍C#编程基础,掌握C#编译器的使用方法,掌握C#的数据结构,熟悉值类型和引用类型的使用方法。掌握操作符和控制语句的使用,着重掌握C#的异常处理和C#面

向对象编程特性,熟悉C#常用的几个函数。可视化程序设计语言II——第3讲C#异常捕获与面向对象特性~27~本章习题2-1简述C#语言的特点。2-2如何读取命令行参数?用程序说明。2-3比较基本数据类型和引用

数据类型的区别。2-4C#的访问修饰符有几种,各具有什么限定作用?2-5构造函数有什么作用?简述重载构造函数的好处。2-6析构函数有什么作用?如何定义析构函数?2-7如何访问基类的函数?2-8C#中如

何实现异常处理?

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?