请老师批改,还有两个问题,谢谢!
来源:1-13 编程练习
常善
2019-06-17 17:01:55
既然类属性设置了私有,那么每一次对象实例化对属性赋值的时候应该采用在带参构造方法中调用set的方法来执行,虽然别的同学直接用 this.administrator=administrator运行没有问题,但是下面setAdministrator()方法写出来的意义何在?不知道我的理解有没有错误,请老师解惑!另外还有一个不解的是,练习题的用户管理类中的是一个默认有返回值的方法,但其实我们本能的会用void然后直接采用输出的方式,。那么请问这样有什么不一样呢?
1回答
1、同学写的不错,不过还有个小建议,&可以改为&&,这样只要用户名不一致,就不会去判断密码是否一致了。,提高了代码的效率。同学下次不要只截图哦,这样老师不便于测试你的代码,同学可以复制粘贴一下。
2、关于同学的问题:
1)按照同学的写法是完全没有问题的,在构造方法中调用set方法。不过,当你的set方法中并没有做什么限制条件的时候,直接写this.administrator=administrator也是没有问题的。而同学所疑惑的它的意思是什么,是因为,我们第一次创建对象,给属性赋值时可以用带参构造赋值,而要想修改这个对象的属性时,就要用到set方法了。否则,你要是想通过构造方法来修改属性值,那同学就是new 了另一个对象了。而不是修改了原来对象的属性值。不过,同学的写法会更好。
2)有无返回值是需要看,调用这个方法做判断后,你是否需要得到一个结果去做其他操作。
同学这里是返回了一个字符串,这样和直接打印确实没有什么区别。
但是如果根据业务需要,我们需要通过判断是否一致来是否进行下边的登录呢?这个时候返回值就有用了,可以让他返回一个布尔值,这样,返回true就可以让它登录成功,返回false就让他重新去登录。
这个时候,我们不只要的是打印输出一下,我们还需要用这个返回值进行其他的操作的时候。需要有返回值。如果只是在控制台输出即可的话,是否有返回值是没有区别的。都可以。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题