类的继承2以及泛型等

今天学习的东西好碎,突然想起来啦"碎碎念",真的有点晕啦,现在感觉知识掌握了理论性的知识,还没有学会怎么使用···突然发现实践是第一位的。今天首先学习了显示调用父类的构造方法,这个就是接着昨天还有一点没讲完吧,把类的继承中的构造方法的调用讲啦讲,并且也复习啦昨天学习的我们认为都很抽象的吧。

<1>显示调用父类的构造方法

   

从上面我们可以看到定义的Chinese类继承了Person类,而在Program中我们使用了构造函数传参的方法

<2>  protected的适用范围

前几天还在纠结着protected的用法那,刚一友友告诉我啦,今天我们就学习了protected的使用范围

(1)public(公共的):适用于当前的项目中;

(2)protected(受保护的):适用于父类和子类;

(3)private(私有的):仅仅适用于当前类中。

<3>this与base的区别:

this:当前类; base:调用父类时间使用的关键字

<4>类型转换

   

           

类型转换中需要注意的是:1 父类指向了子类 那么变量里面只显示父类的状态;2, 把父类转换为子类,as运算符适用于引用类型的强制类型转换,像上面的类型转换一样。

  这个是强制类型转换,适用于版本6.0;

<5>ArrayList 与HashTable

(1) ArrayList引用System.Collection命名空间,

1, 手动添加(必须记住命名空间)

2, 光标停在代码中,快捷键或鼠标右键(必须记住类名)。

(2)ArrayList学习集合可以注意归纳一下可用的方法

1,添加数据:Add()、AddRange()---添加数组用add;

2,使用Add可以添加数据,并且与数组一样可以使用“下标”(索引)访问数据;

3,使用下标访问的数据是object类型的,必要时需要进行转换,必须满足里氏转换原则;

4,为什么要把Add参数设为object的呢?

答:为了通用。

5,AddRange将数组或集合当中的数据批量的一个一个的加进来;

数组或集合中有多少个数据,新集合中就添加了多少个数据,类型等一一对应;但Add同样可以将数组或集合作为数据加入,但此时加入将数组或集合作为一个项添加过去, 只有找到该项,才能通过“下标”访问到其中的数据。

6.插入数据,Insert()使用语法:集合名.Insert(位置, 值);位置的确定,使用插入好的数据来数第二个数据就是要插入的数据内容

(3)HashTable的增、删、查、判存,添加数据,都是“键值对”的形式;键值对均是object类型,键值对中的键就是为了找数据用的,必须提供,不允许重复;Hashtable使用键作为寻找的方式,是一种无序的结构,得到数据,使用<hasntable实例名>[键],将返回object类型的,由键对应的数据,强转,使用里氏转换原则。

     

<6>foreach

foreach(集合中单个的类型 局部变量名 in 集合对象)

{

–// 循环体

–// 循环体当中“局部变量”表示集合中遍历的数据

}

循环的过程(重点)

总是从开始,一直循环到结束,中间不会停下来,除了break ;常规下,数组或集合此时是只读的,临时变量的类型,设断点查看,使用var判断

例子就是上面已图可以看出foreach的用法。

<7>泛型集合

(1)ArrayList为什么要有ArrayList?

答:因为数组的长度问题,提供很多方法

(2)泛型集合

List<T>集合 与Arrayist的区别是什么?

答: 类型可以自定义

(3) Hashtable集合,为什么要有这个集合

答: 想要查找,就得有一个对应关系,就是通过键值来提供,就需要将键与值用一种办法绑定到一起,Add(键, 值),访问键的时候,可以直接找到值, 用什么方法,通过键访问到值,hashtable[键] 返回一个值,但是hashtable中都是object类型,因此使用时要考虑强传。

好啦,今天在云和学院学习了这些,暂时还不太会用,还需要熟悉的练习,感觉方法还是要多练习,这个仅仅是听完课啦,接下来要练习啦,努力啦就有收获!我会加油继续努力哦!友友们,我们共同努力,加油!

时间: 2024-08-05 07:15:45

类的继承2以及泛型等的相关文章

lua-table类的继承

--男人类man = {name = "man",age=123}--继承空间man.__index=man--儿童类child= {}--继承setmetatable(child,man)print(child.age)yong= {}setmetatable(yong,man)child.age=12yong.age=16print("青年年龄:"..yong.age..",儿童团年龄:"..child.age)print(man.age)

