00:00
好了,那咱们还剩半个小时的时间,咱们赶紧的把这个题目咱们还是说完吧,啊有些同学觉得题啊比较难。所以这块呢,咱们还是谨慎一些啊,谨慎一些来把这个对15的这个作业,咱们再往下看一看,那这个作业的话,我还是放到这个这个地方吧,好吧,啊这个地方啊来。我们把这个呢复制一下。嗯,然后呢,我们直接点击右键,我们新建一个叫什么叫做HOMEWORK2。他说写一个名字,名字叫做account的类去模拟账户,是不是该类的属性和方法如下所示。该类的。包括的属性是账号账户的ID余额对吧,还有年利率啊年利率。呃,包含的这个方法是各属性的set get方法,然后取款方法,还有存款方法。
01:03
是吧,那么接下来是这样,各位啊,嗯。每一个账户它的ID不一样,对吧。是不是,哎,然后呢,它的余额也不一样吧。是不是诶年利率一样吗。这个银行账户这块,比如说建行的银行账户,还有工行的银行账户,它的年利率一样吗?或者说账户不一样,有的可能是金卡,有的是什么呀?诶银卡有的是什么呀?哎,别的普通用户是不是他年利率一样吗。年利率不一样啊,不一样各位啊,所以说呢,咱们我看了一下作业啊,咱们有同学啊,就是把这个年利率呢,定义成静态的了啊,这个其实不应该定义成静态的。啊,应该我看好像是玲玲吧。
02:02
嗯。嗯,你注意一下啊,这个年利率不能定义成静态的啊,不能定义成静态的。好吧,行,那么咱们就应该是啊,我刚才好看了一下。来,那么这块呢,咱们看一看啊,这个账户怎么去定义来public class,我们叫HOMEWORK2,然后我们主方法还是写上public static VO主方法加上。加上去之后。我们在这块呢,我们定义一个什么呀,账户类。啊账户类,那么这个账户类呢,我们就按照上面来说吧,对吧,哎,Class account这样的一个类啊,这个类呢,它有什么呀,有账户的一个ID,这个账户的ID一般用字符串啊,一般是用字符串。对,一般是用这块,因为实际上银行卡的账号是特别长的。啊,有同学老师用long类型行不行,没必要用数字啊,用字符串就行了啊字符串就行了,ID,然后呢,再往下呢,它有一个什么呀,余额balance是不是,哎,这是这是一个叫做。
03:10
账户ID,这是一个余额,然后呢,还有一个年利率。是吧,还有个年利率拿过来,那这个年利率呢,Double呗。是不是,哎把这个单词拿过来啊,挺长的,你拿过来就完事了啊,所以说这个东西呢,如果你你英语不是特别好,那我觉得就没必要说,哎,再把这个英语单词学一学是不是啊,你可能以后用不着了,对不对,那再往下呢,我们这个类呢,提供好我们相关的这些属性之后,包含的方法是不是啊包含方法,那这样我们觉得这块是不是应该给他提供上构造方法是不是,哎无餐的我们给他提供一个。然后这块呢,我们也可以给他提供什么呀,一个有参数的构造方法,哎,这个东西呢,都给它提供上是不是,哎,String ID double balance是不是,哎,Double,哎,年利率啊,这个单词太长了,拿过来啊,那么这边呢,我们this点它等于它是不是,哎,this.id等于ID,然后this点什么呢?叫balance等于balance啊好,这是构造方法就有了,那s and get呗,S提供上是不是,哎,Public VO set什么呀,ID,那么这个时候呢,String类型的ID传过来,那么这个是this点啊。
04:32
this.id就行了啊,来,再来一个,返回一个string,对不对,叫get ID吧,然后直接return一个ID是不是就可以了?来呢,再来一个方法,这个方法叫state balance。That balance,那么这块呢,我们有一个double类型的什么呀,我们叫balance是不是,哎,然后接下来this.balance balance啊,好,这是double类型的。然后呢,还有一个get方法,是不是返回double吧,来double类型get balance啊,然后接下来。
05:03
我们在这块直接return一个什么呀,Balance就行了啊,Set get set get啊然后再往下还有这样一个叫年利率的一个单词啊,这比较长S是不是,那这个单词给它改成大写呗,对吧,然后接下来double呗,它那接下来这边写什么呀,This,他等于等于谁呀,他好,那么再来往下看啊,再来往下看。我们有一个get方法,是不是返回什么呀,Double叫get它,然后这块这个单词给它改成什么呀,大写的A啊,然后直接return谁就行了,哎,它就可以了。好了,这个是set get,这个是set,这个是set get方法好了,那我问大家一个问题啊。同学们,我突然想到一个东西啊,咱们先不说这个作业啊,就说这个构造方法里边,他给这个地方附上值了。还有必要存在的方法吗?
06:00
这个set方法里不是也是给这个属性赋值吗?这个S不是也是个属性赋值吗?对吧?这个set方法不是也给这个属性赋值吗?在这儿已经可以执行这个代码呢,那为什么还要提供这个set方法,各位告诉我。同学们在吗?为什么呀?能说一下吗?就昨天有一个同学问我这个问题了,为什么今天想起来这个。说后面修改需要。雨阳说的太对了,我再说一下各位啊,这个ZID等于ID和这个地方ZID等于ID啊。它不在同一个时间点上,有没有可能大家想象有没有可能存在这种情况,说我们把这个对象啊,通过这个构造方案扭出来了,扭出来这个对象之后,你有没有可能后期再把他的ID改一改,后期再把余额改一下,如果你后期再去改的话,那你是不是得调这里的set方法呀?你总不能说你再拗一次吧,对吧,因为你原先已经有了一个对象了,那么这个时候呢,哎,你通过这个构造方法把对象创建出来了,所以呢,哎,你这些赛的方法,还有这个赛的方法,还有这个赛的方法,实际上的目的是后期你想改的话。
07:04
哎,你可以去调这些在的方法去给他修改,所以说呢,你不要再有疑惑了啊,不要再有疑惑了,这个赋值是在创建对象时赋值啊,这是创建对象。啊时需要的代码,那么这个赛的方法是是什么呀?是后期什么呀,后期就是对象创建完之后啊想干什么呀,想修改ID属性。啊,调用此方法。对不对,所以说你这一块和这一块实际上是不一样的,一个是创建对象的时候,一个是什么呀,后期修改的时候,所以在这里我提一下各位啊,你不要再有这个疑惑了啊,说你再问我说老师啊,这块和这块代码一样,有没有必要啊,我写这个干啥呀?啊这个问题我大家解释一下啊,在这里稍微停留一下好吧,啊停留一下啊,解释了一下,那以后就不要再问这个问题了啊来下边呢,我们。呃,提供了一些属性之后呢,接下来再往下包含的方法对吧,一个是取款叫Lew啊。
08:07
那取款这个方法,还有个存款的方法是不是啊。那行了,那咱们就提供一个存款方法和取款方法吧,哎,存款。方法有一个什么呀,叫取款方法是不是啊存款取款方法,那么存款方法的话,我们现在先不管它这个反馈是类型是什么吧,行吧,我们叫这是这这这是取款了,各位啊,这是取款。取款是RA啊。来取款,那最起码就是说这地方应该有个参数取多少钱呗,是不是啊,你需要调这个方法的时候,你是不是要告诉我你要取多少钱啊,所以这个方法上有个参数是不是double money啊。就取钱取钱啊,调用取钱的方法时,应该传递过来一个参数啊,呃,告诉该方法。
09:08
要取多少钱是不是啊取多少钱。那参数传过来之后,我们在这里呢,可能需要做一系列一系列的事情啊,那么这个时候除了这个方法之外,还有一个方法叫什么叫做存款,你看是不是,哎存款方法,那就这个呗。存款。那么这个。都需要指定你要存多少钱呀,是不是啊,参数表示存多少钱啊,参数表示存多少钱。这个参数表示取多少钱,那么这个方法的反馈类型我们先定义成,以后不合适的话我们再改呗,是不是一个是存一个是取啊,一个是存,一个是取。那么这块呢,我们。呃,大于零是吧,哎,一会儿咱们再看啊,一会儿再看这里呢,可能需要写一个哎代码,那么现在我问大家一个问题啊,首先这个方法能不能定义成静态的。
10:04
你这个存款和取款是不是都是针对于我们这个当前账户对象才进行的一个存款取款,对吧?你没有账户对象,是不是你没法存款和没法取款对吧?所以这样的方法不能加static啊,加上sta表示什么意思啊,表示静态的,静态你采用类名去调这个方法,大家想一想,你要存款你往哪个账户里边存呀,对吧?你要取款从哪个账户边取啊,所以这个不能加啊,那么这里有没有this呢?各位有吧,好,那我问大家存款是不是就往this里边存,这个取款是不是也是取款,是不是也是从this里边取呀?对吧,你将来是不是有一个账户对象先拗出来呀,拗出来之后你是不是要调这个存款的方法,你哎,你去存款嘛,你应该拗出来个对象去调这个方法,那这个this是不是代表当前对象。对吧,这个应该是像this里边干什么,应该是像。This啊,指向的什么?对向中存款是不是,而这个呢,是向什么,是从什么呀,从this指向的对象中干什么呀?取款对吧?从this指向的对象中取款,从向this指向的对象中存款,一个是存一个是啊来我们看看他有什么要求啊,他说写一个测试程序啊,创建一个customer这样的一个类。
11:26
名字叫史密斯。他有哦,史密斯这是一个customer的一个类啊,它有一个账号为1000,余额为2000,然后呢,它的年利率是百分之。啊,1.23的,1.23的一个账户。1.23%。啊的账户。创建这样一个,然后对什么呢?对它进行操作。啊,存入100,再取出960,再取出2000,打印史密斯的基本信息,信息是如下。
12:07
信息如下显示成功存入了多少钱,成功取出多少钱对吧,余额不足,取钱失败啊呃,进去100,然后再取出960。哦,那行了各位,那接下来大家是怎么怎么写的呀。嗯。这个存款的方法你是怎么写的,各位。存钱是怎么写的?是直接把这个加到哪啊。这个余额上吧。是吧?来,各位给个互动呗。存款你怎么写这个代码?This。点。
13:00
Balance。哦,甲等money,诶有意思啊,甲等。哎,这是谁啊?就是我们当前对象吧。他的账户吧。是不是余额。加上这个钱。就完事了啊,或者说你还有另外的一种做法。怎么做呀?直接调这个方法行不行?说this点儿set什么balance调这个方法行吗?调方法可能有点懵啊,各位。方法,这个方法是个什么方法?各位这是修改余额的方法吗?是不是,而且这个方法。是不是一个。
14:01
查询余额。好,这个方法大家看啊。是不是一个实例方法?对不对。需要什么?引用点来干什么呀,调用吧。是不是,你要是怎么写啊?你可以这样写,this.balance等于什么呀?this.balance再加上。你this.balance是不是当前这个账户,它的余额,再加上存的这个钱,再付给这个this balance。是不是,那要么就是说怎么做呀,This their balance加等什么呀,哎。这样也是可以的。有同学说,老师我这个this点可以省略吗?没问题啊,可以省略,This点是可以省略的。
15:00
如果省略this点,那应该是怎么做呀,把这个拿过来,然后呢,放到这儿是不是?哎,那balance等于什么呀?Balance加上money再付给balance。是不是,哎,或者说我们这个balance怎么着啊,甲等什么呀,哎,Money就是刚才咱们这个同学写的balance加等money就可以了。都行,当然你也可以在这里什么呀,调用什么呀方法来进行这个这个这个这个的存款。来进行什么呀,修改余额吧,修改余额。首先上面这个大家有没有问题,各位,就是this balance this balance加上money,就是这个是之前余额加上这个钱付上去,或者this balance加等它,或者balance等于balance加上它,或者balance加等money,这都可以吧,上面这个理解的话,大家打个一来。
16:01
张一。啊,没有啥玩意儿。没问题是吧,好,那咱们尝试换另外一种方式都行啊,存款这块那怎么改,那能不能调那个set balance这个方法,各位。因为我们这个类当中提供了一个方法,不是叫balance吗。是不是哎,Set balance,那set balance这个方法我们调用这调用这个方法不就可以修改余额了吗。那修改余额的话,这this这个这个地方set balance方法可以直接调用,但是大家注意set balance它是个实例方法,前面没有static,这说明这个方法是不是得创建对象才能去调这个方法,那这个this是不是就。就行了。对吧,各位好,Set balance啊,修改余额这个方法里边需要传一个余额,就是在这一块需要传一个钱。需要传多少少钱啊,这是修改余额的方法。
17:00
只不过就是说我们这个this点呀,可以怎么着啊,省略,但是如果省略的话,大家想一想是不是就直接这个这个就行了,Set balance就可以了。对吧,那这个钱是多少啊。钱是this.get balance这个方法再加上对吗?对不对啊。好,大家看这个代码,能不能看明白这个this get balance get balance是什么?是不是这个方法?这个方法得到的是不是余额。对不对啊,哎,这不是double get balance吗?Get balance这个方法吗?拿到的是余额加上这个钱吗?加上钱之后呢,掉this的set balance,这样的话是不是就把余额更新了。那如果this点去掉的话,其实就是这样的。来。这个this点可以省略不写,那你省略的话其实就是这个意思,好,大家看这个get balance方法是什么?是不是用来获取余额的,加上这个钱之后,我们是不是掉this set的balance这个方法是不是就更改余额呀,这样是不是就存钱呀?
18:08
对吧,哎,我倒习惯用上面那个啊,习惯用上面那个,因为我们这个方法,我再强调是实例方法,实例方法不带static这个方法,调用得用对象去调这个方法,用引用去调这个方法。对不对,那么我们set balance呢,其实是有一个什么呀,This点儿set balance就是当前账户的余额设置为这个,This代表当前账户吗?当前账户的余额设置为这个吗?那这个括号里面的先执行这个是个这个这个括号是个方法啊,这里边this get balance就表示我获取的是什么呀,我当前账户的余额,然后呢,余额拿到之后呢,加上人家这存的这个钱,存1000就是1000,对吧,存了钱之后加起来这个数字之后啊,得到一个结果叫set balance,哎,这个方法把我们的这个balance给它改set balance不是传个参数,参数传过来不是把它改了吗。
19:02
是不是,哎,你用上边的也行,你用下边的也可以,无所谓都可以啊来这这个听懂的话再打个零吧,各位打个零。这听懂了吗?存款。听懂的话打个零啊。好,那么接下来咱们继续再往下取款呢,各位。如果说我们取的这个钱。要是大于什么呢?this.get balance。这个this大家想一想,是不是就是我们当前账户的余额。如果这个钱要大于这个值的话,来这里说什么呀,叫什么呀,叫余额不足对不对,叫取钱失败,那么这个时候呢,我们在这里呢,就可以输出一句话system.out点打印输出我们叫余额不足,取钱失败,那程序到这儿也就没必要再执行了。
20:04
对吧,哎,没必要再执行了,Return就完事了啊,Return就完事了啊结束了,那么程序到这里,程序能够执行到此处,说明余额充足,那余额充足怎么办呢?哎,那么又是干什么呀?改余额this.side什么呀,Balance。那么和上面这个是一样的。啊,只不过这个是取款的话,应该是this get balance减去。减去money啊,然后接下来人家要说出一句话叫什么呀,叫做成功。成功取出。对吧,你system.out line打印输出,你说成功取出这是取钱吗?多少钱啊money对不对,那它还有一个叫做什么呀,成功存入嘛,那么成功存入的话,那这个方法就在这儿呗,存进去对吧?代码执行到这儿的话,你就system.out.line打印,我们输入什么呀?哎,我们就成功什么呀,存入多多少钱多少钱呀。
21:14
Money呗,对吧,那这样的话,这个double money拿过来就放到这里了,成功存去多少钱,成功取了多少钱。是不是你存钱的这个方法是不是打印这句话,你取钱的方法是不是打印这句话,如果余额不足是不是就结束了,然后呢,余额不足,呃,取钱失败嘛,取钱失败啊,就是这样。啊,你下来之后再捋一下这个程序啊,再捋捋这个程序。好,那么这块呢,我们关于最基本的方法,我们应该写差不多了啊,但是他有一个要求是什么呢?是写一个测试程序,创建一个customer。名字叫他。所以这块呢,你应该还有一个什么呀,叫做客户类对吧?哎,Class叫customer是不是好,那么customer这个客户是不是应该有个银行银行账户啊,客户手里应该有银行账户是不是,所以他是不是有一个银行账户啊account呀。
22:12
是吧,应该是有count啊。他有名字吧,所以这块应该还有名字啊。有名字有这个银行账户啊。嗯。行行,那么接下来呢,我们这块呢,有这是客户名字,接下来按说是不是应该应该再提供它的一个构造方法呀,然后呢,Set get方法吧,构造方法你是不是提供一个无的构造方法,是不在提供一个有参的,这个参数是string name对吧,Account act,然后this.name name呗,this.account account就行了,这个this.account就是它呗。
23:09
他付个他呗,就是这个意思,然后再往下set get方法,你就把它看成普通的特I就行啊,别多想account account就相当于说你客户啊,他有名字也有什么呀,也有账户啊,那么接下来有无参勾造,也有有参数过通方法,S方法就是就熟练了对不对?来都写上就行了啊public VO set什么呀,Set name呗,参数类型是name,然后接下来是name name是不是好,那么再来一个get方法,返回什么呀?哎,就这样写就行啊,老规矩来我们的return name就完了。还有一个叫什么呀,Set account set act啊,这叫act啊,所以这叫set act啊,参数类型是什么类型呢?是count啊,Act,然后接下来是this act act就行了啊,然后再来一个返回一个count呗,是不是叫get呀,然后直接return谁就行了,Return一个act呗。
24:05
是吧,Return一个就完事了啊,这是set方法和get方法,有的老师你写这个干啥?为什么要写这个set get,为什么要写set和get,用得着吗?用得着吗?用不着你也得写,因为这是封装。规定的明白吧,以后都是属性私有化对外提供set盖的方法,听懂了吗?以后啊,在这里强调一下啊,以后都是都是封装所有的类都是属性私有化对外提供set and get方法啊,你记住这个规则就行了,你不要问我为啥就这样写,属性私有化构造无参构造有餐在这get的方法写上属性私有化构造无餐构造有餐在盖的方法写上在这的还可以提供什么存款和取款,一些额外的别的方法啊,别的方法,那这样的话,这个类我们就写完了,那写完之后呢,接下来他说什么呢?他说呀,他有一个账户是。
25:07
账号为100,那行你应该是先创建一个什么账户对象对不对?那账户对象怎么创建,跟客户没关系,先把账户创建出来,调这个构造方法呗,有ID,有double,有有年利率是不是来,那么接下来我们在这呢,应该是account a new一个什么呀,Account。那你我看的时候账号他说是多少啊,是1000这个账号那是字符串,接下来它的余额是多少,是2000,那给个2000,它的年利率是多少啊,是1.23,那行,那我就把1.23写过来啊,你用那个double各位啊1.23,那么接下来呢,我们这块呢,创建完这个账户之后呢,你需要去创建一个什么呀,创建客户对象,那客户对象是customer c new,一个customer new的时候大家都知道。我们是不是应该调这个构造方法传一个名字,这个名字是什么,这个名字叫叫叫史密斯是不是,所以第一个参数是史密斯,第二个参数是什么?因为这个客户啊,他需要一个账户嘛,你必须让客户手里有这个账户,你客户手里有这个账户,你必须把这个账户给他传过去,所以你把A呢给他传过去。
26:16
你需要把这个A给他传过去啊,注意传A是啥意思啊,传给构造方法。A是什么意思?就是让什么呀,Customer对象和什么呀?A account对象产生关系,表示这个账户是谁的,表示这个账户啊是谁的,是史密斯的明白吗?就你要是这块等于空的话,是不是代表这个顾客手里根本就没有银行卡,如果这个位置是0X1234的话,大家想是不是就相当于我们客户的手里是有一个银行卡的,对吧?那如果他要是有这个银行卡的话,怎么才能有你这个z.act等于act这个等号得赋值,怎么这个act是这个act,这个act是这个构造方法的第二个参数,你在这个位置是不是有个造方法调用了,调这个构造方法第二个参数是不是要传这个A啊,你把A传过来,这样的话,这个对象的内存地址是不是通过等号的方式就付给了我们的这个变量,那就相当于说我们现在客户已经有这个啊银行账户了,那么接下来干什么呢?账户有了,客户有了,好接下来干什么?
27:29
接下来是。嗯,存入100。存入100,对这个的操作。就对这个的操作啊。好。对,他的操作是。先存100,再取960,再取2000,那既然是对他的进行操作,那就是这个C呗,是吧,C什么各位C什么。
28:04
啊。C什么?C的act是吧?Act是谁?是不是就是get act这个方法是不是能拿到这个银行卡账户。对吧,好,各位拿到这个银行卡之后,c.get actct嘛,因为你没有办法c.act各位啊,你如果c.act的话,大家想一想是不是私有的,私有的是不是在外边访问不了,你是不是不是只能去调这个get方法,然后去取这个账户对象,所以这个时候呢,c.get这个方法就拿到账户了,拿到账户之后怎么着啊,存钱,这就是这个账户对象。账户对象有账户对象c.a get act嘛,Get act的意思就表示这个方法嘛,返回就是act嘛,而这个act是不是就是它,它这块能不能继续再往后点,因为账户嘛,它有一个方法叫什么叫存存钱嘛,这不存钱嘛,这个方法吗?是不是诶所以说你可以继续往下写点什么呀,他说存进去100,那你就写100就行了,那么接下来再取出960,那还是c.C是这个客户。
29:09
客户。看了之后还是不会做。慢慢来慢慢来,别着急啊c.get act给get act是什么?是不是这个账户再取出点什么呀?点取出,取出是哪个方法呀?是不是就这个方法呀,就取出啊,是不是取出多少钱呀?哎,所以这块呢,你就直接在这取钱就行了,你存进去100。取出来多少960,那么接下来你再取出2000,应该还是客户啊,C是客户,客户去调get act的这个方法是拿账户,拿到账户之后怎么着再去取钱,这次取的钱不是960,是取多少啊,是取2000,那么接下来我们写上2000就行了,好了,那这个程序我说一下啊,你是应该出去的,很难写出来。很难写,写到我这种程度的啊来,那么接下来我们Java c呢,去编一下homework2.java,然后Java去运行Java c啊我们叫备15吧作业,然后Java c homework2点Java,然后Java去运行,呃,WORK2走。
30:20
成功存入100,成功取出960,余额不足,取钱失败。好,大家看和他这个输出结果是不是一模一样,因为你调了这个方法存钱嘛,将来这个存进去是不是在这儿就输出了,然后取的时候如果失败就告诉他失败,成功就告诉成功呗。是不是,哎,那我说一下各位啊,这里面有技术含量的是谁。有技术含量的就是你这个存款方法,还有你这个取款方法的一个编写,咱们这么说吧,各位属性私有化,提供构造方法,提供set盖的方法,咱们班没有不会的吧。这个地方的属性私有化对外提供构造,还有构造还有set盖的方法,像这个东西是不是都是公共的,对吧?你按照这个节奏写,只要听杜老师说封装就行了。属性私有化对外提供set get方法,然后这边也是属性私有化对外提供什么呀?Set get方法,只不过这个整个程序当中最最最有价值的其实是你什么呢?是你这个存款的方法和取款的方法逻辑,你存款的时候是怎么存,咱说白了,存款就是把您的余额呀干啥呀,给他再加点钱,取钱无非就是说把您的余额呀干什么呀,再减点钱,减钱的时候你要注意你的钱够不够。
31:33
对吧,你比如卡里边只有100块钱,你非要取1000,那肯定不够啊,是不是,所以说你要看你的钱,如果你的钱要是大于这个余额的话,那你这块不行,余额不足呗,程序能到这儿的话,你是不是就余额充足就可以取啊啊就可以取啊,所以这个程序呢,怎么说呢,你多看几遍这个视频啊,你多看几遍,然后呢,呃,多去想一想这个这个程序还有一个障碍的地方是哪?就是就是有些同学可能不知道定义这个类。
32:01
我说对了吗?各位,我说的有没有道理,是不是有,有没有同学,有没有同学?出现这个问题,就是这个类不知道定义出来,只知道定义一个账户类。他没去定义这个客户。对吧。哎,就是说这个地方有个障碍是什么呢?就是说你这个类不知道定义,你不知道去定义这个类。对,这块是大部分同学都都都都都漏了。你想想这这是一种,这是一种什么什么思想的培养,各位。各位告诉我这是一种什么思想的培养?这个案例是什么思想的培养?各位?是不是面向对象的一种培养,叫做面向对象的一种思想培养啊,就从现在开始,是不是每一天你都要脑子里边想想对象嘛,是不是你脑子里边应该有什么对象啊,最起码你应该你知道当这个这个这个叫什么呀,叫做这个史密斯,史密斯呢,他怎么着,他是一个人啊,他是一个人,他就应该是个对象啊。
33:06
对吧,他是对象的话就应该是类。对不对,你没有类,你哪来对象啊,是不是你这种这个account你知道是一个类,这个账户,这个客户你就不知道是一个类了吗。对不对,所以说这个东西怎么说呢,你要是写的时间长了,你就慢慢慢慢脑海里面就有这种思想了啊,什么思想,就是面向对象的这种思想,就现在你还没有这种面向对象的思想,你可能不知道去定义这个客户类,你定一条客户类,你知道客户哦,客户有名字是不是,哦客户呢,这块有什么呀,有银行账户。那银行账户和这个名字啊,它都属于客户的什么呀,属性啊,太痛苦了。哎呀,各位呀,面向对象的思想不是一天两天的啊,面向对象的思想不是一天两天能够熟练的啊,不是一天两天能够熟练的。你面向对象是需要培养的。
34:02
对,可能有些同学这个客户这个类不知道写,然后在这叭叭叭硬输出是吧,你是不是在这硬编码硬输出,你说system out点打印输出,输出什么什么这个人的名字是吧,这个人的名字咋地咋地咋地啊,在这硬输出,你这个硬输出就不对了,为啥?因为你这个账户是谁的呀,银行卡总得有个主吧,就在这写写一句话,银行卡是不是应该有一个主人。你连个主人都没有,你这块是怎么搞的呀,对不对,你这个主人是谁,就是个对象啊,你是对象你不得是个类吗?是不是。我现在一个Java程序用三个文件,然后就分不清哪个是哪个了,嗯,这也正常,你看我在写的时候,我给大家讲的时候,为了方便讲课啊,为了方便大家理解,我是不是把所有同学都写到一个文件里边啊,但是我说一下啊,这是一种非常非常非常不好的习惯啊,大家一定要分开写啊。对象之间关联不好想,确实这样啊,给我也敲起了一个警钟啊,就是此程序,此程序最难的地方是发现什么,是发现对象之间的什么关联。
35:17
不好发现啊,不好发现这个东西。对,是不好发现这个东西。那杜老师今天讲了,那我觉得你下去之后怎么着啊,你就按照这种思想培养呗,你今天培养一点,明天再培养一点,后天你再培养一点,你培养上一个月,你看看这种程序对于你来说小菜一碟,So easy,你信吗?就说这个东西怎么说,你刚开始接触可能是一脸懵逼,你就说哎呀还能这么写,哎呀,这程序是这样写的哇,那程学这样搞定,感觉很高端大气,上档次,其实也就那那个样子啊,就是那个样子啊。行了,这个东西慢慢来吧,啊慢慢来吧,各位啊,慢慢来慢慢来,别着急啊,别着急,慢慢来慢慢培养啊,慢慢就好了,好不好啊行行。
36:05
嗯,大家先吃饭吧,好吧,嗯。
我来说两句