C#中继承,集合(Eleventh day)

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

理论:

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

泛型集合的运用

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

时间: 2024-12-28 04:54:10

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

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

关于集合的体系是每个人都应该烂熟于心的,尤其是对我们经常使用的List,Map的原理更该如此.这里我们看这张图即可: 1.List.Set.Map是否继承自Collection接口? List.Set 是,Map 不是.Map是键值对映射容器,与List和Set有明显的区别,而Set存储的零散的元素且不允许有重复元素(数学中的集合也是如此),List是线性结构的容器,适用于按数值索引访问元素的情形. 2.阐述ArrayList.Vector.LinkedList的存储性能和特性. ArrayLi

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

    很高兴能在这里认识大家,我也是刚刚接触后端开发的学习者,相信很多朋友在学习中都会遇到很多头疼的问题,希望我们都能够把问题分享出来,把自己的学习思路整理出来,我们一起探讨一起成长.    今天我在这里简单讲解一下我对学习中集合的理解.很多朋友再写解释的时候,没有从最简单说起,造成了阅读中的困惑,或许我能帮助你对集合有一个新的认识.   首先当我们谈到集合的时候要了解一下集合的具体概念. java集合的概念是相对于数组来说的,那么什么是数组呢?   数组:数组是一段连续存储单元. 每个存储单

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

java中的集合框架图 如图所示:java中的集合分为两种Collection和Map两种接口 可分为Collection是单列集合和Map的双列集合 Collection单列集合:继承了Iterator接口所以具有了iterator()方法 ,该方法返回一个Iterator<T>,这个接口具有 HasNext (),next(),remove()3个方法可以在实现类里完成实现. hasNext():判断是否有下一个元素 cusor是当前的操作下标 next():读取下一个元素 remove(

java中TreeSet集合如何实现元素的判重

1 /* 2 看一下部分的TreeSet源码.... 3 public class TreeSet<E> extends AbstractSet<E> 4 implements NavigableSet<E>, Cloneable, java.io.Serializable 5 { 6 private transient NavigableMap<E,Object> m; 7 //NavigableMap继承SortedMap, 二者都是接口,在TreeMa

java中各种集合的用法和比较

一,java中各种集合的关系图 Collection       接口的接口     对象的集合 ├ List             子接口         按进入先后有序保存   可重复 │├ LinkedList    接口实现类     链表     插入删除   没有同步   线程不安全 │├ ArrayList     接口实现类      数组     随机访问   没有同步   线程不安全 │└ Vector        接口实现类       数组              

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

前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和ArrayList.HashSet.LinkedList等等.根据核心框架图,相信我们都已经对Collection这个JavaSE中最常用API之一有一个较为全面的认识. 这个学习过程,还可以推及到其他常用开源框架和公司项目的学习和熟悉上面.借助开发工具或说明文档,先是对项目整体有一个宏观的认识,再根

Java中的集合(一)

1.Java集合概述 在编程中,常常需要集中存放多个数据.当然我们可以使用数组来保存多个对象.但数组长度不可变化,一旦在初始化时指定了数组长度,则这个数组长度是不可变的,如果需要保存个数变化的数据,数组就显得无能为力了:而且数组无法保存具有映射关系的数据,如成绩表:语文-80,数学-90,这种数据看上去像两个数组,但这两个数组的元素之间有一定的关联关系. 为了保存数量不确定的数据,以及保存具有映射关系的数据,Java提供了集合类.集合类主要负责保存.盛装其他数据,因此集合类也被称为容器类.所有集

backbonejs中的集合篇(一)

一:集合概念 集合是多个模型,如果把模型model理解为表结构中的行,那么集合collection就是一张表,由多个行组成.我们经常需要用集合来组织和管理多个模型. 二:创建集合 1:扩展Backbone.Collection对象,指定为哪个模型创建集合,传参数model. var _collection = Backbone.Collection.extend({ model: _model }); 2:创建集合实例,传模型数组参数来初始化; 现假定_model的dafault属性为(name

【知了堂学习笔记】java中常用集合的理解

最近学习了java中常用集合类的一些知识,在这里作为一只小白,我来谈谈我的理解,顺带总结知识点. 引入:在没有接触之前,听到集合,给我感觉是想到了数学中的集合一样,里面存放着一个一个的元素.其实不然,这个集合也就差不多,是用来存放元素的容器. Java中的集合类包含的内容很多而且很重要,很多数据的存储和处理(排序,去重,筛选等)都需要通过集合类来完成. 今天我要谈的主要是,如下图所示: 1.Collection Collection是最基本的集合类型,若要检查Collection中的元素,可以使

【JVM虚拟机】(7)---深入理解Class中-属性集合

#[JVM虚拟机](7)---深入理解Class中-属性集合 之前有关class文件已经写了两篇博客: 1.[JVM虚拟机](5)---深入理解JVM-Class中常量池 2.[JVM虚拟机](6)---深入理解Class中访问标志.类索引.父类索引.接口索引 那么这篇博客主要讲有关 字段表集合 相关的理解和代码示例. 字段表:用于描述接口或者类中声明的变量,字段包括类级(static修饰)变量以及实例级变量,但是不包括局部变量(方法内部变量). 一.概念 字段表集合:包括了字段计数器和字段数据