抽象类抽象方法例题
假如我们在开发一个系统时需要对员工类进行设计,员工包含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();
}
}
合集:
java实际应用
标签:
abstract应用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!