类的编写模板之简单Java类
阅读原文时间:2023年07月08日阅读:3

简单Java类是初学java时的一个重要的类模型,一般由属性和getter.setter方法组成,该类不涉及复杂的逻辑运算,仅仅是作为数据的储存,同时该类一般都有明确的实物类型。如:定义一个雇员的类,定义一个教师的类,定义一个工人的类….

简单java类开发要求

  • 注意:如果需要定义多个构造方法,则将构造方法按照参数个数的升序或者降序排列

编写一个简单java类该部门类里面需要包含部门编号 部门名称 部门位置三个核心属性

  //编写一个简单java类
 public class Dept{//该类表示部门本身存在意义

     private long deptno;//封装部门编号
     private String dname;//封装部门名称
     private String loc;//封装部门位置
     public Dept(){};//必须定义无参构造
     public Dept(long deptno,String dname,String loc){
         this.deptno=deptno;
         this.dname=dname;
         this.loc=loc;
     }
     //类中的属性必须使用setter和getter方法设置和获得
     public long getDeptno(){
         return this.deptno;
     }
     public String getDname(){
         return this.dname;
     }
     public String getLoc(){
         return this.loc;
     }
     public void setDeptno(long deptno){
         this.deptno=deptno;
     }
     public void setDname(String dname){
         this.dname=dname;
     }
     public void setLoc(String loc){
         this.loc=loc;
     }
     //输出对象的信息不直接输出 要返回给调用处处理
     public String getInfo(){//没有特定说明该方法固定为getInfo()
         return"部门编号:"+this.deptno+"部门名称:"+this.dname+"部门位置:"+this.loc;
     }
     public static void main(String[]args){

         Dept de=new Dept(3443,"java进阶编程实战工作室","中国");
         System.out.println(de.getInfo());
     }
 }

简单java类的拓展---带有部分业务逻辑

//编写增强版简单Java类--带有部分业务逻辑
public class Employee{

    private String emname;//封装姓名
    private long emno;//封装员工编号
    private double salary;//封装员工工资
    private double rate;//增长额
    public Employee(){//必须提供无参构造
        this(1000,"无名氏",0.0,0.0);

    }
    public Employee(long emno){
        this(emno,"新员工",3000.0,0.01);
    }
    public Employee(long emno,String emname,double salary){
        this(emno,emname,salary,0.05);
    }
    public Employee(long emno,String emname,double salary,double rate){
        this.emno=emno;
        this.emname=emname;
        this.salary=salary;
        this.rate=rate;
    }
    //必须提供getter setter方法
    public long getEmno(){
        return this.emno;
    }
    public String getEmname(){
        return this.emname;
    }
    public double getSalary(){
        return this.salary;
    }
    public double getRate(){
        return this.rate;
    }
    public void setEmno(long emno){
        this.emno=emno;
    }
    public void setEmname(String emname){
        this.emname=emname;
    }
    public void setSalary(double salary){
        this.salary=salary;
    }
    public void setRate(double rate){
        this.rate=rate;
    }
    //输出对象信息用return
    public String getInfo(){
        return "员工编号:"+this.emno+"员工姓名:"+this.emname+"员工工资:"+this.salary;
    }
    //进行增长后工资的计算方法
    public double salaryValue(){
        this.salary=this.salary*(1+this.rate);
        return this.salary;
    }

    public static void main(String[]args){
        Employee em=new Employee(2455,"张三",10000,0.01);
        System.out.println("增长后的薪资为:"+em.salaryValue());

    }
}

其实通过这些代码可以发现,当给对象赋值的时候,都没有经过setter函数,其实该处是没有必要经过setter函数的,setter函数主要是对传入属性合理性的判断,我们这里设置的参数,传入的值基本上都可以,在一些特殊的属性 如:年龄,就必须通过setter进行合理性的判断