首页 > 其他分享 >抽象类抽象方法例题

抽象类抽象方法例题

时间:2024-09-25 10:03:43浏览次数:9  
标签:salary String public Staff 抽象 抽象类 例题 id name

假如我们在开发一个系统时需要对员工类进行设计,员工包含3个属性:姓名、工号以及工资。
经理也是员工,除了含有员工的属性外,另为还有一个奖金属性。
请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。
点击查看代码
/*
    假如我们在开发一个系统时需要对员工类进行设计,员工包含3个属性:姓名、工号以及工资。
    经理也是员工,除了含有员工的属性外,另为还有一个奖金属性。
    请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。
 */


abstract class Staff{
    String name;
    String id;
    int salary;
//构造方法
    public Staff() {
    }

    public Staff(String name, String id, int salary) {
        this.name = name;
        this.id = id;
        this.salary = salary;
    }
//定义一个抽象方法,子类继承需要重写
    public abstract void work();
}

class Worker extends Staff{

    public Worker() {
    }

    public Worker(String name, String id, int salary) {
        super(name, id, salary);
        //继承父类的name,id,salary,格式(父类的构造方法里的参数)
    }

    @Override
    //对于父类的work()进行重写
    public void work() {
        System.out.println("普通员工敲代码");
    }
}

class Manager extends Staff{

    int common;

    public Manager() {
    }

    public Manager(String name, String id, int salary, int common) {
        //不仅仅要继承父类的构造方法里的参数也要在this 一个新的参数common
        super(name, id, salary);
        this.common = common;
    }

    @Override
    public void work() {
        System.out.println("经理做PPT");
    }
}

public class AbstractText {
    public static void main(String[] args) {
        //父子关系
        Staff s1 = new Worker("王骏", "sj1001", 10000); // 抽象多态
        s1.work();

        Staff s2 = new Manager("李娜","sj1002",6000,200000);
        s2.work();
    }
}

标签:salary,String,public,Staff,抽象,抽象类,例题,id,name
From: https://www.cnblogs.com/wangxiaojian-lina/p/18430713

相关文章

  • 【每周例题】蓝桥杯 C++ 生物芯片
    生物芯片题目生物芯片题目分析·1.下面是亮灯规律,剩下的以此类推:我们可以看到,不亮灯的都是n的平方 2.所以亮灯的数目=该区间内所有灯的数量-不亮灯的数目(简而言之,所有不亮灯的号码开方后都是整数)代码#include<iostream>#include<cmath>usingnamespacestd;......
  • 数据结构 ——— 常见的时间复杂度计算例题(最终篇)
    目录前言例题1:例题2(例题1的延申):例题3:前言在前两章分析了不少常见的时间复杂度计算例题,有固定执行N次的,也有要分情况看待的数据结构———常见的时间复杂度计算例题(上篇)-CSDN博客数据结构———常见的时间复杂度计算例题(中篇)-CSDN博客接下来要分析的是递归算法的......
  • 链表-栈例题
    MT2135调整队伍马蹄集:链表小码哥迎来了他大学的第一次军训,军训的第一个项目就是列队,每个同学在队伍中都有属于自己的编号。但在练习过程中,教官怎么看这支队伍怎么不顺眼,于是决定调整一下队伍的顺序。为了顺便考验同学们的反应力,教官与学生们约定了一个口令,每当他说xy0,x号同学......
  • 专业学习|动态规划(概念、模型特征、解题步骤及例题)
    一、引言(一)从斐波那契数列引入自底向上算法(1)知识讲解(2)matlap实现递归(3)带有备忘录的遗传算法(4)matlap实现带有备忘录的递归算法“;”是为了不显示中间的计算结果;“==”双等号表示判断;“tic、toc”运算开始和结束的时间;(5)采用自低向上的算法进行求解和代码实现(二......
  • 单调栈 详解+例题
    昨天打AT碰到了一道单调栈的题,于是来复习一下单调栈栈内元素单调性有单调递增栈和单调递减栈实现:举个例子:假设入栈序列为142893要模拟一个单调递增栈:\(i=1\)时,栈为空,\(1\)入栈后仍然保持单调性,将\(1\)入栈;\(i=2\)时,栈顶元素为\(1\),\(4\)入栈后......
  • 【JavaWeb从入门到精通系列】 - JavaSE基础篇(1) - 抽象,静态,单例设计模式
    一、抽象1、存在意义似是而非的,像却又不是;具有某种特征,但不完整。Animal仅是一种会吃会睡的对象,再无其他行为,不够具体,不够完整。程序是用来模拟现实世界,解决实际问题的,现实世界中存在的都是动物具体的子类对象,并不存在动物对象,所以,Animal不应该被独立创建成对象。如何......
  • 第六章 抽象类和接口
    接口publicinterfaceMyInterface{publicvoidfoo();//其他方法}//所有方法默认都是://publicabstract必须知道的接口特性接口不可以被实例化实现类必须实现接口的所有方法实现类可以实现多个接口implements、多个接口使用逗号隔开接口中的变量都是静态常量(publ......
  • 数据结构 ——— 常见的时间复杂度计算例题(上篇)
    目录前言例题1:例题2:例题3:例题4:前言在上一章讲解了时间复杂度的概念,以及用大O的渐进表示法表示时间复杂度数据结构———算法的时间复杂度-CSDN博客接下来利用C语言代码的例题,更深一步的掌握用大O的渐进表示法表示代码的时间复杂度例题1:代码演示:voidFunc......
  • 抽象工厂模式-设计模式
    抽象工厂模式(AbstractFactoryPattern)在Java中是一种非常有用的设计模式,用于创建一系列相关或相互依赖的对象,而无需指定它们具体的类。这个模式提供了一种创建对象的最佳方式,它封装了创建对象的细节,并允许客户依赖于抽象类型而不是具体类型。以下是一个简单的Java案例,展示了抽象工......
  • Spring Cloud 5.3: 将多工程整合成多模块工程-构建配置抽象
    我们已经将EurekaService工程和Gateway工程分别做成了demo-springcloud工程的两个模块,到这有一个不大不小的问题:有一些配置及依赖是每个模块都会用到的,难道每新建一个模块都要重新拷贝一遍配置?答案当然是NoNoNo!我们可以把一些通用的配置及依赖项抽象到父级模块(或者顶级的工程)下,......