Java抽象类与接⼝编程练习
⼀、⾯向抽象编程
7175 编程题 编程语⾔:Java
題⽬內容:
使⽤接⼝或者抽象类编写程序实现显⽰员⼯基本信息。具体要求如下:
(1)使⽤接⼝或者抽象类实现基类Employer(体会接⼝和抽象类的不同),包含姓名、部门和⼯资三个属性,显⽰⼯资的⽅法showSalary()和显⽰奖⾦的抽象⽅法showBonus();提⽰:因每位职⼯奖⾦不同,showBonus()⽅法定义为抽象⽅法,只抽象定义,不具体实现;
(2)定义BasicEmployee和GoodEmployee类,重写Employer类中的⽅法,不同员⼯有不同的⼯资和奖⾦;
(3)定义主类进⾏测试,要求输⼊两个不同的员⼯信息,并输出其个⼈信息。
输⼊输出说明:
输⼊:
张三 前台 5000
李四 开发 6000 4000
输出:
我叫张三,在前台部门,我的⼯资是5000.0
我是普通员⼯,没有奖⾦,加油升级!
我叫李四,在开发部门,我的⼯资是6000.0
我是优秀员⼯,我的奖⾦是4000.0
代码:
import java.util.*;
abstract class Employer {//定义抽象类作为⽗类
String name;//姓名
String department;//部门
double salary;//⼯资
double bonus;//奖⾦
abstract void showSalary();//输出⼯资的抽象⽅法
abstract void showBonus();//输出奖⾦的抽象⽅法
}
class BasicEmployee extends Employer {
BasicEmployee(String n,String d,double s){
this.name=n;
this.department=d;
this.salary=s;
}
void showSalary(){
System.out.printf("我叫%s,在%s部门,我的⼯资是%.1f\n",this.name,this.department,this.salary);
}
void showBonus(){
System.out.printf("我是普通员⼯,没有奖⾦,加油升级!\n");
}
}
class GoodEmployee extends Employer {
GoodEmployee(String n,String d,double s,double b){
this.name=n;
this.department=d;
this.salary=s;
this.bonus=b;
}
void showSalary(){
System.out.printf("我叫%s,在%s部门,我的⼯资是%.1f\n",this.name,this.department,this.salary);
}
void showBonus(){
System.out.printf("我是优秀员⼯,我的奖⾦是%.1f\n",this.bonus);
}
}
public class Main {
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
Employer e;
String ();
String ();
int Int();
e=new BasicEmployee(n1,d1,s1);
e.showSalary();
e.showBonus();
String ();
String ();
int Int();
int Int();
e=new GoodEmployee(n2,d2,s2,b2);
e.showSalary();
e.showBonus();
}
}
⼆、⾯向接⼝编程
7178 编程题 编程语⾔:Java
題⽬內容:
编写⼀个USB接⼝程序,模拟计算机启动过程和关闭过程启动过程中要加载⿏标、键盘、麦克风等USB设备,具体要求如下:(1)定义⼀个接⼝USB,包含两个抽象⽅法turnOn()he turnOff(),分别⽤于表⽰USB设备的启动和关闭
(2)编写⿏标Mouse、键盘KeyBoard、麦克风Mic类,实现接⼝中的turnOn()、turnOff()⽅法,⽅法中显⽰“XX设备启动了”或“XX设备关闭了”即可
(3)编写计算机类Computer,要求有⼀个表⽰计算机上USB插槽数量的数组;添加USB设备的⽅法add(USB usb),功能为遍历所有插槽,如果有空闲的就添加⼀个USB设备
模拟开机启动USB设备的powerOn()⽅法,功能为遍历所有USB接⼝,如果连接了USB设备,则启动USB设备,然后显⽰“计算机开机成功”
模拟关机关闭USB设备的powerOff()⽅法,功能为遍历所有USB接⼝,如果连接了USB设备,则关闭USB设备,然后显⽰“计算机关机成功”
(4)编写测试类,要求建⽴计算机对象,建⽴⿏标、键盘、麦克风对象,并添加到计算机中,启动计算机,关闭计算机
输⼊输出说明:
⽆输⼊;
输出:
⿏标启动了
键盘启动了
麦克启动了
计算机开机成功
⿏标关闭了
键盘关闭了
麦克关闭了
计算机关机成功
代码:
import java.util.*;
interface USB {//定义接⼝
void turnOn();
void turnOff();
}
class Mouse implements USB {
final String name="⿏标";
电脑编程工资多少public String getName(){
return this.name;
}
public void turnOn(){
System.out.printf("%s启动了\n",getName()); }
public void turnOff(){
System.out.printf("%s关闭了\n",getName());
}
}
class KeyBoard implements USB {
final String name="键盘";
public String getName(){
return this.name;
}
public void turnOn(){
System.out.printf("%s启动了\n",getName()); }
public void turnOff(){
System.out.printf("%s关闭了\n",getName());
}
}
class Mic implements USB {
final String name="麦克";
public String getName(){
public String getName(){
return this.name;
}
public void turnOn(){
System.out.printf("%s启动了\n",getName()); }
public void turnOff(){
System.out.printf("%s关闭了\n",getName());
}
}
class Computer {
USB usb[]=new USB[10];//定义USB接⼝数组int number;
public void add(USB u){
usb[++number]=u;
}
public void powerOn(){
for(USB u:usb){
if(u!=null)u.turnOn();
}
System.out.printf("计算机开机成功\n");
}
public void powerOff(){
for(USB u:usb){
if(u!=null)u.turnOff();
}
System.out.printf("计算机关机成功\n");
}
}
public class Main {
public static void main(String[] args){
Computer c=new Computer();
c.add(new Mouse());
c.add(new KeyBoard());
c.add(new Mic());
c.powerOn();
c.powerOff();
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论