《深入理解c语言》ppt课件

《深入理解c语言》ppt课件

ID:26949996

大小:371.50 KB

页数:44页

时间:2018-11-30

《深入理解c语言》ppt课件_第1页
《深入理解c语言》ppt课件_第2页
《深入理解c语言》ppt课件_第3页
《深入理解c语言》ppt课件_第4页
《深入理解c语言》ppt课件_第5页
资源描述:

《《深入理解c语言》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第14章深入理解C#语言唐大仕dstang2000@263.nethttp://www.dstang.com内容提要类型与转换变量及其传递多态与虚方法调用动态类型确定对象构造与析构csharp语言新特性1类型与转换数据类型C#的数据类型分值类型(ValueType)和引用类型(ReferenceType)两大类值类型包括简单类型(SimpleType)结构类型(StructType)枚举类型(EnumType)引用类型包括类类型(ClassType)数组类型(ArrayType)指代类型(Delega

2、te)ReferenceandValueTypesReference引用型(Class)Value值(Struct)分配Heap堆Inline栈默认值NullZeroed=的含义复制引用复制值变量中的内容引用实际值123is"Helloworld"inti=123;123jtintj=i;stringt=s;strings="Helloworld";示例Class&Struct.cs值类型的转换数字类型之间可以互相转化隐式转换floatf=3;显式转换inti=(int)3.14;整型提升sbytea

3、=1,b=2;a+b为int型枚举类型与数字类型之间可以显式转换结构类型之间不能转换引用类型转换显式或隐式转换(都要求有继承关系)Personp=newStudent();//隐式转换Students=(Student)p;//显式转换可能转成功,也可能异常IRunnabler=p;//隐式转换as运算符Students=pasStudent;可能成功,也可能为nullAsObject.cs引用类型与值类型的转换inti=123;objecto=i;intj=(int)o;123io123System

4、.Int32}“Boxing”}“Unboxing”j?123BoxingandunboxingUnboxing必须显式转换BoxingTest.csinttotal=35;strings=String.Format("Yourtotalwas{0}on{1}",total,date);Hashtablet=newHashtable();t.Add(0,"zero");t.Add(1,"one");DateTimed=DateTime.Now;Strings=d.ToString();//noboxi

5、nt[]a=newint[2];a[0]=33;//noboxArrayLista=newArrayList();a.Add(33);//boxhere2变量及其传递域变量及局部变量类static变量相当于类中的“全局变量”域变量相当于对象中的变量局部变量在函数体及其{}中,在栈中分配,自动消失域变量自动有初值,局部变量则不LocalVarAndMemberVar.cs按值传送的参数按值传送要注意值类型与引用类型TransByValue.csTransByValueStructClass.csref参

6、数及out参数ref参数在传之间必先赋值out参数在函数中必须赋值后才能返回表达式及对象的属性不能作ref及out参数TransByRef.csRefSwap.csTransByOut.csRefColorRGB.csparam参数数组参数(相当于VB的可变参数)参数必须放在最后调用时,可用数组,也可用多个参数定义:doubleMulti(paramsdouble[]nums)调用Multi();Multi(27);Multi(3.14,0.9,0.9);Multi(1,2,3,4,5);Multi(

7、newdouble[]{1,2,3,4,5});ParamsTest.cs3多态与虚方法调用多态(Polymorphism)在面向对象的系统中,多态性是一个非常重要的概念,它允许客户对一个对象进行操作,由对象来完成一系列的动作,具体实现哪个动作、如何实现由系统负责解释。在C#中,多态性的定义是,同一操作作用于不同的类的实例,不同的类将进行不同的解释,最后产生不同的执行结果。C#支持两种类型的多态性。4-2两种类型的多态性编译时的多态性编译时的多态是通过重载来实现的。对于非虚的成员来说,系统在编译时,根

8、据传递的参数、返回的类型等信息决定实现何种操作。运行时的多态性运行时的多态性是指直到系统运行时,才根据实际情况决定实现何种操作。C#中,运行时的多态性通过虚成员实现。编译时的多态性提供了运行速度快的特点,而运行时的多态性则带来了高度灵活和抽象的特点。上溯造型与虚方法调用VirtualInvokeShape.csstaticvoiddoStuff(Shapes){s.draw();}Shapec=newCircle();Shaper=newRectangl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。