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

理论:

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

    1. 去 http://phpexcel.codeplex.com/ 下载phpexcel源码,解压缩后把phpexcel/Classes里的PHPExcel文件夹和PHPExcel.php复制到CI ...

  2. hdu 3572 Escape 网络流

    题目链接 给一个n*m的图, 里面有一些点, '.'代表空地, '#'代表墙, 不可以走, '@'代表大门, 可以有多个, 'X'代表人, 问所有人都走出大门需要的最短时间, 每一时刻一个格子只能有一 ...

  3. scanf一次给多个变量赋值

    本节课程笔记: 一是对多个变量进行赋值,二是对非法输入的值做正确处理(处理方式了解即可,相关函数知识后期讲解),三是美化scanf代码加入输出说明. /* Name:scanf一次给多个变量赋值 Co ...

  4. 关于This的经典题目

    这个题目见过很多次了 var x = 10; var foo = { x: 20, bar: function() { var x = 30; return this.x; } }; alert(fo ...

  5. ACPI引起linux系统无故重启

    新装机器无故重启多次. centos6 64bit uname -a Linux Eos 2.6.32-71.el6.x86_64 #1 SMP Fri May 20 03:51:51 BST 201 ...

  6. 原理图产生网络表后导进PADS之后,网络乱了的问题

    问题描述:在Orcad中生成的网络表(格式.ASC),导进PADS9.2中(PADS9.2中已有一些元器件),结果报Mixing nets,如下图示. 仔细检查原理图中的这些nets,发现有的有错,有 ...

  7. 在 Windows Azure 上部署预配置 Oracle VM

    Microsoft 和 Oracle 近期宣布建立战略合作伙伴关系,基于此,我们将通过 Windows Azure 镜像库推出多种常用的 Oracle 软件配置.即日起,客户可以在 Windows S ...

  8. g711u与g729比較编码格式

    •711a-编解码格式为G.711 alaw •g711u-编解码格式为G.711 ulaw (the default) •g729-编解码格式为G.729 •g729a-编解码格式为G.729a 上 ...

  9. activity的横屏和竖屏设置

    主要在清单文件这样配置: <application android:allowBackup="true" android:icon="@drawable/ic_la ...

  10. iOS合并静态库文件

    具体命令如下(在控制台输入如下命令): lipo -create 其中一个要合并的静态库 另一个要合并的静态库 -output 合并后的静态库