- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* GetHashCode 生成一个与对象值相对应的数字以支持哈希表的使用 * 补充 面向对象的几个设计原则(设计模式): 1.里式替换原则:子类对象可以代替父类对象,反之不行 2.关注对象原则:调用子类还是父类的方法,取决于创建的对象是子类对象还是父类对象,而不是它的引用类型。 3.就近执行原则:对于同名字段或者方法,编译器是按照其顺序查找来引用的,也就是首先访问离它创建最近的字段或者方法。在子类方法中,如果标记new关键字,则意味着隐藏基类实现 * 例4.1 获得面积使用了不同的方法名 * 书写override方法演示 * * 简单类型:整数类型byte,int,long,char、实数类型float,double、布尔类型 引用类型:class,interface,array,delegate,object,string * 结构不能被继承 * 结构一般是值类型,不能被继承 * a:97 * 基类对象=派生类对象 人=男人或女人 * 派生类对象=(派生类)基类对象 男人对象=(男人)人对象 实现System.Collections提供的集合接口的集合 以IEnumerable集合接口为例说明自定义集合 IEnumerable接口定义: public interface IEnumerable { IEnumerator GetEnumerator(); } 实现IEnumerable的同时也要实现IEnumerator接口 IEnumerator接口定义: public interface IEnumerator { object Current { get(); } bool MoveNext(); void Reset(); } 1.自定义集合 【例4.15】 IEnumerable自定义集合示例。 using System; using System.Collections; namespace CustomCollection { class MyClass { public string Name; public int Age; public MyClass(string name,int age) { this.Name=name; this.Age=age; } } public class Iterator:IEnumerator,IEnumerable { private MyClass[ ] ClassArray; int Cnt; public Iterator() { // 使用带参构造器赋值 ClassArray = new MyClass[4]; ClassArray[0] = new MyClass(Kith,23); ClassArray[1] = new MyClass(Smith,30); ClassArray[2] = new MyClass(Geo,19); ClassArray[3] = new MyClass(Greg,14); Cnt = ?1; } // 实现IEnumerator的Reset()方法 public void Reset() { Cnt=?1; } // 指向第一个元素之前,Cnt为?1,遍历是从0开始 // 实现IEnumerator的MoveNext()方法 public bool MoveNext() { return (++ Cnt ClassArray.Length); } // 实现IEnumerator的Current属性 public object Current { get { return ClassArray[Cnt]; } } // 实现IEnumerable的GetEnumerator()方法 public IEnumerator GetEnumerator() { return (IEnumerator)this; } static void Main() { Iterator It=new Iterator();// 像数组一样遍历集合 foreach(MyClass MY in It){ Console.Wr
您可能关注的文档
最近下载
- 蓝海华腾VA-H系列伺服驱动器 用户手册2.0.pdf
- 国家法定41种传染病大全(就诊科室、传播途径、病原体、检测方法等)及防护措施.doc VIP
- GB50877-2014 防火卷帘、防火门、防火窗施工及收规范.docx VIP
- T_CECWA 2001-2023 钢结构焊接工艺评定标准.docx
- 8.铁路工程预算定额 路基工程宣贯讲义.ppt VIP
- 2024年四川宜宾五粮液股份有限公司招聘笔试真题.docx VIP
- 医疗废物管理条例.pptx VIP
- 2025年辽宁省电力行业十五五发展规划研究.docx
- 国标GB_T 43388-2023《家用汽车产品严重安全性能故障判断指南》实践.pdf VIP
- 厂房租赁合同.doc VIP
文档评论(0)