关闭

关闭

关闭

封号提示

内容

首页 C#网络应用编程基础 教学课件 ppt 作者 马骏2 第04章 面向对象的高级编程.ppt

C#网络应用编程基础 教学课件 ppt 作者 马骏2 第04章 面向对象的高级编程.ppt.ppt

C#网络应用编程基础 教学课件 ppt 作者 马骏2 第04…

希望
2019-09-15 0人阅读 举报 0 0 暂无简介

简介:本文档为《C#网络应用编程基础 教学课件 ppt 作者 马骏2 第04章 面向对象的高级编程.pptppt》,可适用于高等教育领域

关于C#网络应用编程基础 教学课件 ppt 作者 马骏2 第04章 面向对象的高级编程.ppt.ppt文档,吉林快3—吉林快三拥有内容丰富的相关文档,站内每天千位行业名人共享最新资料。

*第章面向对象的高级编程封装、继承与多态版本控制接口委托序列化和反序列化泛型处理*封装、继承与多态封装:隐藏调用者不需要了解的信息。继承:简化类的设计。多态:类为名称相同的方法提供不同实现方式的能力。*封装模块信息通过类封装类的成员通过字段、属性、方法、事件封装私有的用private可以继承的用protected公共成员用public不要为了方便把什么都定义成public不要为了方便把什么都定义成static*MyClasscsusingSystemnamespaceConsoleTest{classMyClass{privateintnumberpublicintNumber{get{returnnumber}set{if(value){number=value}}}}}ProgramcsusingSystemnamespaceConsoleTest{publicclassProgram{publicstaticvoidMain(){MyClassme=newMyClass()meNumber=ConsoleWriteLine(Number:{},meNumber)ConsoleReadLine()}}}回答:既然没有赋值为什么输出?*继承两种实现继承的方式:类继承和接口继承。类继承只允许单一继承接口可实现多重继承。被继承的类叫基类继承自其他类的类叫扩充类*继承(续)声明扩充类的语法:访问修饰符class扩充类名称:基类名称{程序代码}扩充类继承了所有定义在基类中数据的定义和方法。但是不继承构造函数而且扩充类不继承基类的数据值。*MyNewClasscsusingSystemnamespaceConsoleTest{classMyNewClass:MyClass{privatestringstr=hellopublicvoidHello(){Number=ConsoleWriteLine(str)}}}*多态性多态性是指类为名称相同的方法提供不同实现方式的能力。利用多态性就可以调用类中的某个方法而无需考虑该方法是如何实现的。有以下几种实现多态性的方式。第一种方式是通过继承实现多态性。第二种方式是通过抽象类实现多态性。第三种方式是通过接口实现多态性。*虚拟方法在基类中如果想让某个方法或者事件被扩充类重写可以使用修饰符virtual表明:publicvirtualvoidmyMethod(){helliphellip程序代码}扩充类则用override重写:publicoverridevoidmyMethod(){helliphellip程序代码}*使用虚拟方法与重写方法时需要注意下面几个方面:)虚拟方法不能声明为静态(static)的。因为静态的方法是应用在类这一层次的而多态性只能在对象上运作。)virtual不能和private一起使用。因为声明为private就无法在扩充类中重写了。)重写方法的名称、参数个数、类型以及返回值都必须和虚拟方法的一致。*MyClasscsusingSystemnamespaceConsoleTest{classMyClass{publicvirtualvoidHello(){ConsoleWriteLine()}}}MyNewClasscsusingSystemnamespaceConsoleTest{classMyNewClass:MyClass{privatestringstr=hellopublicoverridevoidHello(){Number=ConsoleWriteLine(str)}}}*隐藏基类的方法在扩充类中可以使用new关键字来隐藏基类的方法即使用一个完全不同的方法取代旧的方法。与方法重写不同的是使用new关键字时并不要求基类中的方法声明为virtual只要在扩充类的方法前声明为new就可以隐藏基类的方法。*抽象类抽象类使用abstract修饰符用于表示所修饰的类是不完整的即类中的成员(例如方法)不一定全部实现可以只有声明没有实现。抽象类只能用作基类。抽象类与非抽象类相比有以下主要不同之处:第一是抽象类不能直接被实例化只能在扩充类中通过继承使用对抽象类使用new运算符会产生编译时错误第二个不同点是抽象类可以包含抽象成员而非抽象类不能包含抽象成员。当从抽象类派生非抽象类时这些非抽象类必须具体实现所继承的所有抽象成员。*版本控制用C#编写方法时如果在扩充类中重写基类的方法需要用override声明要隐藏基类的方法需要用new声明这就是C#进行版本控制的依据。在C#中所有的方法默认都是非虚拟的调用非虚拟方法时不会受到版本的影响不管是调用基类的方法还是调用扩充类的方法都会和设计者预期的结果一样执行实现的程序代码。相比之下虚拟方法的实现部分可能会因扩充类的重写而影响执行结果。也就是说在执行时期调用虚拟方法时它会自动判断应该调用哪个方法。*接口接口的主要特点是只有声明部分没有实现部分。接口成员的实现是通过类完成的。定义在接口中的方法都是public的。使用interface关键字声明一个接口。常用的语法是:访问修饰符interface接口名称{接口体}一般情况下以大写的ldquoIrdquo开头指定接口名表明这是一个接口。需要在不相关的类中实现同样的功能时可以使用接口。*委托委托的特点是可以将方法作为参数传递。就像A(方法)委托B(delegate)完成一些事(把方法当作参数传递给B)你如果想找A做什么事(想调用方法A)而A这时候正在忙(系统不允许在这种情况下调用方法A)但是你可以告诉B(可以调用委托B)其最终效果和告诉A一样(调用委托B和调用方法A效果相同)。但是区别是B可以在他认为合适的时候再告诉A(委托可以等某些条件满足时再调用方法A)。而B什么时候告诉A你就不用操心了。这种机制是异步操作以及事件处理的基础。在这一章抽象的讲代码不容易理解等第章以后再结合具体应用介绍如何实现。*序列化与反序列化序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化它将流转换为对象。两个过程结合可以存储和传输数据。NETFramework提供两种序列化技术:)二进制序列化这种序列化可以保持类型不变即可以在应用程序的不同调用之间保留对象的状态。)XML和SOAP序列化这种序列化仅序列化公共属性和字段不保存类型。*泛型处理泛型(Generic)一般用在集合和在集合上运行的方法中。NET框架以前的版本不支持泛型。使用泛型具有以下明显的优点:)可以避免以下两个问题:内部实现代码冗余和困扰开发人员的含混不清的编译器错误提示)类型安全)二进制代码重用)性能)清晰性。*常用泛型凡是有对应泛型类型的类就尽量不要使用早期提供的非泛型类型的类。下面的泛型类型对应于低版本提供的类型:泛型类低版本提供的非泛型类ListArrayListDictionaryHashtableQueueQueueStackStackSortedListSortedList*实验中用到的泛型SortedList:按键排序的键值对集合是运算复杂度为O(logn)的二进制搜索树。常用方法:Add方法:将带有指定键和值的元素添加到SortedList中例如(注意:如果插入重复的键会产生异常):SortedListstring,stringopenWith=newSortedListstring,string()openWithAdd(txt,notepadexe)openWithAdd(bmp,paintexe)*实验中用到的泛型(续)TryGetValue方法:获取与指定的键相关联的值。例如:stringvalue=if(openWithTryGetValue(tif,outvalue)){ConsoleWriteLine(Forkey=tif,value={},value)}else{ConsoleWriteLine(Key=tifisnotfound)}*实验中用到的泛型(续)ContainsKey方法:确定SortedList中是否包含指定的键。例如:if(!openWithContainsKey(ht)){openWithAdd(ht,hypertrmexe)ConsoleWriteLine(Valueaddedforkey=ht:{},openWithht)}*实验中用到的泛型(续)Remove方法:从SortedList中移除带有指定键的元素。例如:openWithRemove(doc)if(openWithContainsKey(doc)==false){ConsoleWriteLine(Keydocisnotfound)}

