首页 前端知识 【java面型对象进阶】------继承实例

【java面型对象进阶】------继承实例

2025-03-20 12:03:43 前端知识 前端哥 103 741 我要收藏

继承结构下的标准Javabean

在这里插入图片描述

代码如下:
在这里插入图片描述

package demo10;

//定义员工父类
public class Employee {

    private String id;
    private String name;
    private double salary;


    //构造方法
    public Employee(){

    }

    public Employee(String id,String name,double salary){
        this.id=id;
        this.name=name;
        this.salary=salary;
    }

    //get和set方法
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public double getSalary() {
        return salary;
    }

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


    //成员方法

    public void work(){
        System.out.println("员工在工作");
    }


    public void eat(){
        System.out.println("吃米饭");
    }
}

package demo10;

//经理子类 继承 员工父类
public class Manager extends Employee{

    //成员变量
    private double bonus;

    //构造方法
    public Manager(){
        //super(); //默认存在
    }

    //带全部参数的构造
    //父类 + 子类 所有的成员变量
    public Manager(String id, String name, double salary, double bonus) {
        //将共性传递给父类进行赋值
        super(id, name, salary);
        this.bonus = bonus;
    }

    //get和set方法
    //由于父类中已经存在了id,name,salary对应的get和set方法
    //可以直接通过对象来调用
    //所以这里就不需要再写一遍了
    public double getBonus() {
        return bonus;
    }

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

    //重写父类的work方法
    @Override
    public void work()
    {
        System.out.println("经理管理其他人");
    }
}

package demo10;

//厨师子类 继承 员工父类
public class cook extends Employee{

    //不需要写额外成员变量了
    //cook 需要的成员变量 已经抽取到父类中了



    //构造方法

    public cook() {
        //默认存在
        //super();
    }

    //父类 + 子类 所有的成员变量
    public cook(String id, String name, double salary) {
        //将共性传递给父类进行赋值
        super(id, name, salary);
    }


    //get和set方法
    //由于父类中已经存在了id,name,salary对应的get和set方法
    //可以直接通过对象来调用
    //所以这里就不需要再写一遍了

    //重写父类的work方法
    @Override
    public void work(){
        System.out.println("炒菜");
    }
}

package demo10;

public class test {
    public static void main(String[] args) {
        //全参构造创建经理对象并进行调用
        Manager m = new  Manager("007","张三",15000,5000);


        //子类继承了父类的get和set方法,所以可以直接调用
        System.out.println(m.getId()+","+m.getName()+","+m.getSalary()+","+m.getBonus());

        //调用方法
        m.work();//父类中被重写的方法
        m.eat();//继承自父类的方法

        System.out.println("-----------------");

        //空参构创建厨师对象并进行调用

        cook c=new cook();

        //通过set方法进行赋值
        c.setId("008");
        c.setName("李四");
        c.setSalary(10000);

        //子类继承了父类的get和set方法,所以可以直接调用
        System.out.println(c.getId()+","+c.getName()+","+c.getSalary());

        //调用方法
        c.work();
        c.eat();
    }
}

在这里插入图片描述

转载请注明出处或者链接地址:https://www.qianduange.cn//article/24208.html
标签
评论
发布的文章

动态规划感悟1

2025-03-20 12:03:52

华为NAS真实测评!

2025-03-20 12:03:52

Java设计模式之代理模式

2025-03-20 12:03:51

Linux 锁、线程同步

2025-03-20 12:03:48

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!