通过继承来扩展接口
2017-05-29 12:49
127 查看
package interfaces.filter;
/**
* 通过继承来扩展接口
*
* */
interface Monster{
void menace();
}
interface DangerousMonster extends Monster{
void destroy();
}
interface lethal{
void kill();
}
class DragonZilla implements DangerousMonster{
@Override
public void menace() {
// TODO Auto-generated method stub
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
}
//在Vampire中使用的语法仅适用于接口继承。
//一般情况下,只可以将extends用于单一类,但是可以引用多个基类接口。
interface Vampire extends DangerousMonster,lethal{
void drinkBlood();
}
class VeryBadVampire implements Vampire{
@Override
public void kill() {
}
@Override
public void destroy() {
}
@Override
public void menace() {
}
@Override
public void drinkBlood() {
}
}
public class HorrorShow {
static void u(Monster b){b.menace();}
static void v(DangerousMonster d){
d.menace();
d.destroy();
}
static void w(lethal l){l.kill();}
public static void main(String[] args){
DangerousMonster barney = new DragonZilla();
u(barney);
v(barney);
Vampire vlad = new VeryBadVampire();
u(vlad);
v(vlad);
w(vlad);
}
}
/**
* 通过继承来扩展接口
*
* */
interface Monster{
void menace();
}
interface DangerousMonster extends Monster{
void destroy();
}
interface lethal{
void kill();
}
class DragonZilla implements DangerousMonster{
@Override
public void menace() {
// TODO Auto-generated method stub
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
}
//在Vampire中使用的语法仅适用于接口继承。
//一般情况下,只可以将extends用于单一类,但是可以引用多个基类接口。
interface Vampire extends DangerousMonster,lethal{
void drinkBlood();
}
class VeryBadVampire implements Vampire{
@Override
public void kill() {
}
@Override
public void destroy() {
}
@Override
public void menace() {
}
@Override
public void drinkBlood() {
}
}
public class HorrorShow {
static void u(Monster b){b.menace();}
static void v(DangerousMonster d){
d.menace();
d.destroy();
}
static void w(lethal l){l.kill();}
public static void main(String[] args){
DangerousMonster barney = new DragonZilla();
u(barney);
v(barney);
Vampire vlad = new VeryBadVampire();
u(vlad);
v(vlad);
w(vlad);
}
}
相关文章推荐
- 从头认识java-7.5 怎样通过继承扩展接口?
- 【38】通过继承扩展接口
- 一种巧妙的设计--通过继承扩展接口
- MVC扩展控制器工厂,通过继承DefaultControllerFactory来决定使用哪个接口实现,使用Ninject
- Java之通过继承来扩展接口
- 通过继承来扩展接口
- 通过继承来扩展接口
- ORM中的继承关系映射全解——单表继承体系、一实体一具体表、一实体一扩展表、接口映射
- 通过继承实现edit控件的拖拽文件功能扩展的一般步骤
- [zz]通过win32扩展接口使用 Python获得系统进程列表的方法
- C#拾遗系列(9):继承、接口、扩展方法、分部类、类操作、Ref and Out、可空类型
- MVC扩展Filter,通过继承HandleErrorAttribute,使用log4net或ELMAH组件记录服务端500错误、HttpException、Ajax异常等
- 通过IExtenderProvider接口实现控件属性扩展
- 《Effective C#》读书笔记——条目22:通过定义并实现接口替代继承<使用C#表达设计>
- MVC扩展ValueProvider,通过实现IValueProvider接口创建SessionValueProvider
- C#中通过类来继承两个接口,父类实例化接口中的方法,子类继承父类,调用方法
- Silverlight页面通过继承扩展实现
- C#基础:通过一个实例来学习IFormattable接口,扩展方法
- [转]ORM中的继承关系映射全解——单表继承体系、一实体一具体表、一实体一扩展表、接口映射
- 类继承接口, 通过接口对象new继承类的类(包含派生类),调用对象方法,其实其第一个接口继承的