又到了总结知识的时间,今天在云和学院继续学习了继承的一些运用,和集合的运用。下面就总结下来吧
理论:
显示调用父类的构造方法,关键字: base;构造函数不能被继承;子类对象被实例化的时候会先去主动的调用父类的构造函数。 如果子类与父类的方法名相同,那么我们的对象会去调用子类的对象。
父类和子类的转换
Person p = new Teacher();子类可以隐式的转换成父类. 转换的前提是转换的类确实存在着继承的关系。 访问修饰符private : 私有成员, 在类的内部才可以访问。
类中字段和方法默认的访问修饰符 是private
public : 公共成员,完全公开,没有访问限制。
internal: 当前程序集内可以访问。
protected : 保护成员,该类内部和继承类中可以访问,不允许其他非子类访问
ArrayList集合
可以将集合看作为“长度可变的,具有很多方法的数组
只有找到该项,才能通过“下标”访问到其中的数据
ArrayList元素的增加、插入、删除、清空、排序、反转。集合的长度用Const来表示。
• 引用System.Collection命名空间
• 手动添加(必须记住命名空间) • 光标停在代码中,快捷键或鼠标右键(必须记住类名) 学习集合可以注意归纳一下可用的方法 添加数据:Add()、AddRange()---添加数组用add • 使用Add可以添加数据,并且与数组一样可以使用“下标”(索引)访问数据 • 使用下标访问的数据是object类型的,必要时需要进行转换,必须满足里氏转换原则 • 为什么要把Add参数设为object的呢?为了通用 • AddRange将数组或集合当中的数据批量的一个一个的加进来 • 数组或集合中有多少个数据,新集合中就添加了多少个数据,类型等一一对应 • 但Add同样可以将数组或集合作为数据加入,但此时加入将数组或集合作为一个项添加过去 插入数据:Insert() 使用语法:集合名.Insert(位置, 值); // 位置的确定,使用插入好的数据来数 第二个数据就是要插入的数据内容 删除数据:Remove()、RemoveAt()、Clear() Remove方法 • arrayList.Remove(数据) • 删掉集合中,与“数据”相同的数据 • 当集合中不存在这个数据时,直接忽略 • 方法执行从左至右删掉第一个出现的数据,其后数据不考虑 RemoveAt方法 • 删掉指定索引出的数据,其后数据依次向前移动 • 当索引超出范围后,异常 Clear() 判断是否包含:Contains() Sort等可以处理排序功能(甚至还有Max、Min、AVG等) Next() •产生一个整数范围内的随机数,Next(num) HashTable方法 • HashTable的增、删、查、判存。 • 添加数据,都是“键值对”的形式 • 键值对均是object类型 • 键值对中的键就是为了找数据用的,必须提供,不允许重复 • Hashtable使用键作为寻找的方式,是一种无序的结构 • 得到数据 • 使用<hasntable实例名>[键],将返回object类型的,由键对应的数据 • 强转,使用里氏转换原则 泛型集合 • 泛型集合就是为了专门处理某种类型• ArrayList对应的是 List<类型名>
• 在尖括号中写什么类型,这个集合就变成了什么类型的集合 • 添加数据、插入数据、索引访问数据都是这个类型的,不用考虑所有的转化问题 实操: ArrayList集合的运用HashTable运用
泛型集合的运用
好了,由于我对父类和子类的转换还不是太明白,所以今天很抱歉没能总结上。到明天我弄明白后在仔细的补上今天遗留下的。加油!