- 1、本文档共137页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C sharp 面向对象
面向对象 代码冗余 对比这两个类:Student 和 Teacher 提取冗余代码 提取后的应用 生活中的继承 父类和子类 在C#中,一个类可以继承另一个类 继承概述 继承是面向对象的一个重要特性 继承的实际应用1 继承的实际应用2 继承的实际应用3 Teacher和Student类都继承Person 继承的实际应用4 都有不同的SayHi()方法 base关键字 关键字base的作用 调用父类的属性和方法 调用父类的构造函数 protected访问修饰符 继承的传递性 继承的传递性 添加一个微型卡车类 继承单根性 隐式调用父类的构造函数 显示调用父类的构造函数 如果父类没有无参的构造函数 软件开发中的继承 模拟了现实世界的关系 实现代码重用 结构更清晰 窗口继承 回顾继承 调用两种类型的SayHi()方法 扩展的麻烦 添加对象后遍历泛型集合 巧妙的做法 修改Person类 生活中的多态 什么是多态 指不同对象收到相同消息时,会产生不同行为 抽象类和抽象方法 抽象类用来列举一个类所需要的行为 抽象类不明确提供具体实现方法 抽象类必须由其子类实现它的抽象方法(除非子类也具有抽象性) 常见错误 抽象类不能被实例化 实现抽象方法 使用override实现抽象方法 抽象类的应用场合 抽象类和抽象方法实现多态性 父类提供一系列规定, 约束子类的行为 父类可以提供一些共性的行为 里氏替换原则 is与as操作符 is 检查对象是否与指定类型兼容 为什么需要虚方法 使用虚方法 虚方法与抽象方法 面向对象的三大特性 封装 生活中的接口 生活中的接口 .NET接口 接口的使用 接口的名称通常以“I”开头 IComparable,IList 使用方法与继承一个类相似 如果类继承了父类 接口的特点 接口可以说是对继承单根性的扩展 自定义接口 自定义接口 使用自定义接口 作为返回值和参数的意义 接口作为参数 传递了实现接口的对象 接口作为返回值 返回一个实现了接口的对象 接口和抽象类的对比 数组的局限 能否动态的维护一个集合? 可维护动态长度的集合 ArrayList是一个可动态维护长度的集合 ArrayList的初始化 引入System.Collections命名空间 实例化ArrayList对象 ArrayList添加元素 建立班级学员的集合 访问ArrayList元素 删除ArrayList的元素 ArrayList 的遍历 可以使用和数组类似的方式 常见错误1 常见错误2 常见错误3 为什么使用HashTable ArrayList通过索引获取对象 什么是HashTable ArrayList 每个元素对应一个索引 HashTable 通常称为哈希表 根据键(Key)可以查找到相应的值 (Value) 使用哈希表 给哈希表添加元素 哈希表的遍历 类型安全1 类型安全2 ListT的使用 引入命名空间:System.Collections.Generic ListStudent students = new ListStudent(); 利用ListStudent存储班级集合 什么是泛型集合 泛型最常见的用途是创建集合类 泛型集合可以约束集合内的元素类型 典型泛型集合ListT,DictionaryK,V T、K,V表示该泛型集合中的元素类型 使用泛型集合ListT ListT 与 ArrayList 访问 ListT 与 ArrayList 的对比 DictionaryK,V概述 DictionaryK,V具有ListT相同的特性 K,V约束集合中元素类型 编译时检查类型约束 无需装箱拆箱操作 与哈希表类似存储Key和Value的集合 DictionaryK,V的使用 DictionaryK,V与哈希表 访问 DictionaryK,V 与 哈希表 的对比 泛型的重要性 泛型集合与传统集合相比类型更安全 泛型集合无需装箱拆箱操作 泛型的重要性 泛型是未来五年的主流技术之一 解决了很多需要繁琐操作的问题 提供了更好的类型安全性 CLR 支持泛型 后续课程学习泛型接口 什么是设计模式 模式就是得到很好研究的范例 简单工厂模式 简单工厂模式的原理 设计模式的意义 提高软件的可复用性 * 可运行看效果 * * * 1:结构中,使用属性时,必须实例化结构,才可以调用到。 * 1:值类型:访问快,资源消耗大。存放在栈内。 引用类型:访问相比值类型慢,资源消耗小,动态分配空间,赋值速度快,“=”号运算慢。存放在堆内。 * * 这里只告诉它这里可以将冗余代码提取 演示例子,体会一下提取出的成员,学员类依然能够访问 1:提问学员,生活中还有什么案例是继承关系 飞机:战斗机、客机 杯子:玻璃杯、塑料杯 1:has a:“有
文档评论(0)