JAVA第七次作业《构造方法和置取方法》

JAVA第七次作业《构造方法和置取方法》置取方法Getter/Setter方法的使用java_南歌渔渡的博客-CSDN博客_getter/setter方法的使用为什么要使用getter和setter?为什么不把属性权限变成publicjava中getter

置取方法

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方法输入的数据是否合法

JAVA第七次作业《构造方法和置取方法》
判断年龄,是否合法

 

JAVA第七次作业《构造方法和置取方法》
这里年龄使用setter方法赋值,但给的值是-5

 

JAVA第七次作业《构造方法和置取方法》
年龄不合法,输出提示,不会赋值,输出初始空值

 

sette和getter还可以取同样的名字,他会根据你的使用方式取辨别你是取值还是赋值

叫同一个名的方法,可以根据形参实参不同区分调用哪个方法

JAVA第七次作业《构造方法和置取方法》
这里取名都是getName

 

JAVA第七次作业《构造方法和置取方法》
根据实参不同区分调用哪个方法

 

JAVA第七次作业《构造方法和置取方法》

题干:

设计一个公共类工人类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第七次作业《构造方法和置取方法》

分为两个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

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注