00:00
啊,刚才呢,咱们讲这个这次练习的时候呢,就是我把这个代码呢,是直接给写到这个模块里了是吧?呃,然后呢,这个课件呢,我就稍微调了一下啊诶咱每次呢,给大家提供两个呃,Module啊,然后我的代码都写到这里边儿了,这个呢给大家就提供了一个空的,诶大家下来呢,还是在这里边练就OK了啊好,那这块呢,我们直接来看这边。呃,刚才课间呢,有同学说说这个练线呢,感觉稍微有点麻烦了,听着稍微有点懵是吧?呃,如果是这样的话呢,那下边这个项目呢,啊,你会更懵是吧。诶其实主要原因的话呢,还是这个代码量呢上来了,代码量一上来呢,可能就感觉有点hold不住了啊,诶那这块我们看一看这个代码量更大的这个场景是什么样子的,诶通过这个呢,大家呢去再强化一下这个逻辑啊,强化一下这个如何去处理这些业务逻辑啊。好,那么这个项目的话呢,我们叫拼电商客户管理系统啊,你可以呢,看我们的这个课件。课件的话呢,就直接在这儿呢啊对应的实战项目,第一个授课项目,诶这是我们第二个,诶然后呢,在这里边有个需求,诶这呢有个PPT或者的话呢,你可以直接在我们这个呃,代码里边呢,这个双击啊也行啊这呢也能够调取我们这样一个PPT的一个文档啊诶平电商客户管理系统啊,一提到这种诶什么什么管理系统里边呢,其实呢,就涉及到了诶很多的数据啊,做增删改查啊一系列的这种操作了啊。
01:18
好,那么这里边呢,主要涉及到这个知识点,诶,关于类结构中的属性方法构造器啊的使用对象的创建和使用封装性使用数组,诶数组的这种增删改的这种操作了啊,使用这个这次诶就是基于咱们目前讲的这样的一些这个场景啊好,下边的话呢,是关于这个项目的一个诶功能的一个演示了啊。哎,这块呢,咱就不看这了。哎,直接呢,咱们回过来。啊,这块你看啊,这个mole下面呢,我这有个,哎,这个包下边有个mole这个module打开这个呢,就是咱们整个写好以后的这个项目,诶涉及到了这样的一些原文件啊。呃,演示的话呢,我们看这个叫customer view啊把它呢打开。
02:00
打开以后呢,在这个里边呢,它有一个main方法。啊,这个代码呢,是在后边的啊,这个main方法嘛,好,我们右键呢,就可以做一个run来执行,首先呢,我们看一看这个项目呢,它的一个整体的效果。哎,拼电商客户管理系统啊,添加客户,修改客户,删除客户,显示客户列表退出,哎这呢对应的就是增删改查是吧,哎这样的一系列的操作啊。好,这个就跟你平时呢去。洗发店是吧?说干啥呢,就洗剪吹是吧?诶就这套路啊啊,那一提到这种管理系统呢,其实就是这种增删改查的操作了啊啊,那这呢,首先我们选一个选项啊,这个选项呢,还是有对应的这种保护机制啊,你只能是写一到五的,你写个六啊,不好意思重新输入写个七,这你就出不来了啊。诶,你只能是选一到五啊好,那这块呢,我们先来一个四。哎,客户列表按说呢没有,但这块为了我们演示方面呢,呃,往里边呢,放了一个数据啊。
03:00
选示四,选择四的话呢,我们叫客户列表的一个展示,有编号,姓名,性别,年龄,电话和邮箱啊,这呢就展示了这样的一个信息啊,对其显示啊,客户列表完成啊这呢是这个查询。然后呢,我们接着呢,选这个一。一呢叫添加客户啊,你就这块呢,填写对应的这个信息就行了,比如来一个这个诶李四是吧,啊这个性别啊男啊年龄二三啊电话来一个啊,比如130啊12341234诶邮箱。啊,李四啊126的。啊126,哎,大家是不是用QQ用的多呀。对,但是你找工作的时候呢,记着留一个不是QQ的啊。因为你前面这个呢,都是一个你QQ号不太合适哈,这个万人给你写作一个。是吧,你也收不到offer了是吧,收不到这个邀约了啊,所以你整一个这个非QQ的这样的啊。好这块呢,我们就完成了,完成以后呢,我们接着呢,选这个四。哎,这块你看就能把这个信息呢,给我们呈现过来。没问题啊好,然后呢,我这块呢,选择叫修改客户这个我们选一个二是吧。
04:04
修改客户的话呢,他会问我说你想修改哪个客户告诉我这个编号,注意这个编号的话呢,我们第一个呢叫张三,第二呢叫李四啊这个是一,这个是二。哎,如果说这个位置要写的话,你说我想改张三,那这这写写多少。对你看啊,咱呢是写程序的,咱们知道呢,这个数据呢,都放在数组里的角标从零开始,但是对于使用者来讲呢,他不知道吧。诶,所以大家呢,原来都是使用者,现在呢,你是属于开发者是吧?诶所以对于普通用户来讲呢,他想改张三就得写一。所以你小心一点,就这个一呢,你在数组操作的时候呢,记得让他是不是减个一。哎,找那个索引才行啊,所以这块我写一的时候呢,哎,他就把张三列出来了,哎我要写负一呢,就推出这个修改了。你写个二,就是李四写个三,他会帮你说说不对是吧。哎,这也是相关的这个逻辑啊,好,我写一的话就是张三问要改名吗?嗯,改一下吧,就改成叫张三三是吧。
05:03
张六啊。好性别,性别不用改,你不用改的,你就直接回车就行,年龄呢也不改啊,电话也不改啊,邮箱啊,你想改你就改一下啊张。啊,这个三是吧,诶126.com啊,你想改的你就写上啊,然后回车一下。这呢就修改完成了,然后我们再看一下这个四。哎,只有张三三啊,性别啊,这边该稍微有这个对齐的一个问题了。啊,这个要显示的好点的话,你就上边这块都加上这个杠T-T是吧,诶给他往后再错一错就行啊。行,当然这块儿呢,这是小事儿哈,这个咱们真正的开发的时候呢,你不会把这个数据呢,显示到这个控制台上的,我们都会通过网页呃,或者呢,是你这个呃,客户端的方式呢去呈现,那到时候我们通过这个相关的这种布局去控制这样的这个对齐就可以了啊这块我们就简单的去展示一下。好,这块我们把这个数据呢,就显示出来了,你看姓名呢,这块我们改了,然后邮箱这块你看也改了。啊,这没问题啊,其他位置呢,你直接回车的,所以没改OK啊。
06:02
嗯,那么接着的话呢,我们再看一个这个,我我再选一下这个二哈,就要修改了,你看如果我选一个三没有这个客户哈。哎,他这块会这样给我提示,然后呢,我再写个四呢,肯定也不行,这就出不去了啊,我我这块不想修改了,我就选个负一。哎,这就退出了。到这儿啊,然后接着的话呢,我们看一下这个叫删除是吧。我现在想把张三给删了。我这块鞋机。哎,注意这时候还是写一哈啊,也就是说这时候呢,我们能写的就是要么是一,要么是二。哎,我写个三,哎,同样的道理,他会找不着啊好,我选一个一哈,这个呢,他会问我你是否确认删除啊,你要选N呢,这个就没删啊,我选一个Y就真的删了。上来以后的话呢,我们再来看一下这个四,此时的话呢,这个李四呢,就变成编号一了。哎,那你想想我们这个删除操作呢,对应的数组应该怎么办呢。是不是应该往前去赶一下是吧?哎,你把第一个给删了,是不是这个就往前移了呀。
07:03
哎,这个注意一下啊好这呢,就我们说这个增删改查的操作,你选一个五啊,这个选个Y,诶这个我们就退出了。啊,这呢,就是咱们写的这样的一个小的项目啊,对应的这个功能的一个演示的一个情况啊,这个大家直观感受一下复杂吗。看着感觉还可以是吧啊,因为平时呢,大家作为普通用户呢,呃,做的一些操作呢,比这个复杂的多啊,以前呢没写过是吧?呃,现在我们需要自己来写了啊。好,那么这呢是我们对应的这样的几个类哈,这几个类呢,简单说一下,上面这个呢叫cm utility,它呢跟咱们前面写的项目一一样啊,它呢是用来封装这个scanner的使用的,所以我们直接拿过来用呢就可以了。啊,所以这块咱们要开始写的话呢,诶,我就在下边这块开始去具体写了啊,这个写的话,我已经把这个cm utility呢就放在这儿了啊这个呢,咱们先不管它,最后再说它啊,我先把它呢,比如删一下了啊。啊,这个呢是cm utility,然后呢,我们要完成的话呢,就是一四下边来涉及到有三个类啊那么这三个类呢,是什么关系呢?我们来看一下这个课件。
08:08
啊,来这儿了啊,所以呢,整个呢,我们这个项目呢,由三个模块构成,分别呢,叫customer Bill customer list和customer。啊,那首先呢,Custom view呢,这叫主模块啊,你看这个叫视图的意思啊,负责呢菜单的显示和处理用户的操作,呃,像我们刚才呢,说你想选哪个呀,是吧,你想删哪个呀,诶像这个跟用户交互的这些操作呢,我们都放在这个counter view里边了。啊,那么customer list什么呢?是customer对象的管理模块内部呢,用数组管理一组customer对象,相对应的线上改查啊这样的一些操作。诶,因为呢,咱们知道呢,你对应的这个客户的信息,诶都放在了咱们的这个数组里边了,是吧?哎,那么这个数组啊,针对于他的这个操作呢,我们都封装在了customer list里边。再说一遍啊,操作数组的行为都放在customer list里边,好,那这个数组呢,是customer类型的,这样就是我们对应的这个实体类啊,你也可以呢,把它设置成是一个gain是吧。
09:07
哎,咱们说过这个扎宾的概念了啊OK,好,那么接下来的话呢,我们就具体的开始去呃写这个呃项目了啊写这个项目的话呢,先写的话呢,自然而然就是我们这个customer这个类了。那这里边儿就提到它相关的这种属性啊,盖塞方法构造器,好,那我们就按照这个提示呢,回过来啊,咱们去做这个编写了。这个我们就都关掉了啊好,这块呢,我们就收起来啊,然后在这呢,我们开始去编写,哎,在这个下边啊,新建一个类。Customer。哎,就他。OK啊好,有这样的几个属性,这个在这儿我们描述一下啊,这叫客户类啊。好在这啊,首先啊,Private类型的。哎,这个呢是类型的。哎,真的啊。哎,这个是int型的age。
10:00
哎,这个哎,四肢类型的一个缝。哎,这个电话啊,好,Private这个死猪类型的email。哎,这个咱们叫呃,电子邮箱,好,这几个属性呢,我们就声明好了,接下来提供各属性的盖赛方法,嗯,Alt加insert。啊,选择我们这个结构啊,按住shift键啊就全选了,OK。好这块我们就全提供好了,然后接着呢提供这个构造器,构造器的话呢,还是alt加insert啊,一般的话呢,我们都会提供一个首先空单的构造器。对,所以这块呢,就体现我们这是个渣病了。啊类是公共的。哎,公共的一个,哎空餐的扩大器啊,盖塞方法是吧?哎有属性有盖塞方法啊。好,那我们呢,还可以呢,再去提供一个代餐的构造器。哎,按住shift键全选OK。好,我就写一个这样的构造器。OK,好,那么这儿呢,我们关于这个类呢,其实就设计好了。哎,这就完事了啊,这个比较简单。
11:00
好,那么接下来啊。接下来的话呢,我们重点呢,来写的就是这个customer list。啊,重点咱们来写的就是它啊好,那么这个类呢,怎么设计,包含的方法属性在这呢都有显示,首先这个类是做什么的,这块写的也很清楚,Customer list是customer对象的管理模块,内部呢使用数组管理一组customer对象。CTRLC一下。哎,首先回过来啊,我们在这个位置啊,右键啊新建一个。啊,Customer list。就它了啊好在这儿呢,我们把这个描述呢,给它粘过来。啊,这就可以了,哎,接下来我们看怎么去设计啊,首先呢,提供了两个属性啊。哎,包括属性方法,咱们就先给大家都盯一下哈。哎,回过来啊。啊,首先呢,我们来看这个属性,这呢是一个customer类型的一个数组啊,这是数组名,用来保存客户对象的数组啊。
12:01
哎,咱们也就给大家私有化了啊。呃,Customer类型的一个数组叫做customers,哎,这个作用呢,我们也给他说一下啊。诶,CTRLC。诶这个我们就粘过来啊,诶像这个customer这块呢,这几个比较简单呢,我们可能就不写了啊,诶一旦你这个功能需求呢,这个对应的属性比较复杂,或者是你自己就想,哎,用来表示什么功能的这个呢,你给它加上一个说明会更好一些啊。好,接着的话呢,有一个private int型的一个叫total。诶,它呢是用来记录保存客户对象的数量。这个啊。这个就写好了,那接下来的话呢,他要求去提供相关的这个构造器和方法啊,一共是有这么多啊,这个为了方便的话呢,你看我先直接这样啊,CTRLC一下我先粘一下啊。直接呢,就一下都给他放这儿了。好一个一个的,我们去说。啊,这个类的设计呢,其实就是咱们把这个方法的方法体呢,给他提供好呢就可以了。
13:02
这呢也是咱们这个项目里边的重点啊,咱们主要呢,就是写这个类。啊,一会儿那个comp view这个类的话呢,诶我这块呢,就呃写一部分啊,另外的一些部分呢,咱们就直接把代码就粘过来了啊,它没有太多的技术含量啊,诶咱们的重点是来处理这个关于数组的操作的这个逻辑啊,那就是这几个方法,还有构造器啊。好,首先呢,这块呢,是一个构造器。哎,这个构造器呢,你看它是怎么说的呢,哎,在这块写的比较清晰啊,我就把这两句话呢,CTRLC啊拿过来了。哎,在这个位置呢,咱们说一般呢,都是写的叫文档注释啊,就这么着啊上过来。哎,下面是用途啊,下面呢是它这个参数啊,参数的话我就直接往这一放就行,这个呢就不要了啊。哎,说这个用途是什么呢?这个构造器说用来初始化我们这个customers这个属性的啊这呢,就指定你这个数组的一个大啊,这个长度了啊,所以呢,在这里边儿呢,我们直接呢,针对于这个属性啊做一个初始化。哎,你一个。
14:00
诶看什么数组长度呢,就是你这个参数。哎,这个还行是吧。对啊,哎,跟咱们刚才那个bank有点像,哎,只不过B呢,我们这块呢是个空餐的啊,所以里边给写死了。诶,这是我们说的第一个啊,这是构造器的事儿,然后呢,接下来我们看下边对应的方法。啊,这儿呢,就提到我们这个叫爱的customer,哎,这样一个方法。把他那粘过来。好,这个方法的作用呢,是将参数它添加到我们这个客户的数组当中。啊,作为最后一个客户对象呢,出现哎参数呢,这个customer呢,就是哎这个信息,哎这个就站到这儿了啊return呢,哎这个是返回了。啊返回啊添加成功呢,返回处啊false呢表示已经满了,添加失败了。这两个就删掉了啊好,这块我们看一下。看这怎么写啊?说你上来就添加。这个事儿呢,好像有点不太靠谱是吧,万一要是满了呢。哎,所以这里边你看它有这个返回值布尔类型的哈,所以我们需要呢,先判断一下是吧。
15:05
哎,什么场景下呢,我们可以添加呢。哎,这呢是你已经添加的这个。这个这个客户的个数是吧,诶当他如果要是小于。哎,咱们这个。数组的长度是吧。呃,那就说明呢,你现在呢,这个里边没有满。没有码的话呢,我们就能添加,哎,我就加到这个,呃,数组的啊,这是怎么写呢。其实诶有了我们那会儿写的那个bank的那个练习的话呢,这个就是total是吧,诶然后呢,把这个customer这样做个赋值,诶这块指明的你就是个出。哎,然后呢,Else呢,那就表示呢,你上面这个没满足,相当于total呢,就大于等于了你这个less了。哎,那说明呢,我们这已经满了,所以我们就return一个false。哎,这个看能不能理解。OK吧?
16:00
哎,对应的这个else呢,其实你也可以把它删掉是吧。哎,我把这个去了,把这个去了,把这个放这儿是不是也行。啊,可以的啊呃,少一个东西是吧,这个呢,我们是不是还得把这个头呢,来一个加加呀。哎,记着啊好,那就一开始的时候,我们第一次掉偷偷呢是零,这就放到角标零了,那加加的变成一,你再掉的话呢,角杯就变成一了。啊,加价变成二,所以呢,这个to呢,自然而然啊,就是用来记录我们客户的一个数量的啊。这个没问题是吧。哎,接着啊。啊,这个方法replace customer。替换啊好把这个呢CTRLC。哎,这个我们站到这儿啊。好,这呢是它的用途,所以呢用参数customer啊,这个参数呢,这个叫customer cost了啊。那你要看什么?哎,用这个参数cost呢,去替换数组当中啊,由index指定的这个对象。哎,就相当于原来的这个位置呢,有一个,诶这个customer一个客户了,现在我们想用这个客户呢,去替换原有的这个位置上的客户。
17:05
哎,就这个意思了啊,诶所以这个cast的话呢,它呢是诶这个参数的意思是吧,诶指定要替换为的这个新的客户对象index呢,就是我们这个替换的这个索引位置啊。这个呢是返回值的一个信息啊,就放到这这三行我就不要了啊。好,那这块我们来写啊,哎,那既然呢,它是一个替换行为index的话呢,我们要判断它的一个有效范围。哎,这些衣服是吧?哎,那么有效的范围应该是。大于等于零是吧,并且。它得小于。偷偷吧。小于还是等于?还是小等于。哎,比如说这块你存了五个了是吧,那这个index呢,最大的应该是到四是吧。哎,所以这个呢,是它的一个有效的范围啊,哎,那么如果你写的是在这个范围内啊,那咱们呢,就把这个现有的数组呢拿过来。
18:02
把这个index这个位置呢,改成你这个行参的这个了。啊,那这呢就改成了,所以呢,我就出了。这样啊,哎,然后呢,在这写的是不是就自然就是false了。哎,这不就这样吗?啊,那这呢,就相当于你这个index呢,你给的这个范围呢,不靠谱啊,这个呢是这样的一个意思啊,比如说这个数字的长度呢是十,我们现在呢,假设呢,就添加了三个客户小标呢,就是012啊我们现在能改的呢就是。012哈,哎,你不能这块,你说我写个三啊,说写个三这块能不能就放到这儿呢?诶这也不行,你这成了一个添加了是吧。呃,修改的意思呢,就是你只能改已经存在的啊,啊,你不能往这儿放啊,这个注意。好,这个呢,我们就完事了啊,接着来看下一个。啊,这个呢叫delete啊删除。删除。哎,这啊好把这个呢,CTRLC啊,这个我们拿过来。
19:00
往这一放啊,它的这个用途呢,从数组当中删除参数index指定的索引位置上的客户对象。把它删掉,然后那个参数index呢,那就是你对应的要删的那个位置了。啊,返回值呢,你就告诉我删成了没有。哎,就这意思。去它啊好,那这同样的,我们需要呢,去指定它的一个有效范围啊。它得大于等于零啊,并且。小鱼。是吧?好,呃,这呢,就我们要删除的这个元素哈,这个删除操作呢,比上面这个替换呢,稍微的麻烦一点。对,因为涉及到是不是元素有个移动的事儿了,是吧,举个例子啊,这呢是我们这个数组现在呢,存了五个客户。啊,角标呢,就从零了到四。假设呢,现在这个index呢,是这个他。我现在想把它删掉。咱们前面讲数组的缩容的题目的时候呢,是不是说过这样的一个删除行为是吧。好,那这个删怎么删呢。
20:01
哎。对,当初的话呢,我们讲过两种方式啊,一种方式的话呢,就是你彻底的把这个数组的长度是不是给它剪一个是吧?诶然后呢,接着你往里边放就行,这种方式呢,其实我们比较少见啊,更多的一种场景,我们体验山呢,就是还是这个数组。哎,对,我们只需要呢,呃,把后边的元素呢,往前移啊,做一个这样的一个替换。啊,让它呢,体现这种依次紧密排列啊,然后呢,一定要小心一点,我们这个位置呢,移过来了。你是复制过来一个地址是吧。对,成了这俩呢,都是俩地址指向一个实体的对象了,那不靠谱,接着把它改成。哎,No是吧,哎,这个呢,小心一点就行好,有了这样一个参照之后呢,你脑脑海当中就想象这样一个图哈,咱们呢,就把这个这个位置呢,就好比当成是这个index了,就啊来回过来。呃,那怎么弄呢?呃,解剖循环了就得是吧。呃,写方循环型,或者你看这个位置呢,我们是在if里边套一个for。
21:04
我也可以这样做啊,我就不想让他套了。这都小事啊,我先呢写他不靠谱儿的范围。你小于零。是不是或者呀。或者呢,你这个index呢大于。等于total是吧,这个呢,我叫return false是吧。没问题吧?好,那我写到这儿。这是不是就意味着你是一个有效范围的。那我就直接在这写for了。诶,这样你一看的话呢,跟它呢,就是一个并列关系,不像是个嵌套那么深了哈,哎,这就是小细节问题啊,怎么处理都可以,其实好,那么在这个位置呢,我们就印那个I呢,从。是不是index开始。这个别写的特别顺手,上来就I等于零啊。Index啊,I呢小于。先写成它吧,一会儿我们看看这块可能得改是吧。好回过来啊,我们呢,要把后一个替换前一个。
22:00
诶,Customers这个呢,我就写成I了。这个是I加一。哎,那么首先一上来呢,就把这个位置呢,被他后边这个给替换掉了,以此类推。注意不要让他出了头,头的一个最大的角标是吧?所以这块呢,记得要。哎,减个一哈。呃,因为呢,这个I目前呢,最大值是头头减二,你再加一不就头头减一,诶不就最大的那个有效范围的角标了吗。好可以了啊好,那么这样移动汽换呢,相当于就是往前都移了,记着。是不是最后那个位置记得得改一下。Customers。怎么写?涛涛。减一改成是个no是吧。同时。减一下吧。对,偷偷减减呢,别忘了啊,诶,因为你少了一个员工啊,少了一个客户,所以呢,记得减减啊,那么这个操作的话呢,我们其实也可以呢,去替换一下。
23:01
对,直接呢,你写成一行也行,这个写的时候呢,你看我这时候怎么写。能写,偷偷减减。对,这时候呢,要写成叫减减透透了。你看因为呢,你这块用的是偷偷减一的那个数是吧,所以你让他先减完以后呢再用,那不就是正好减一那个数吗。没问题是吧,好,这个写完以后呢,我们再return一个true表示呢,你这块呢,就是删除呢,是成功的了啊。OK吧?啊,体会一下啊,这个呢,稍微的比我们那个replace呢,要稍微的复杂一点啊。嗯,行,我在这块呢,稍微的写一个注释吧,这个呢,就是将。啊,有效,呃,数据的。哎,最后啊一个位置啊,得制空啊。那这要注意点。啊,最后一个位置啊,指控行,然后呢,下边这个呢,叫get all customers。
24:01
在前面的啊这个。CTRLC。诶,怎么着啊,呃,它那叫返回数组中记录的所有客户对象。哎,返回值呢,是一个customer的数组。哎,是个他啊。那么这个数组里边呢,就包含了咱们的所有的客户对象,该数组的长度与数与对象的个数相同,这个很关键。啊,因为这块呢,就决定了,你看我能不能这样写。诶,就这样。哎,注意这时候呢,不行啊。呃,因为呢,我们这块呢,假设呢,这个长度是十里边你就存了仨,现在相当于你把这个长度为十的这个速度返回给我们了。因为咱们刚才那块演示这个项目时候也看到了啊,哎,这块不是要展示出来你这样的几个客户吗。那这些客户的话呢,我们这儿有俩。有俩的话呢,你你不能这块,我我我其实呢,就会调这个方法啊,我一调这个方法,你返回给我了,结果你返回给我十个啊,这是俩,剩下那八个呢,都是空的啊还给我哎便利出来这个显然就没必要了啊。
25:09
所以这块我们怎么办呢?对这个呢,我们说呢,你得在内部呢,是不是新创建一个数组啊。哎,这是一个错误的啊。好,那么正确这个方式呢,这块大家呢,其实就往咱们讲的那个数组操作呢,提到过数组的复制了。只不过呢,不是原封不动的让你复制个一样的啊,哎,就是有点变化了,所以里边呢,首先我们去创建一个啊,比如说咱们叫卡。让他呢,去扭一个customer的数组长度。哎,对,投投吧。哎,你有几个存了几个啊,我这块就长度是几好放循环。Int I等于。零是吧,I呢,小于这块怎么写?同学说写total是吧?写错都可以,或者你写正交。诶,cost.lengths千万不能写成他的length吧?
26:04
这就成了数组的长度了是吧?哎,都要写成这个啊好,然后呢,这块逗哎,分号A加加啊。哎,在这里边啊,然后I。等于。Customers。哎。哎,这样的就可以了。呃,相当于呢,我们复制过来的哈,注意咱们并没有实打实的把那个对象呢,再COPY1份,只是复制过来的一个地址啊,这样对象呢,还是原来你那个对象啊。好,那么这个for循环完了以后呢,我们就return一下了。诶把它呢,做一个返回就可以了啊。OK啊行这呢,就我们这个场景,那有同学可能想说,那万一要是一个也没存呢。哎,一个没存,这个就是零是吧。啊,然后这块你这个长度呢,这就零,然后呢,循环也没进去,直接返回,相当于我们就造了一个长度为零的一个数组。就这个数组一定是造成了。只不过那里边儿没长度,呃,这个没元素是吧。
27:03
OK啊。好,下面。啊,这个呢,就是一看这个名字应该就很清晰了啊。CTRLC回过来往这一粘啊。说呢,返回这个参数index,指定索引位置的客户对象的一个记录了啊,这个参数index呢,就是指定你想获得的是哪个位置的这个客户了,是吧?诶返回的话呢,就是你这个客户的这个对象了。那就他啊,诶行,就这样一个场景。嗯,这个呢,是不是同样要考虑它的有效范围了。啊,这个你直接写有效的写无效的都行啊。咱们先写一个,比如写个无效的吧。就是in是小于零了。哎,或者。哎,大于等于total了是吧,这个呢就是无效的啊,诶我们就是return照了好写这。哎,或者你说我加个L4这都行是吧,哎,这就有效的范围啊,然我就直接return一下。
28:02
哎,卡死。哎,这个index位置的。哎,就可以了啊。好搞定啊好,下面这个呢,叫get total,嗯,Get total。这个方法。没在这写是吧。没写,那咱自己来吧,诶这个呢,比较清晰的就是我们或许呢,整个呢,我们这个,呃,客户里边呢,数组里边到底有几个客户啊。他呢,就是哎获取。哎,客户啊,列表中啊,客户的一个数量啊,哎,返回的就是我们这个客户数量,其实呢,返回的就是我们这个头啊。头痛啊,所以这块呢,我们直接呢就return一下。哎,就搞定了。完事了是吧。好,那么咱们这个项目的重点啊,就是写这个customer list,呃,当然呢,这个今天晚上的时候呢,你重点就是把这个类里边的这些方法啊,CTRL f12,哎,这不提到了这样的一些方法是吧?哎把它呢好好的去写一写啊。
29:06
好,那么这个写完以后呢,下一步啊,我们正常来讲该做的话呢,该pass view了。后边这啊。这个是具体的测试的,咱们这个就不测了啊好,下面这块呢,我们就直接呢写这个customer了。看到VI这块呢,提到了有一个属性,然后呢,有相关的这种方法。诶,这个结构的话呢,我就把这个整个的大框架呢,咱们搭起来,细节的话呢,咱们呃增删改查的,其实这块呢,大家其实都不是特别难哈,下来有兴趣的话,你可以写写咱们把这个框架呢搭起来啊。好,下面我来搭一个框架。好这么着啊,在这个项目这块呢,我们先去new一个,哎,Customer。View是吧?Customer view没没问题啊。回过来啊,他呢是我们的主模块,负责菜单的显示和处理,用户操作。
30:00
CTRLC。回来,哎,这呢,我们把它写到这儿啊。诶,没问题了,好,那么关于这个类呢,我们说有哪些信息呢?诶回过来首先声明了一个这样的数组。啊,这呢,作为一个属性出现的啊。好,那我把这个属性呢,写到这儿之后呢,大家应该能理解它所代表的意思了。诶,刚才呢,我们一顿写这个customer list,然后这呢上来就造了他的一个对象,作为我们当前这类的一个属性出现。然后在这里边儿是把这个数组就造好了。行长度为十。啊,也就意味着我们最多呢,能添加十个客户了啊。好,那么接下来呢?我们看一看,这呢,就有几个方法,哎,CTRLC。哎,我呢,把它粘过来。哎,粘过来啊好,这个我就先把它这个,哎大括号呢给大家提供一下。嗯,好,就先这样了啊。
31:00
呃,那么接下来怎么去做呢?诶这呢是个main方法,诶我们要以右键呢1RUN啊这就执行的是它了,哎,我就希望呢,我执行的时候呢,做什么事,诶首先哎我们呢去创建当前这个类的对象。哎,我就叫will了啊。哎,创建咱们当前这个类的对象,创建好这个对象以后呢,我拿着这个对象呢,我去调一个方法。调谁呢?就是咱们上面这个叫enter menu。哎,这个方法,所以这个呢,就是叫进入主界面的方法。哎,这个呢叫哎进入。主界面啊,它的这个方法。哎,那就意味着当我们现在要一执行的时候呢,希望呢,控制台当中是不是就是显示。哎,这个信息啊。到这儿一直是吧。诶,显示这个信息,这个信息的话呢,呃,就是在我们这个me menu里边呢,我们给它显示出来的啊同时的话呢,这个操作呢,我们会发现呢,是不是反复执行。哎,那就意味着我们应该把它。意味着要放到一个循环体当中了,是吧。
32:01
好哎,那这个循环体的话呢,它应该也有结束的一个情况,就是我们这个玄武的时候呗。啊,其实这块呢,跟咱们写的那个项目一。呃,如果大家有些有一些印象的话呢,实际上呢,是类似的逻辑了啊。哎,怎么处理呢?哎,我这在先行well。啊,这比如我写成个初了是吧,然后接下来的话呢,我们先打印这样的一个界面。哎,或者我们这个先简单写上就要显示。哎,这个界面了。诶显示完以后的话呢,这块我们叫诶获取用户的。选择是吧,哎,当用户呢,选择是这个五的时候呢,诶我们这块呢,就让他退出了。呃,其实呢,我们,呃,当初是怎么做的呢。这块呢,是不是定义过一个变量是吧?哎,Is flag,哎,先让它是个处。哎,然后呢,让这个呢,变量放在这儿,哎,当用户要选五的时候呢。哎,我把它呢改成是个false,哎,它就退出这个循环了是吧。诶,这是我们整体的一个逻辑啊,跟原来一样啊。
33:01
好,那我们这呢也如此呢,去写啊,诶显示界面啊,这个呢就比较low了是吧,咱们就直接呢,从他这儿现成的这个咱们粘一下了啊。诶,你看我这个呢,写线程这个呢,是用的do well啊这个咱们用well都行。啊,一直到这儿啊,CTRL一下。人家说啊,你多沾点是吧。就在这就不用写了是吧。啊,这块我就拿过来了啊,咱们呢,主要是这个类的话呢,咱们分析清楚就行啊。写效的目的呢,实际上呢,是让大家知道呢,我们这个技术怎么用,另外呢,就是强化一下这个逻辑啊好,现在呢,主要我们就是在强化这个逻辑啊。好看一下。所以呢,我们下边这个main方法啊,一调这个enterme menu呢,我们就执行到这儿了,这呢先是个触,这呢这个触诶上来呢,就先把整个这界面的这个效果呢先打出来,然后呢这呢我们线上的这个工具类。哎,上面就你看这块就别让它倒了啊。删掉,哎,咱们自己的这个。哎,这个包下这不就有吗?诶让他用这个啊好,然后呢,他直接呢去调这个read menu selection这个呢,就是我们这个工具类里边这不现成的方法吗。
34:08
啊,这个呢叫read menu selection啊就叫它啊这个你点进来就是让用户呢,从一到五之间呢去做选择的,哎,不是这个范围呢,就出不来。嗯,OK啊。好,那么这个呢,我们就有一个具体的这个K了。这个K呢,其实就是用户选择的一到五。然后接着呢,我们就让用户呢,去看你选的到底是哪一个啊,每一个呢,就对应着我们下边的一个具体的方法。哎,是这个思路啊,所以呢,接下来啊,那选项又不多,又是个差,是不是Switch了。哎,对这块我们把这个K呢往这一放是吧。哎,这样子啊好,然后接着呢,我们就开了,注意一定要小心别这样写啊。是不是这个一呢,你差点意思啊。啊,这个呢,是不是得写成带单引号的一是吧。啊,这个要注意啊。好,一共呢是有五种情况。
35:04
二。三。四。好诶这五种情况啊,然后把这个呢,咱们先暂且呢,就先放到这儿了啊。行先这么着啊,然后呢,当你要选一的时候呢,这个呢叫添加客户,哎,其实呢,就是执行我们这个方法。诶就是诶调一下这个方法就可以了,诶二呢叫修改客户,哎,就是我们下边这个叫modify,诶modify就是修改的意思。啊,这个啊三呢叫删除啊,就调这个方法。要这个方法四呢,叫显示客户列表啊,就是对应的最后一个方法。诶list all customers就这样了,诶五的话呢,这个就直接退出了,这个咱们就没有定义方法了,直接你在这块操作就行。啊,这呢,就是整个我们这个逻辑哈,好,那这个逻辑呢,咱们先把这个五先给他搞定吧。
36:03
说呢诶获取用户的选择啊,这个我们就已经到五这儿了啊,说呢你想退出吗?这个咱们把人家这个再跑起来看一看这个效果是吧。好,这呢,我来个五啊,当你要选五的时候呢,他首先问说你是不是要确认退出。咱们也这样做啊。哎,回过来。哎,这呢,一上来先输出一下是吧,哎这么着这个呢,我们就不换行了,直接在后边让用户去写啊cm utility点。啊瑞的一个啥呢。这是你确认的,应该是他吧?看这名字呢,大体上差不多,你点进去看一下啊,所以你看你写的是不是外国,恩,没问题是吧。回过来啊。那这样的话呢,我们就得到一个具体的啊,返回值呢,是一个差啊。这个叉呢,你稍微看一眼啊,它是呢,呃,从键盘用户那写了一个字符,把它转换成大写以后,诶看看你是不是这个外弧N,所以它返回的呢,一定是大写的了。
37:02
所以这块我们接收的话呢,叉类型的咱叫is。Ex吧?判断一下啊,说如果呢,你这个意思呢,它是咱们想退出就是。这个一定要写成大写的Y啊。啊,因为呢,在这里边它已经转化成大写了,这是字符串的一个方法啊。呃,然后呢,如果是这种场景,我们就把它。是不是改成个了。对,就相当于你想退出哈,哎,那如果你要是一个N呢。对,你要是个N呢,我就不管了啊,你就正常的break结束你这个Switch啊,然后接着呢又翻回去,不就又跑到这来了吗。哎,就可以了,行,这个呢,咱们目前先去run一下。看下这个效果啊,好到这儿了啊,到这以后呢,这个1234呢,目前这个效果都没有,我们就直接来个五。哎,这呢,我选个N。哎,这不又回去了啊,然后再选个五选一个Y。哎,你看这块这就结束了。
38:01
诶没问题啊行,那么这个大方向的话呢,我们把整个呢,这个customer view呢,我们把这个框架呢,就给它搭起来了。哎,那下边要具体写的话呢,其实就是这四个方法是吧。诶,那这四个方法的话呢,诶这块呢,就对大家呢,不强做要求了啊。诶,大家的这个项目重点呢,还是写我们的customer list这四个方法呢,其实就是你小心一点,你看他对到底呢想干什么,然后呢,我们这块呢,把它填写一下,这个呢不要求了,哎我这呢只跟大家呢,稍微的咱们看一眼这个操作的细节就行啊,所以呢,把这几个方法呢,大家直接呢就粘过来就行。一直到这儿是吧。啊,CTRL一下啊。哎,这个回过来啊,因为这个咱们要明确这个项目的重点,如果呢,大家有兴趣你想下来写啊,那你就把这几个方法呢写写也行啊好CTRLV。拿过来了是吧,拿过来以后呢,他有报错,那我们就直接呢,从上往下,我们去稍微的搂一眼看一看啊。
39:01
好,那么第一个呢,它就添加一个新的客户。诶里边怎么做的呢?首先呢,显示一下这句话是吧,哎,你输入啊,那这块这个不太给力了哈,整个这块呢,我们直接呢,就用咱们当前这个。所以这块module module这也不对。Model咱也不用他的,就用咱们自己的这个customer。嗯,这个也得是吧。二是吧。嗯,我这么着一下啊。先先还是这么着,CTRLC一下。然后这块CTRLV,然后呢,我把这个是吧。CTRLCCTRLV啊这个呢,就replace all了哈。嗯,这样啊。嗯,关掉。行,上面还有错,那咱们就一个个看啊。好,添加客户这块呢,我们就呃输入姓名啊,姓名年龄啊,电话呀,这个你就调他从这个控制台那去获取相应的这个数据就可以了,获取完以后customer还是这个事儿啊。把它呢,CTRL。
40:01
C啊,CTRL2。哎,这个我们就替换成叫customer。啊,这个replace or是吧。这就行了啊。好,然后呢,我把它呢封装到一个customer里边了,然后这块呢,我们直接呢去做添加,这个呢叫customers是吧,这个我们添加的话呢,应该是用咱们上边这个吧。这个叫customer list了啊,诶名字不一样了,所以CTRLC一下。啊,这个回过来,咱们就这样替换一下。哎,这个呢,应该是都是这个问题啊。哎,这个呢,我们就把它改一下啊,这个没有这个我们先把它注释一下啊。好,这个呢是完事了,行回过来呢,咱们就看一下第一个这个添加的这个操作了啊添加这块的话呢,我们这不已经创建好这样的一个客户了,然后把它呢,加到我们这个客户列表里边就行了。哎,针对于啊,往数组里边添加操作呢,我不都已经放到现成的这样的一个数组里边了吗。诶封装到它里边了是吧。
41:00
这是在这呢吗?啊,这块儿这个业务逻辑呢,稍微的就大一些啊,这个得捋顺一下啊,CTRL f12,诶我们还回到这个添加这块来说啊好,那你这块呢,添加完以后呢,诶,我们那会儿设计这个方法的时候呢,就说了哈,你要添加成功了,返回的是个true,所以这块呢,你要是个true就要添加成功啊,你要是false呢就满了。哎,这个就完事了啊好,下边这个要修改,修改的话呢,诶这不我们说呢,你需要呢,填一个,呃,你要修改的这个编号嘛。啊,这个编号的话呢,这个我们说呢,你要是负一呢,就是退出啊,所以呢,这块你要写负一了,哎,我们就直接呢结束咱们当前这个方法了。啊,就是这样一个场景啊,好。那么你要输的,呃,不是这个负一。呃,然后呢,你输入的这个呢,也不靠谱啊,怎么叫不靠谱呢?比如我们现在里边就只有两个客户,诶然后呢,你可以写一,你可以写二,但是你不能写三。写345啥的,这个呢,就是我会提示你说没有这个指定的客户了,所以呢,怎么办呢,我们这个修改操作呢,我得先呢,找到你指定的这个客户看看有没有。
42:03
诶,这块找的时候你注意了,咱们说有两个客户的话呢,如果呢,用户想删除第二个哈,实际上对应我们数组当中是角标一。所以呢,用户呢,诶咱们获取到的他这个index哈,你减个一啊。诶找到了,你在数组当中索引位置,我们先看这个位置上这个客户有没有啊,如果要是没有的话呢,就是说找不到,找不到的话呢,我们就让用户呢,接着去再输入。所以这呢,我们用一个这样循环呢,给它包着了啊,哎,只要你找到了。找到了我就break break呢就结束这个循环,那就意味着我们找到的话呢,哎,我不就跑到这儿来了吗。没问题是吧,好,那么找到的话呢,这块,诶我们的就是姓名谁谁谁,那这块我们也可以看一个他做好的这个效果哈。诶你看这儿呢,我们选一个叫修改选一个这个二是吧,啊这个呢,我选个一,哎这时候呢,他会把一对应的这个张三呢,诶它本身这个信息呢,其实也给我们显示到这儿了,哎性名我不想改,哎性别是男男,我想改成女。
43:03
哎,这个你就这样写一下是吧,哎这不就给改了吗?哎,他会把本身的这个信息呢,也呈现一下,所以回过来,哎看一下我们这块,他这呢,不是也是这样个效果吗。诶呈现是吧,诶呈现诶你要是想这个改的话呢,你就这块去输入,你要没有输入直接换行的,他就把你原本的这个,呃,人家这个姓名呢,还接着返回了。哎,所以中间呢,就有的改了,有的没改,最终呢,我们得到的这几个字段呢,我再封装成个对象,这个对象呢,我们去做一个replace替换,呃,接着呢,还有个简易的操作啊。啊,这个呢,就是改成了,这个就没改成。就行啊好,那删除的话呢,其实类似哈,跟上面类似,只不过删除这块呢,我们最后呢,呃,是做了一个delete一个行为就行了。啊,比上面那个修改呢,稍微的简单一点啊,跟上面这个差不太多啊,负一的话呢,是退出,呃,你要是找不到,找不到是吧,这个能接着去写这个。哎,去填是吧,哎找到了,哎,那这块就break了,然后这块就删掉它。
44:01
那就请啊。诶这块呢,多了一个逻辑啊,就是你删的话呢,是不是确认删除是多了一层判断啊。哎,如果你要选择N的话呢,就直接呢,就结束当年的一个方法。哎,如果你要选的是这个Y呢,就是你真的要删了,哎,我就给你删掉啊。好,最后这块呢,是一个显示客户列表,诶我们就调咱们写好的这个方法,诶咱们在customer list里边的啊,调它返回这个数组,诶数组长度是零,那就没有客户。哎,如果要不是零了,说明就有,那我们就这样遍利一下,哎,便利了写for循环,把这几个属性呢,就依次这样的给它,哎,这样显示一下。哎,这样这样这样是吧,就行,哎,那如果你说呢,我这块呢,写这几个属性呢,有点low。哎,这样有点漏,哎,是不是我们可以呢,再封装到一个方法里边,是不是也可以啊。诶这呢就是下边啊,一开始这样写的,他报错的一个原因啊,诶然后这块怎么做呢,我们呢就可以,诶回过来在咱们这个customer这个里边呢,我去写一个方法呗。Public。
45:00
哎,是吧。哎,这不就这么样这么着吗。哎,这个咋写呢,还是参照一下他做好的这样一个效果啊。比如说这块我们这个就结束了啊,接着我们这块呢,选一个这个四。哎,你看一下,哎整个呢,其实就是这样的几个字段啊。就是他。哎,在这儿我们就这样处理哈,所以return。呃,先是呢,叫name是吧。哎,杠T吧。啊,这个叫gender。杠T,然后再加上这个A值啊。哎,加上这个phone number phone,它叫phone啊。Email。哎,这样是不是就行了。这个有可能会有对齐的问题啊,这个咱们一会儿再说啊好,这个呢,是不是咱们就写完了。嗯,写完了,写完以后呢,回过来啊,找到咱们自己一个view,哎,这呢,这不就可以了。啊可以了,行没啥问题啊,没啥问题的话呢,我们就想做这个具体的测试了,哎,我们就可以点右键啊做这个run了。
46:07
好呃,那么此时的话呢,如果我们点这个四呢,诶你里边呢,没有任何的客户,所以呢,就是没有客户的记录。哎,那如果我们选一个一啊,这是姓名,哎,张三是吧,哎,姓别男。年龄23电话啊132啊。12341234。少一位是吧。邮箱啊张。啊126.com是吧,好可以了啊,接下来我们再选上这个四。哎,这呢就呈现给我们了,哎,目前来看的话,那个对齐的效果还行是吧。当然不排除呢,你看这块离得比较近哈,诶我要写三个字的话呢,可能这块就有不对齐了,所以你可以呢,再去让他们这个距离呢,稍微的再远一点,这块儿你再匹配相应的这个杠T,哎,让他做个对齐,这块我就细节先不去在这块研究了啊,诶建议呢,大家你也不用在这块去研究太多。
47:01
呃,因为以后呢,我们诶说了啊,都是在这个网页当中,或者说是客户端呢去呈现的啊,我们通过代码呢去控制啊,这呢就是简单你看看效果就行啊。好这个呢就完了,然后呢,我们再顺便呢看一下,比如这个二叫修改客户。这里边儿呢,有效的范围你只能写一哈。因为就这一个客户了,你写个二都不行啊,写个一,那这不就张三吗。呃,性别咱们改一下是吧,就改成这个女了,其他的这个都不变。哎,你再看一下这个四。哎,这就变成女了吗?啊,这是我们这个加了几个方法是吧,诶整个呢,结合咱们已经写好的代码啊,Customer什么list是咱自己写的啊,其实呢,也在检验呢,你自己写的这个靠不靠谱啊。诶,删除X3。哎,删除客户编号这个我们写个二呢,这都不行啊,选个负一呢,就直接就退出了啊。哎,再删除进来,选个一,哎,是不是要删除呢,选个Y。就删掉了,然后再看一下四,这不就没有了吗。哎,那么无退出是吧,选个Y,哎,这就退出了。
48:03
哎,其实呢,整个的咱们这个项目呢,就写完了啊。啊,这个。难不难?通过一节课的时间,我们就。搞定了是吧。啊,这个呢,哎,再强调一下啊。把这个收起来。我强调一下啊,哎,大家呢,练的时候呢,哎,你就写customer。这个很简单是吧。这不就是基本的一个扎的一个类吗?写完它以后呢,诶,你主要练customer list。哎,这里边儿呢,这不就是操作我们这个数组的增删改查是吧,哎,只要呢,涉及到这种所谓的叫管理系统啊。诶,他都离不了这种增删改查的操作,所以说呢,诶这儿呢,大家也把这个增删改查看作是呢,我们操作的一个重点啊,主要呢,你就写这个类。啊,大概呢,就100多行的一个代码。
49:00
写这个是吧,然后呢,这个customer view这块呢,大家量力而行就行。啊,像以前呢,我讲这个项目的时候呢,都是一行一行的去写,这个讲的时间很长,其实呢,大家这块这个中心呢,就怕偏了哈,哎,你就放到这儿,这个customer view呢,你可以像我一样呢,把这个框打起来,这里边呢这几个方法。啊,CTRL f12啊。哎,这里边儿的话呢,这个。这几个方法咱们其实都是粘过来的,对吧。包括这个哈,哎,我也建议呢,这几个你就不用自己写了啊。啊,这个我没粘这个呢,是咱们自己写的啊,或者整个这个代码你就直接粘过来跑跑都跑通就行啊,重点呢是放在这儿。啊,就OK了啊。好,这个呢,我们就把它就关掉了。哎,就成了啊,哎,关于这个项目的话呢,呃,我在这个里边呢,在在这块啊。来写了两个思考是吧,来简单看一下啊。说这个项目,看是不是有共鸣。说为什么这个知识呢,能听得懂,叫项目的时候就听不懂了。
50:02
为啥呢?敲的少啊,哎,这个你要这么说的话呢,所有的都可以说叫敲的少是吧。诶,这个知识的话呢,咱们讲的时候呢,尽量呢,就是不涉及到其他的知识啊,能少就少,然后就想凸显出来当前这个知识点。诶,就是说这个知识的话呢,咱们涉及到这个代码量呢,比较小啊。这个甲。啊,知识时。哎,涉及到的。啊,代码量啊。诶,少。诶,所以这块你听了的话呢,感觉还行,但按说到新知识的话呢,它是新的东西啊,按说你感觉会有搞不定的场景是吧,但是你觉得还可以是诶为什么到项目就听不懂了,诶主要原因呢,是因为这个项目呢,它的这个代码量哈。突然一下子就多了。嗯,比较大蛋白量大呢,就意味着它这个逻辑呢,会比较复杂。啊,那么大家刚开始接触这个语言,可能语法呢,本来还不太熟呢,突然一下子呢,诶不光语法上要用,而且呢,这个逻辑还更复杂了,所以呢,有点hold不住了。
51:03
哎,所以它的主要特点就是逻辑复杂一些啊。好,为什么项目能听得懂,写的时候呢,不知道如何下手了。对,能听懂,那说明你这个逻辑呢,还算是能捋得清,写的话呢,不知道该如何去下手,就是因为这个代码量大了,然后呃,平时呢,写的还少一点。就像说那游泳一样啊,原来就让你游50米,你觉得还行,现在突然让你游500米了。这个就有点整不动了是吧?哎,游不下来了就哈,哎就是呢,大家呃,这个还没有经历过这种中间的这个代码量比较大的这样的一个积累的这个过程啊,所以这个不知道该如何下手呢,这个呢,首先呢,你需要呢,呃,沉下心来是吧。哎,沉下这个心来啊,先呢去捋一捋啊,具体的这个逻辑啊。哎,像咱们这个项目当中呢,大家主要要捋的就是这样的几个类,诶他们到底是干什么的啊,这个呢是个渣in,这个呢就是呃看类型的数组诶里边做增长改查的,这个呢,就是页面当中啊,跟用户去交互的,交互的过程当中呢,我们需要呢,调你这个C类这个数组做增长改查。
52:11
哎,就这样一个层次关系来先理清楚啊,理清楚以后的话呢,然后呢,那就是接下来呢,就一点一点的去写了。啊,所以这块呢,只能说呢,代码啊,一定是啊一点点写出来的啊。哎,写出来的这个谁都不能说,一口吃个胖子。啊,都得是一点点来的啊。好,下面一个啊,现在如果这个时间比较紧张,项目呢,没有练习完啊,对学习后面知识呢,会不会有影响啊。不会是吧?哎,同学说这就放心了是吧。啊,咱们前面说过啊,就项目里边呢,通常是没有新的知识点的啊呃,当然呢,这个项目呢,有助于大家提升这个逻辑的能力啊,有助于解决复杂的这个逻辑问题,包括呢,你也看一看相关的这个知识点在项目当中到底咋用。那这样就心里有数了,就啊。
53:02
好诶,所以这块呢,我们说呢,第一个不会,第二点的话呢,就是你可以不着急写,但是呢,还是建议呢,要写一写啊,这如何才能使得项目掌握的比较好呢。对,这个只能是叫敲了是吧。啊,这个你不敲,肯定这个变成变不成你的代码了,诶敲的过程当中老出问题,思路断了,诶思路断了从哪断的从哪捋,诶代码哪块挂了啊,那就从哪去捋,你像刚才我们写这个代码的时候呢,诶里边有一个点呢,特别容易出错的就是用户呢,他想删第一个客户,他就写的一,但实际上呢,我们找的是数组角标零的位置。所以一定要记得这个简易的操作。啊,这个你看你要是忘了写的话呢,你可能会出问题啊,比如说用户写的是个一结果呢,你把你这个客户列表里边的第二个元素给干掉了啊。就感觉诶怎么怪怪的是吧,诶这个大家回过来,你知道这个逻辑呢,写的有问题是吧,通过这个呢,不断的去强化以后呢,你再写代码呢,这块你就不会出错。就行啊好,这呢,就我们整个这个项目的一个情况啊。
我来说两句