抽象类与接口

【实验十三】

2、分析程序结果并验证

abstract class a1{
	abstract int add(int x,int y,int z);
}
interface a2 {
	int add(int x,int y);
}
class PacDemo extends a1 implements a2 {
	   public int add(int x,int y,int z) 	{
int sum;sum=x+y+z;
		   return sum;
	   }
		public  int add(int x,int y) {
int sum;sum=x+y+1000;
		    return sum;
		}
  public static void main(String args[]) {
	   PacDemo calc=new PacDemo();
	   int sum=calc.add(10,20);
	   System.out.println("the addition is:"+sum);
int sum2=calc.add(10,20,30);
	   System.out.println("the addition is:"+sum2);
}
}

the addition is:1030
the addition is:60

3、定义一个接口CanFly,描述会飞的方法public void fly();分别定义类飞机和鸟,实现CanFly接口。定义一个测试类,测试飞机和鸟,在main方法中创建飞机对象和鸟对象,让飞机和鸟起飞。

interface Canfly{
	 public abstract void fly();
}
public class Brid implements Canfly{
	public void fly() {
		System.out.println("鸟会飞");
	}
}
public class plan implements Canfly{
	public void fly() {
		System.out.println("飞机会飞");
	}
}
public class Main {
	public static void main(String args[]) {
		plan p = new plan();
		Brid b = new Brid();
		p.fly();
		b.fly();
	}
}

4、P126 任务4-1 USB接口程序。

interface usb {
	void turnon();
	void turnoff();
}
class jianpan implements usb{
	public void turnon() {
		System.out.println("键盘打开了");
	}
	public void turnoff() {
		System.out.println("键盘关上了");
	}
}
class shubiao implements usb{
	public void turnon() {
		System.out.println("鼠标打开了");
	}
	public void turnoff() {
		System.out.println("鼠标关上了");
	}
}
class erji implements usb{
	public void turnon() {
		System.out.println("耳机打开了");
	}
	public void turnoff() {
		System.out.println("耳机关上了");
	}
}
public class Computer {
		usb[] u = new usb[4];
		public void add(usb usb1) {
			for(int i = 0;i<u.length;i++) {
				if(u[i] == null) {
					u[i] = usb1;
					break;
				}
			}
		}
		public void on() {
			for(int i=0;i<u.length;i++) {
				if(u[i] !=null) {
					u[i].turnon();
				}
			}
			System.out.println("开机");
		}
		public void off() {
			for(int i=0;i<u.length;i++) {
				if(u[i] !=null) {
					u[i].turnoff();
				}
			}
			System.out.println("关机");
		}
}
public class Mian {
	public static void main(String arg[]) {
		Computer c =new Computer();
		c.add(new jianpan());
		c.add(new shubiao());
		c.add(new erji());
		c.on();
		System.out.println();
		c.off();
	}
}

5、小狗在不同环境条件下可能曾现不同的状态,小狗通过调用cry()方法体现自己的当前的状态。要求用接口封装小狗的状态。具体要求如下。
(1)编写一个接口DogState,该接口有一个名字为void showState()的方法。
(2)编写Dog类,该类中有一个DogState接口声明的变量state。另外,该类有一个cry()方法,在该方法中让接口state回调showState()方法。即Dog对象通过cry()方法来体现自己目前的状态。
(3)编写若干个实现DogState接口的类,负责刻画小狗的各种状态。
(4)编写主类,在主类中用Dog创建小狗,并让小狗调用cry方法体现自己的状态。程序运行参考效果如图7.12所示。
程序模板
请按模板要求,将【代码】替换为Java程序代码。

CheckDogState.java
interface DogState {
    public void showState();
}
class SoftlyState implements DogState {
	public void showState(){
		System.out.pringtln(“在主人面前,听主人的命令”);
	}
   【代码1//重写public void showState()
}
class MeetEnemyState implements DogState {
	public void showState(){
		System.out.pringtln(“遇到敌人狂叫,并冲向去狠咬敌人”);
	}

    【代码2//重写public void showState()
}  
class MeetFriendState implements DogState {
	public void showState(){
		System.out.pringtln(“遇到朋友晃动尾巴,表示欢迎”);
	}

    【代码3//重写public void showState()
}
class Dog {
   DogState  state;
   public void cry() {
      state.showState();
   }
   public void setState(DogState s) {
      state = s;
   }
}
public class E {
   public static void main(String args[]) {
      Dog yellowDog =new Dog();
      yellowDog.setState(new SoftlyState());
      yellowDog.cry();
      yellowDog.setState(new MeetEnemyState());
      yellowDog.cry();
      yellowDog.setState(new MeetFriendState());
      yellowDog.cry(); 
   }
}  
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值