第一题:分析以下需求,并用代码实现
进行描述笔记本类,实现笔记本使用USB鼠标、USB键盘
1.定义USB接口:
开启功能
关闭功能
2.定义笔记本类:
开机功能
关机功能
定义使用USB设备的功能
要求:既能使用鼠标也能使用键盘,使用USB功能内部调用开启和关闭功能
3.定义鼠标类:
要符合USB接口
4.定义键盘类:
要符合USB接口
5.定义测试类:
创建电脑对象,依次调用开机方法,使用USB设备, 关机方法
打印效果如下:
开机
连接鼠标的USB
断开鼠标的USB
连接键盘的USB
断开键盘的USB
关机
/*
进行描述笔记本类,实现笔记本使用USB鼠标、USB键盘
1.定义USB接口:
开启功能
关闭功能
2.定义笔记本类:
开机功能
关机功能
定义使用USB设备的功能
要求:既能使用鼠标也能使用键盘,使用USB功能内部调用开启和关闭功能
3.定义鼠标类:
要符合USB接口
4.定义键盘类:
要符合USB接口
5.定义测试类:
创建电脑对象,依次调用开机方法,使用USB设备, 关机方法
打印效果如下:
开机
连接鼠标的USB
断开鼠标的USB
连接键盘的USB
断开键盘的USB
关机
*/
/*
1.定义USB接口:
开启功能
关闭功能
*/
public interface USB {
public abstract void usbon();
public abstract void usboff();
}
/*
2.定义笔记本类:
开机功能
关机功能
定义使用USB设备的功能
要求:既能使用鼠标也能使用键盘,使用USB功能内部调用开启和关闭功能
*/
public class Computer {
public void run(){
System.out.println("开机");
}
public void off(){
System.out.println("关机");
}
public void useUSB(USB usb){
if (usb instanceof Mouse){
Mouse m=(Mouse) usb;
m.usbon();
m.usboff();
}else if (usb instanceof Keybroad){
Keybroad k=(Keybroad)usb;
k.usbon();
k.usboff();
}
}
}
/*
3.定义鼠标类:
要符合USB接口
*/
public class Mouse implements USB {
@Override
public void usbon() {
System.out.println("连接鼠标的USB");
}
@Override
public void usboff() {
System.out.println("断开鼠标的USB");
}
}
/*
4.定义键盘类:
要符合USB接口
*/
public class Keybroad implements USB {
@Override
public void usbon() {
System.out.println("连接键盘的USB");
}
@Override
public void usboff() {
System.out.println("断开键盘的USB");
}
}
//测试类
public class Test {
public static void main(String[] args) {
Computer c=new Computer();
c.run();
c.useUSB(new Mouse());
c.useUSB(new Keybroad());
c.off();
}
}
//控制台
开机
连接鼠标的USB
断开鼠标的USB
连接键盘的USB
断开键盘的USB
关机
第二题: 分析以下需求,并用代码实现
1.定义动物类:
属性:
年龄
行为:
喝水,吃东西(吃什么不确定)
2.定义游泳接口:
行为:
游泳方法
3.定义狗类:
行为:
吃饭(啃骨头)和 游泳(狗刨)
4.定义羊类:
行为:
吃饭(羊啃草)
5.定义青蛙类:
行为:
吃饭(吃虫子)和 游泳(蛙泳)
6.定义饲养员类:
行为:
饲养动物:包括吃饭和喝水
7.定义测试类:
创建饲养员对象,饲养员调用三次饲养方法:饲养狗,饲养羊,饲养青蛙
要求:
1.子类重写父类中的吃东西方法
2.要求给狗和青蛙添加游泳的方法(实现游泳接口)
3.饲养员类中定义一个方法,传入动物类对象(父类),
调用吃饭方法,如果有游泳方法也需进行测试
4.打印如下格式的结果:
喝水
狗啃骨头
狗会狗刨游泳
喝水
青蛙吃小虫
青蛙会蛙泳
喝水
羊啃草
/*
1.定义动物类:
属性:
年龄
行为:
喝水,吃东西(吃什么不确定)
*/
public abstract class Animal {
private int age;
public void drink(){
System.out.println("喝水");
}
public abstract void eat();
public Animal() {
}
public Animal(int age) {
this.age = age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
/*
2.定义游泳接口:
行为:
游泳方法
*/
public interface Swimming {
public abstract void swimming();
}
/*
3.定义狗类:
行为:
吃饭(啃骨头)和 游泳(狗刨)
*/
public class Dog extends Animal implements Swimming{
@Override
public void eat() {
System.out.println("狗啃骨头");
}
@Override
public void swimming() {
System.out.println("狗会狗刨游泳");
}
}
/*
4.定义羊类:
行为:
吃饭(羊啃草)
*/
public class Sheep extends Animal{
@Override
public void eat() {
System.out.println("羊啃草");
}
}
/*
5.定义青蛙类:
行为:
吃饭(吃虫子)和 游泳(蛙泳)
*/
public class Frog extends Animal implements Swimming{
@Override
public void eat() {
System.out.println("青蛙吃小虫");
}
@Override
public void swimming() {
System.out.println("青蛙会蛙泳");
}
}
/*
6.定义饲养员类:
行为:
饲养动物:包括吃饭和喝水
*/
public class Breeder {
public void method(Animal a) {
if (a instanceof Dog) {
Dog dog = (Dog) a;
dog.drink();
dog.eat();
dog.swimming();
}else if (a instanceof Frog){
Frog f=(Frog) a;
f.drink();
f.eat();
f.swimming();
}else if (a instanceof Sheep){
Sheep s=(Sheep) a;
s.drink();
s.eat();
}
}
}
//测试类
public class Test {
public static void main(String[] args) {
Breeder b=new Breeder();
b.method(new Dog());
System.out.println();
b.method(new Frog());
System.out.println();
b.method(new Sheep());
}
}
//控制台
喝水
狗啃骨头
狗会狗刨游泳
喝水
青蛙吃小虫
青蛙会蛙泳
喝水
羊啃草