java关于多态的题_Java基础之:OOP——多态练习题

本文通过三个应用案例详细介绍了Java中的多态特性。案例包括:1)教师类及其子类教授、副教授、讲师的实现,展示不同职称的工资计算;2)员工类及其子类如工人、农民、教师、科学家和服务生的全年工资计算;3)图形类及其子类圆形和矩形的周长和面积计算。每个案例都展示了多态在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java基础之:OOP——多态练习题

应用案例1:

编写教师类

要求有属性“姓名name”,“年龄age”,“职称post”,“基本工资salary”

编写业务方法, introduce(),实现输出一个教师的信息。

编写教师类的三个子类:教授类(professor)、副教授类(vice professor)、讲师类(lecturer)。

工资级别分别为:教授为1.3、副教授为1.2、讲师类1.1。在三个子类里面都重写父类的introduce()方法。

定义并初始化一个老师对象,调用业务方法,实现对象基本信息的后台打印。

package polymorphic_HomeWork;

public class WorkTest_01 {

public static void main(String[] args) {

Teacher professor = new Professor("小范",20,"professor",4000.0);

Teacher viceProfessor = new ViceProfessor("小黄",18,"ViceProfessor",3000.0);

Teacher lecturer = new Lecturer("小雨",19,"lecturer",2000.0);

System.out.println(professor.introduce());

System.out.println(viceProfessor.introduce());

System.out.println(lecturer.introduce());

}

}

//要求有属性“姓名name”,“年龄age”,“职称post”,“基本工资salary”,

//编写业务方法, introduce(),实现输出一个教师的信息。

class Teacher{

private String name;

private int age;

private String post;

private double salary;

public Teacher(String name, int age, String post, double salary) {

super();

this.name = name;

this.age = age;

this.post = post;

this.salary = salary;

}

public Teacher() {

super();

}

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;

}

//introduce(),实现输出一个教师的信息。

public String introduce() {

return "Teacher [name=" + name + ", age=" + age + ", post=" + post ;

}

}

//教授类(professor)

class Professor extends Teacher{

private double level;

public Professor(String name, int age, String post, double salary) {

super(name, age, post, salary);

this.level = 1.3;

}

public double getLevel() {

return level;

}

public void setLevel(double level) {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值