类与继承(一)

在Java中,类文件是以.java为后缀的代码文件,在每个类文件中最多只允许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,则类文件的名称可以为任意的名称(当然以数字开头的名称是不允许的). 在类内部,对于成员变量,如果在定义的时候没有进行显示的赋值初始化,则Java会保证类的每个成员变量都得到恰当的初始化: 1)对于  char.short.byte.int.long.float.double等基本数据类型的变量来说会默认初始

python_way.day7 模块(configparser,xml,shutil,subprocess)、面向对象(上)(创建类,类的构成,函数式编程与面向对象编程的选择,类的继承)

python_way.day7 1.模块 configparser,xml,shutil,subprocess 2.面向对象(上) 创建类,类的构成,函数式编程与面向对象编程的选择,类的继承 1.模块 configparser 用于处理特定格式的文件,其本职上使用open来操作,只能是  [test1] 特定的格式 [test1] k1 = 123 k2 = True [test2] k1 = 123 k2 = v1 文件内容 1.获取 import configparser #打开文件找到文件

分类 类扩展 继承 协议 委托

分类 类扩展 继承 协议 委托 分类(Category) 不产生新类,不修改原类,但有自己的.h和.m文件 分类只能向原类中增加方法,或者重写原类的方法 声明的@property只会生成getter setter方法的声明 类.h中定义的方法必须实现,但分类.h中定义的方法,可以不实现 同名方法,分类的优先级高类别主要有3个作用:(1)将类的实现分散到多个不同文件或多个不同框架中.(2)创建对私有方法的前向引用.(类.h中未声明,但存在于.m中的私有方法,通过在分类.h中声明一下,就可以在其他类

java继承2——类与继承(转)

一.你了解类吗? 在Java中,类文件是以.java为后缀的代码文件,在每个类文件中最多只允许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,则类文件的名称可以为任意的名称(当然以数字开头的名称是不允许的). 在类内部,对于成员变量,如果在定义的时候没有进行显示的赋值初始化,则Java会保证类的每个成员变量都得到恰当的初始化: 1)对于  char.short.byte.int.long.float.double等基本数据类型的

模块的封装之C语言类的继承和派生

[交流][微知识]模块的封装(二):C语言的继承和派生 在模块的封装(一):C语言的封装中,我们介绍了如何使用C语言的结构体来实现一个类的封装,并通过掩码结构体的方式实 现了类成员的保护.这一部分,我们将 在此的基础上介绍C语言类的继承和派生.其实继承和派生是一个动作的两种不同角度的表达 .当我们继承了一个基类而创造了一个新类时,派生的概念就诞生了.派生当然是从基类派生的.派生出来的类当然是继承了基类的 东西.继承和派生不是一对好基友,他们根本就是一个动作的两种不同的说法,强调动作的起始点的时候

python类的继承

Python 类的一些基本概念 Python中一切皆对象,声明变量函数等的过程实际上就是它们到内存中为对象分配的空间的连接.Python中的类同Java.C++一样,有自己的属性与方法.属于一个对象或类的变量被称为域. 域有两种类型--属于每个实例/类的对象或属于类本身,它们分别被称为实例变量和类变量. 类的变量 由一个类的所有对象(实例)共享使用.所有对象共用一个类变量的拷贝.对象的变量 由类的每个对象/实例拥有.因此每个对象有自己对这个域的一份拷贝. 类的方法与普通的函数只有一个特别的区别-

C++类的继承实例

首先由三个类分别为DateType(日期类).TimeType(时间类).DateTimeType(日期时间内).具体代码如下: #include <iostream> using namespace std; class DateType { int year,month,day; public: DateType(int year = 2000,int month = 12,int day = 1) { this->year = year; this->month = mont

JS原型继承和类式继承

类式继承(构造函数) JS中其实是没有类的概念的,所谓的类也是模拟出来的.特别是当我们是用new 关键字的时候,就使得"类"的概念就越像其他语言中的类了.类式继承是在函数对象内调用父类的构造函数,使得自身获得父类的方法和属性.call和apply方法为类式继承提供了支持.通过改变this的作用环境,使得子类本身具有父类的各种属性. JavaScript var father = function() { this.age = 52; this.say = function() { al