00:00
等一下啊,看一下。的最后一个练习。这个里边使用集合,我们前面我们是前面我们写银行可以有多个客户。客户有多个账户,用的是什么呀?就数主啊,导致那个数主非常麻烦,开始的时候那个数主需要声明的足够大吧,然后为了跟踪这个数组中到底有多少个元素,我们是不是还弄了一个int类型的一个一个number,记得吧,什么number of customer number of account,这个时候的话呢,都改为使用。嗯,集合的方式,那集合里边我们需要使用泛型,都改为使用集合的方式,集合里边我们需要使用型,然后过来看这个。八打开。好了,那这个里边的话呢,呃,我们也是呃自动的来产生的这个,嗯。
01:05
这个report是吧,那report report先前写的report在哪呢?在这儿。P。写哪了这里面。嗯。七呀。五杠三呢,告诉这几个好,这个这个这个看着啊在这呢,好了,我们看这块获取的方式哈,这个时候这个代码的话呢,我们起码的我们用了这个什么之后,我们用了泛型之后,这个可以不改。
02:00
这个可以不改,我们完全用这个,但是这个时候的话呢,我们B里边这些方法需要改,比方说这个方法应该改为什么呀,是不是那个size。是吧,那这块的话呢,我们都需要采用这个集合跟泛行的方式来完成。啊,大家来看一下什么呢?来看一下我来写的这个泛型的例子。这个哈。看一下这个例子,然后呢,把这个B完成。我们来看半个这个练习,那首先呢,我们先需要。找到B。把这个往上。不是一份变成八。好,然后拿过来。
03:01
Close哦,看我们的要求啊,要求说,呃,练习目的使用集合,这本练习中将替换这样的数组代码,这些数组呢,用于实现银行和客户以及客户跟账户之间的多样性,那分别是修改B跟。Customer你就直接改就可以了哈。这块具体需求的话呢,刚才我们已经说过了,说修改bank类使用个list来替那个数主,呃,修改卡同样,然后。过来吧,到这个里边修改bug。最大化。这不要了是吧,这两个都要了,咋写呢?Private。字吧。Customers。没有。
04:07
好,往后翻哈,这个事儿简单了吧。那以前写的真的很麻烦,现在我们改成customer点,看是不是只能传customer。Hama Bo asked。保存和被告改为。你看customer点吧。哦,错了,对size是吧。长度是多少个盖的那个。Return customers can in。写完了吧,就是这个那修改。模式是不是一样?
05:01
这也需要改一下。不掉。Private。类型。Of course。不说话。The new Korea。是吧,啊,这个呢,是一个菱形语法7.0里面新有的,它会自动的去侦测,哎,前面这个类型。好,这个。直接来。R6是六是吧,是不是传进一个呀,这样就可以。好了。这个。Between空表at index。这个呢?
06:02
你看我空点写完回来啊,这个测试干嘛?我关了刚才。八。复制。到这边来把这个。改成7F2。T。看进来。打开。这已经干掉。加一个包。找个东西去掉,这个应该是几的呀。妈的。
07:05
保存六个矿。这因为我没有S。对不?好,你跑就可以了。这个结果的话呢,是一致的啊在这。这我们就不再继续说明了,但是我们需要来看一下什么呢?我们需要来看一下它是如何来进行测试的。那个方法我们看。什么测试的呢?我首先。我这块这个啊,INCH0,然后点get number of customers这块返回的是不是这个size啊。是这个size,哎,这个时候呢,我们多少能够体验到一点面向接口编程的意思,你看大家看哈,虽然说我的这个customer和bank里边,我把。
08:05
把什么呢?我把这个嗯,数组类型的customer customers改成了集合类型的了吧,但是从里边这个方法是不是没变呢?哎,我这个方法没变的话,就意味着我以前呃,打这个报表的时候呢,用的是那些方法,现在我用的还是那些方法,这个就不用变。如果你这些方法要理解都变了的话,它就麻烦了,这个时候你可以认为这里边儿的一些方法和这里边的一些方法,它是一种规范,哎,我就是按照这个规范来写,至于说你是用这个数组实现的,还是集合实现的,关系并不是那么的大。好。接着看下一个看什么呢?下一个要修改这个customer report,改用来进行迭代。会了吧,改成它改成整个这个代码改的就要比较多了啊,整个改成写吧。
09:09
一。ARI。贝克是谁呢?首先编辑的是他吗?Customer。等于。放点啊。哦,这个时候你看啊,我要是改成一瑞ator的话,这个时候有一个问题就是什么呀,我在半个里边,你是不是得给我暴露一暴露一个一个瑞ator,你看这个时候我出来半个点get这个方法一定是get嘛,是吧,把我们会这个集合也行吧。没有。于是。看看文档,文档怎么说的。Open。文档的写法是,哦,是不是增加一个get customers。
10:01
是吧,然后呢,返回一个卡里边。添加一个个体为account的方法也是返回,那也是get呗,修改这个while循环没问题,好了,过来bank自个来写吧。返回的是这边返回customer类型吧,Customer get customer。你看CUSTOMER1张。保存这边也一样。啊,什么类型啊。嗯。
11:01
Across点。保存完了就回这了,好了,这个时候就有东西了啊。放点get。装改用。又循环,这先去掉吧。Will。不括号有呢哈,叫customer.has next这个写法就要改一下,改成什么呢?Customer等于。Customer。点next吧,发型有了好保存这完事里面这也需要改一下。E。这个是类型的吧,等于。
12:06
Customer at是吧?这里需要改一下。为循环好先过来,然后的话呢,是点has next。这个需要改掉,改成啥了,改成。等于。点。Next吧。嗯,好,写完。这个不用改,去看结果。测试结果是一样的,这就是改由什么呢?改由这个呃瑞访问的方式。好了,那这会一个的话呢,我们看用集合的好处毋庸置疑哈,用这个集合的话,这个代码跟以前使用这个数组比起来,这个代码会省特别多,而且使用更加的。
13:09
方便。那回想一下,当时用数组的时候,你是不是不知道我这个银行里边可能会有多少个客户啊,你只能是在这个构造器里边把这个声明的足够大吧。诶,这是很麻烦的,然后为了追踪我到底有多少个客户的话,我是不是又定义了一个number of customers。而这个在集合里面都是浮云是吧,我直接有这个集合就可以搞定,特别的方便,那如果要是再加上这个泛型的话呢,确实是有一种如虎添翼的感觉。连墙砖都不用。而且。这边我们改由了这个瑞特之后的话呢,我们觉得写起来也也特别爽。哎,这就是我们整个的这个,嗯,加入了集合跟泛型之后的这个bank,那到这块的话呢,我们这个bank就都写完了,建议大家有时间把这个半。
14:07
你要是觉得不是特别熟的话是吧,你再写一遍,对你提高面向对象以及JA法的这个基本水平帮助很大。我们在讲这个bug之前我说过哈,我们班同学在讲完15天扎完基础之后,每个人都能会写,我们今天是第八天,还有七天,我相信每个人都会写。而你会写了这个B的话,你后边再去写Java基础的这个知识的话,你会感觉相对而言会比较轻松。嗯。
我来说两句