00:00
那行,那为什么就突然之间又拐到这儿了呢吗?我们刚才是讲到哪儿了,是讲到封装对不对,哎讲到封装,那封装这一块呢,我们首先第一个大家还记不记得我们这个程序这一块,是不是把属性已经私有化了,我们对外要提供这个set方法,对外要提供什么呀?Get方法是不是get方法用来读是不是,哎,Set方法是不是用来改啊。好。那我问大家一个问题,这个get和set方法。应该带有static。还是不应该有斯代蒂克。就是说get。和set方法应该定义为实例方法吗?大家先思考这个问题。就是这个get和set方法应该定义为实例方法吗?还是说我们定义成什么呀。
01:00
实例方法。好,为什么?因为get set获取的,Get获取的是这个年龄,改的是这个年龄吧,那我问你改的年龄,每一个人的年龄是不是都不一样?所以改年龄和读年龄是不是读的是一个人的年龄,是一个对象的年龄,对吧?读年龄和改年龄是不是改了一个对象的年龄?对吧?Get读年龄改年龄。这个读和。都是。操作的一个对象的年龄对吧,没有对象何来年龄啊。没有对象,何来年龄啊?是不是啊,所以说这块呢,记住记住啊,封装的第二步,封装的第二步。
02:05
是什么?第一步就是。属性私有化。第二步就是对外提供公开的。Set方法和get方法作为什么呀,操作入口。啊。并且这两个方法都不带有代立克啊,并且都。不带static。都是实例方法各位啊,那么这会儿public来各位,首先我们先来看get方法。一个方法这块还记不记得方法它有什么样的一个语法结构,什么修饰符列表啊,返回值返回。
03:00
值类型啊,对吧,方法名啊,然后是形式参数列表啊,对不对,哎,那么接下来我们在这一块是不是可以把这个修饰符里边写一下,原先我们一直写public static,是不是现在sta不写了,那么紧接着返回值类型呢?你假如说要定义成get方法的话。它的反馈类型应该是什么?钙的方法主要的目的是为了读这个年龄对吗?是不是读这个年龄嘛,那读这个年龄是不是我们调钙的方法,它应该返回一个int类型是不是啊。对吧?哎,那么接下来我们叫get什么呀?Age,这个get方法应不应该传参数啊,就对于我外部的程序来说,我调你get age方法,目的是为了获取你这个age属性的值。对不对,哎,所以说呢,我就getage参数怎么着,哎,参数你不需要跟啊,无参数直接在大括号里边干什么呀,返回什么呀,Age就可以了。
04:05
Return,这就是哎,叫做get方法。对,注意啊,这叫get方法,那么再来一个叫什么呀?叫做set方法,大家想想,Set方法首先第一个是不是也是公开的,Sta是不是也不带呀?对吧,哎,不带这个sta,再往下返回值类型,我问你set方法,目的是为了改这个年龄对吧。那你这个方法应不应该有返回值啊,不返回任何值啊,对吧,所以返回类型是void,那那个叫getage,这个叫什么呀?叫setage呗。是不是,哎,Set,那你setage大家想一想,我们是不是在将来会在外部程序。会在外部这个程序。在这一块干什么呀,我们要读的话。不要用什么。Get age方法是不是我们要改调用什么?Set age方法是不是大家想我们将来在这儿是不是会调用我们P?
05:08
他的set age,我比如说给他年龄传一个什么呀,100,那但相当于这个100是不是就是个参数。这个100这个参数就传给谁呢?传给这个地方的setage,所以这个地方的参数类型是int类型。对吧,我们叫年龄。那么得有参数,各位啊,得有参数,得有参数啊,然后接下来把这个年龄付给谁啊,付给这个age,把age呢拿过来,把年龄变量怎么着啊,哎,给它传过来放到这儿,这样的话我们赛盖的方法就写完了,我们对对外部来说,这个属性是私有化,私有化的对外部是访问不了的,但是我们对外部提供了两个操作入口。外部程序可以通过这个方法来干什么,读取我们这个内存的数据,外部可以通过这个方法去干什么去。去修改我们这块内存上的数据啊set,当我们调set方法的时候,在这里可以给他传一个什么呀,哎,参数过来是不是,哎,传个参数过来,那么调钙的方法的话就不需要传参了啊,不需要传参了,好。
06:15
那么注意啊,注意注意Java规范,Java开发规范中有要求set方法和get方法。要满足以下格式。注意啊,Public返回值类型叫get加什么属性名首字母大写括号,无参。啊,午餐啊,这是get方法的一个要求啊,你以后按照这个来啊get方法的要求,那么set方法的要求是public返回值类型是什么呀?是VD。
07:08
然后呢,叫S加什么加属性名首字母大写啊,这地方有一个参数啊,然后在这个里边直接固定return。Return啊,某某某就行了,这边呢,你需要某某某等于什么呀,哎。参数。这个参数啊参数。Get的方法有这样一个固定模型,各位有同学老师,我就不按照这种方式去写咋地吧?不能把你怎么地啊。只不过你写的那个代码啊,如果不是按照这种固定格式来的。那么将来你这个程序不够通用,我只能现在告诉大家这样一个坏消息啊,如果你不听话,你将来可能会面临着一个什么呀,你写的代码不通用的一个一个一个处境,各位啊,大家尽量按照Java规范中要求的与呃要求的这个格式。
08:13
提供什么呀?Set和get方法。啊,尽量要求要求这个,呃,尽量按照这个要求来提供这个塞盖的方法啊,如果不按照,如果不按照这个规范格式来,那么你的程序将不是一个通用的程序。啊,不是一个通用的程序。啊,将来我告诉大家啊,在开发的时候,像这种set get方法根本就不需要你写。以后呢,你会有一个集成开发工具。明白吧,有了这个集成开发工具之后,Set get方法是可以生成的,点右键8SET get方法全部生成了。
09:02
所以生成的那些方法,它都是符合这个格式的。你明白我的意思吧,所以你听话就没问题,不听话就有问题啊来,我再问大家这个为什么没为什么没有加static,原因是都是什么实例方法。这些方法的调用都是对象参加的,你需要把对象先拗出来,然后呢通过引用去访问这些方法,因为这些方法它呢访问的是年龄,而年龄呢,它是一个对象级别的。我不知道这样大家能不能理解啊,这个年龄是每个人都不一样,对吧,每个人年龄不同,年龄值不同。对象级别的属性,那么这个年龄这个数据啊,你是要你是在这个方法里边干什么,访问这个对象的一个对象的一个一个年龄,你这个里边也是访问什么呀,一个对象的一个什么年龄,所以这个方法的执行应该是应该是有对象才能去执行这个方法,有对象才能执行这个方法,这个方法不能加static啊,不能加sta get set法都是不加static的,Get set都是不加static,而且它有格式啊,Get方法返回值类型有S的方法的返回类型是Y的,然后get的方法是没有参数,S方法是有一个参数的,这个参数传过来目的就是给它赋值的。
10:17
这地方没有参数,只是为了读啊,只是为了读啊。
我来说两句