码迷,mamicode.com
首页 > 其他好文 > 详细

抽象类实现多个接口与接口的继承的对比,实现良好的设计模式!

时间:2015-04-28 23:05:10      阅读:315      评论:0      收藏:0      [点我收藏+]

标签:java   继承   设计模式      interface   

//少说废话,上代码:
import java.util.*;

interface Instrument
{
	static final int i = 2;
	void tune();
}

//测试多个接口的测试

interface Chord
{
	void shake();
}

interface RockCase
{
	void cover();
}

//利用抽象类的情况;
abstract class Sum implements Chord, RockCase, Instrument
{
	abstract public void tune();
	abstract public void shake();
	abstract public void cover();

}

interface  Sum_2 extends Chord, RockCase, Instrument
{
	//有次可以发现,一般情况下, extends 由于单一类,但是可以引用多个基类的接口,只要用逗号以一分开就好了;
}


//本质是实现也是继承

class Piano implements Instrument
{
	public void tune (){
		System.out.println("钢琴的声音");
	}
}

class Drum implements Instrument
{
	public void tune(){
		System.out.println("鼓的声音");
	}
}

class Violine implements Instrument
{
	public void tune(){

		System.out.println("小提琴的声音");
	}
}

class Erhu implements Instrument
{
	public void tune (){
		System.out.println("二胡的声音");
	}
}

class Flute extends Sum
{
	public void tune(){
		System.out.println("笛子再吹");
	}

	public void shake(){
		System.out.println("空气在震动");
	}
	public void cover(){
		System.out.println("箱子装起来笛子了,笛子不吹了!");
	}
}

class Flute_2 implements Sum_2
{
	public void tune(){
		System.out.println("笛子再吹");
	}

	public void shake(){
		System.out.println("空气在震动");
	}
	public void cover(){
		System.out.println("箱子装起来笛子了,笛子不吹了!");
	}
}



public class InterfaceTest
{
	public static void test(Sum a){
		System.out.println("这是实现了接口的符合的使用的情况!");
		a.tune();
		a.shake();
		a.cover();
	}

	public static void test_2(Sum_2 a){
		System.out.println("这是实现了接口的符合的使用的情况!");
		a.tune();
		a.shake();
		a.cover();
	}


	public static void main(String[] args){
		System.out.println("------------  1");
		System.out.println("这是接口的测试");
		
		Flute f = new Flute();
		f.tune();
		f.shake();
		f.cover();

		System.out.println("------------  2");
		
		test(new Flute());

		System.out.println("------------  3");
		//利用接口实现多重接口继承的情况; 
		test_2(new Flute_2());
		//接口的实现,利用抽象类,实现多重接口的复用;
	}
}

希望能帮上大家!


小红旗-2015/4/28



抽象类实现多个接口与接口的继承的对比,实现良好的设计模式!

标签:java   继承   设计模式      interface   

原文地址:http://blog.csdn.net/happylaoxu/article/details/45340173

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!