又到了总结知识的时间,今天在云和学院继续学习了继承的一些运用,和集合的运用。下面就总结下来吧

理论:

显示调用父类的构造方法,关键字: 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运用

泛型集合的运用

 好了,由于我对父类和子类的转换还不是太明白,所以今天很抱歉没能总结上。到明天我弄明白后在仔细的补上今天遗留下的。加油!

C#中继承,集合(Eleventh day)的更多相关文章

  1. Java中的集合类型的继承关系图

    Java中的集合类型的继承关系图

  2. Java面试题:Java中的集合及其继承关系

    关于集合的体系是每个人都应该烂熟于心的,尤其是对我们经常使用的List,Map的原理更该如此.这里我们看这张图即可: 1.List.Set.Map是否继承自Collection接口? List.Set ...

  3. Java中的集合(六)继承Collection的Set接口

    Java中的集合(六)继承Collection的Set接口 一.Set接口的简介 Set接口和List接口都是继承自Collection接口,它与Collection接口中功能基本一致,并没有对Col ...

  4. Java中的集合(五)继承Collection的List接口

    Java中的集合(五)继承Collection的List接口 一.List接口简介 List是有序的Collection的,此接口能够精确的控制每个元素插入的位置.用户能够根据索引(元素在List接口 ...

  5. Java中的集合(三)继承Collection的Queue接口

    Java中的集合(三)继承Collection的Queue接口 一.Queue介绍 Queue接口继承自Collection接口,是Java中定义的一种队列数据结构,元素是有序的(按插入顺序排序),先 ...

  6. Java中的集合框架

    概念与作用 集合概念 现实生活中:很多事物凑在一起 数学中的集合:具有共同属性的事物的总体 java中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象 在编程时,常常需要集中存放多 ...

  7. backbonejs中的集合篇(一)

    一:集合概念 集合是多个模型,如果把模型model理解为表结构中的行,那么集合collection就是一张表,由多个行组成.我们经常需要用集合来组织和管理多个模型. 二:创建集合 1:扩展Backbo ...

  8. 菜鸟日记之 java中的集合框架

    java中的集合框架图 如图所示:java中的集合分为两种Collection和Map两种接口 可分为Collection是单列集合和Map的双列集合 Collection单列集合:继承了Iterat ...

  9. 有关JAVA基础学习中的集合讨论

        很高兴能在这里认识大家,我也是刚刚接触后端开发的学习者,相信很多朋友在学习中都会遇到很多头疼的问题,希望我们都能够把问题分享出来,把自己的学习思路整理出来,我们一起探讨一起成长.    今天我 ...

  10. JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序

    前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和A ...

随机推荐

  1. jQuery入门第三

    jQuery入门第三 1.HTML 2.CSS 衣服 3.javascript 可以动的人 4.DOM 编程 对html文档的节点操作 5.jQuery 对 javascript的封装 简练的语法 复 ...

  2. oracle 两表数据对比---minus

        1 引言 在程序设计的过程中,往往会遇到两个记录集的比较.如华东电网PMS接口中实现传递一天中变更(新增.修改.删除)的数据.实现的方式有多种,如编程存储过程返回游标,在存储过程中对两批数据进 ...

  3. Oracle的TPCC测试,原来也是个作弊的东西...

    http://www.oaktable.net/content/sorted-hash-clusters-rip 根据Jonathan Lewis老先生的测试实例,发觉cluster 的sort功能, ...

  4. 《windows程序设计》学习_2.1:初识消息

    #include <windows.h> //#define WM_MYMSG (WM_USER +100) LRESULT CALLBACK WndProc(HWND,UINT,WPAR ...

  5. 图画hadoop -- 生态圈

  6. POJ1363:Rails

    Description There is a famous railway station in PopPush City. Country there is incredibly hilly. Th ...

  7. MVC Razor中 如何截断字符串

    有时候显示的内容过长,使用MVC编程时,如何截断显示的内容呢.我知道你肯定有很多办法这样做的,但是在学习MVC时,还是使用一些新的办法做吧> Razor 标记语法编程. @helper Trun ...

  8. SQL Server索引进阶:第八级,唯一索引

    原文地址: Stairway to SQL Server Indexes: Level 8,Unique Indexes 本文是SQL Server索引进阶系列(Stairway to SQL Ser ...

  9. bootstrap 智能表单 demo示例

    1.基本配置,支持的元素类型 2.自动布局 3.自定义布局 4.自定义表单 5.数据绑定 6.带验证的表单 7.智能搜索 8.级联下拉 9.图片上传 图片有点大了,屏幕不够大的话可能看的不习惯,没事 ...

  10. Undefined symbols for architecture xxx

    解决方法: "Build Settings"->"Linking"->"Other Linker Flags" add the ...