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

黑马day11 装饰类

时间:2015-07-02 10:19:54      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:装饰类

如果要修该一个类中的某个方法一共有三种方法:继承,写一个装饰类,动态代理

这里我主要介绍装饰类:

1.写一个interface Animal

package com.itheima.pool;
public interface Animal {
public void eat();
public void bite();
}

2.写一个Dog类继承Animal接口:

package com.itheima.pool;
public class Dog implements Animal{
public void eat(){
System.out.println("dog is eatting...");
}
public void bite(){
System.out.println("dog is bitting...");
}
}

3.写一个装饰类DecorateDog类同时也继承和Dog同样的接口:

在这个类中提供了一个构造方法,有一个Animal的接口参数,为了是在new DecorateDog的时候传入Dog对象....相当于多态

package com.itheima.pool;
public class DecorateDog implements Animal{
private Animal ani=null;
public DecorateDog(Animal ani){
this.ani=ani;
}
@Override
public void eat() {
ani.eat();
}
@Override
public void bite() {
System.out.println("dog is mie mie....");
}
}

4.写一个测试类DogTest

package com.itheima.pool;
public class DogTest {
public static void main(String[] args) {
Dog dog= new Dog();
Animal ani=new DecorateDog(dog);
ani.bite();
}
}

5.运营结果:

技术分享

结果运行的是mie mie...这是因为调用了装饰类中被修改的方法。

版权声明:本文为博主原创文章,未经博主允许不得转载。

黑马day11 装饰类

标签:装饰类

原文地址:http://blog.csdn.net/u014010769/article/details/46715207

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