类似资料

该用户的其他资料

2015.11创新杯创新杯说课大赛国赛说课课件.ppt

19--课程..创新杯说课大赛国赛说课课件.ppt

2014创新杯直线的倾斜角与斜率课程创新杯说课大赛国赛说课课件.ppt

13幼师3 住创新杯说课大赛国赛说课课件.ppt

2010血栓的形成讲课曹颜冬创新杯说课大赛国赛说课课件.ppt

职业精品

精彩专题

让你惊艳又清新的英文短诗合集

让你清新惊艳的英文小诗有哪些呢?小编汇集了以下经典英文诗、唯美爱情小诗、英文诗押韵技巧等等,让爱好英文短诗的你能够一起体验其中的乐趣!

用户评论

0/200
上传我的资料

热门资料排行换一换

  • 青春期心理健康教育讲座

  • 围产期并发下肢深静脉血栓的治疗

  • 视频信号的重放原理

  • Audiovox民用对讲机

  • 人教版八年级物理上册知识点归纳总结

  • 吊篮施工方案

  • 跌落式熔断器安装作业指导书

  • 碧桂园凤凰城8#楼2#塔吊附着方案

  • 【doc】英语修辞格中的明喻和隐喻

  • 资料评价:

    / 23
    所需积分:0 立即下载

    VIP

    在线
    客服

    免费
    邮箱

    吉林快3—吉林快三服务号

    扫描关注领取更多福利