置取方法
Getter/Setter方法的使用–java_南歌渔渡的博客-CSDN博客_getter/setter方法的使用
为什么要使用getter和setter?为什么不把属性权限变成public
java中getter 和 setter 方法有什么意义?为什么不用public代替GS
private属性可以有效的保护类的属性中存放的数据,所以我们通常将类的属性定义为private(私有的),能有效防止其他类调用时,修改原有数据
对于OOP,宏观上来说,设计者都在试图做到的一件事情就是如何当好程序中的上帝。通过设计良好的接口(这里的良好指的是不多也不少)来对外暴露一个对象的能力,使得使用者只需要充分了解接口,就可以了解这个对象所能提供的能力。
而使用“方法”来表达对象的能力,同使用“变量”相比,从宏观上来说,没有什么区别,只是形式上的不同。但使用“方法”来表达接口,更容易体现OOP的一个核心理念“隐藏细节”。
作者:Levski
链接:https://www.zhihu.com/question/21401198/answer/18123426
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
setter和getter不仅可以赋值取值,而且还可以在方法中定义其它算法,可以在setter方法中添加条件判断,判断使用setter方法输入的数据是否合法
sette和getter还可以取同样的名字,他会根据你的使用方式取辨别你是取值还是赋值
叫同一个名的方法,可以根据形参实参不同区分调用哪个方法
题干:
设计一个公共类工人类Worker,属性有姓名、年龄、工资和级别,所有属性均为私有属性。设计一个方法display()显示工人的基本信息,至少设计两个构造方法,为所有属性添加置取方法。设计测试类Test,创建Worker类的对象,调用相应的置取方法,设置和获取工人的工资属性。
程序运行结果如下:
name=Tom
age=20
salary=5000.0
level=Junior
—–
name=Jerry
age=30
salary=9000.0
level=MiddleRank
after modify,Work2 salary=10000.0
main方法的代码如下:注意不要修改main类的代码,否则会扣分!!
分为两个JAVA文件
1.Worker.java
public class Worker {
//私有属性
private String Name;
private int Age;
private double Salary;
private String Level;
//空构造方法
public Worker(){}
//3个形参的构造方法
public Worker(String Name,int Age,double Salary,String Level){
this.Name = Name;
this.Age = Age;
this.Salary = Salary;
this.Level = Level;
}
//置取方法
//name
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
//age
public int getAge() {
return Age;
}
public void setAge(int age) {
Age = age;
}
//salary
public double getSalary() {
return Salary;
}
public void setSalary(double salary) {
Salary = salary;
}
//level
public String getLevel() {
return Level;
}
public void setLevel(String level) {
Level = level;
}
//display方法
public void display(){
System.out.println("name="+Name);
System.out.println("age="+Age);
System.out.println("salary="+Salary);
System.out.println("level="+Level);
}
}
2.Test.java
public class Test {
public static void main(String[] args) {
Worker wOne = new Worker();
wOne.setName("Tom");
wOne.setAge(20);
wOne.setSalary(5000);
wOne.setLevel("Junior");
wOne.display();
System.out.println(" -----");
Worker wTwo = new Worker("Jerry", 30, 9000, "MiddleRank");
wTwo.display();
wTwo.setSalary(10000);
System.out.println("after modify,Work2 salary=" + wTwo.getSalary());
}
}
今天的文章JAVA第七次作业《构造方法和置取方法》分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/63554.html