Java基础 8.1

Java面向对象练习

1.面向对象练习

package com.logic.homework;

public class Employee {
    private String name;
    private double daySal;
    private int workdays;
    private double garde;

    public Employee(String name, double daySal, int workdays, double garde) {
        this.name = name;
        this.daySal = daySal;
        this.workdays = workdays;
        this.garde = garde;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getDaySal() {
        return daySal;
    }

    public void setDaySal(double daySal) {
        this.daySal = daySal;
    }

    public int getWorkdays() {
        return workdays;
    }

    public void setWorkdays(int workdays) {
        this.workdays = workdays;
    }

    public double getGarde() {
        return garde;
    }

    public void setGarde(double garde) {
        this.garde = garde;
    }

    public void printSal() {
        System.out.println(name + " 工资是" + daySal * workdays * garde);
    }
}
package com.logic.homework;

public class Manager extends Employee {
    private double bonus;

    //创建Manager对象的时候 奖金是多少不能确定 所以构造器中不给bonus 可以通过setBonus
    public Manager(String name, double daySal, int workdays, double garde) {
        super(name, daySal, workdays, garde);
    }

    public double getBonus() {
        return bonus;
    }

    public void setBonus(double bonus) {
        this.bonus = bonus;
    }

    //重写父类的printSal

    @Override
    public void printSal() {
        //因为经理的工资计算方式和员工不一样 所以我们重写打印工资方法
        System.out.println("经理 " + getName() + " 工资是" + (bonus + getDaySal()
                * getWorkdays() * getGarde()));
    }
}
package com.logic.homework;

public class Worker extends Employee {
    public Worker(String name, double daySal, int workdays, double garde) {
        super(name, daySal, workdays, garde);
    }

    @Override
    public void printSal() {
        System.out.print("普通员工 ");
        super.printSal();
    }
}
package com.logic.homework;

public class Homework04 {
    //1.员工类:父类、子类:部门经理类、普通员工类 部门经理工资=1000+单日工资*天数*等级(1.2)。=>奖金 + 基本工资
    //2.普通员工工资=单日工资*天数*等级(1.0):=>基本工资
    //3.员工属性:姓名,单日工资,工作天数
    //4.员工方法(打印工资)
    //5.普遍员工及部门经理都是员工子类,需要重写打印工资方法
    //6.定义井初始化普通员工对象,调用打印工资方法输出工资,定义并初始化部门经理对象调用打印工资方法输出工资

    public static void main(String[] args) {
        Manager manager = new Manager("logic", 400, 24, 1.3);
        //设置奖金
        manager.setBonus(3000);
        manager.printSal();

        Worker jack = new Worker("jack", 200, 24, 1);
        jack.printSal();
    }
}
package com.logic.homework;

public class Teacher {
    private String name;
    private int age;
    private String post;
    private double salary;
    private double grade;//工资级别

    public Teacher(String name, int age, String post, double salary,
                   double grade) {
        this.name = name;
        this.age = age;
        this.post = post;
        this.salary = salary;
        this.grade = grade;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getPost() {
        return post;
    }

    public void setPost(String post) {
        this.post = post;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }

    public double getGrade() {
        return grade;
    }

    public void setGrade(double grade) {
        this.grade = grade;
    }

    public void introduce() {
        System.out.println("name: " + name + " age: " + age + " post: " + post
                + " salary: " + salary + " grade: " + grade);
    }
}


package com.logic.homework;

public class Professor extends Teacher {
    public Professor(String name, int age, String post, double salary, double grade) {
        super(name, age, post, salary, grade);
    }

    @Override
    public void introduce() {
        System.out.println("这是教授的信息");
        super.introduce();
    }
}
package com.logic.homework;

public class Homework03 {
    //编写老师类要求有属性“姓名name”“年龄age”“职称post”“基本工资salary”
    //编写业务方法,introduce(),实现输出一个教师的信息。
    //编写教师类的三个子类:教授类(Professor)、副教授类、讲师类。工资级别分别为:
    //教授为1.3、副教授为1.2、讲师类1.1。在三个子类里面都重写父类的introduce()方法
    //(4)定义井初始化一个老师对象,调用业务方法,实现对象基本信息的后台打印
    public static void main(String[] args) {
        Professor professor = new Professor("logic", 20, "正高级",
                10000, 1.3);
        professor.introduce();
    }
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值