`
sd_zyl
  • 浏览: 44705 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

double dispatcher

阅读更多
public class Feeder {
	public void feed(Animal animal) {
		System.out.println("feed Animal.");
	}
	public void feed(Dog dog) {
		System.out.println("feed Dog: " + dog.eat());
	}
	public void feed(Cat cat) {
		System.out.println("feed Cat: " + cat.eat());
	}
}

public interface Animal {
	String eat();
}

public class Dog implements Animal {

	 @Override
 	public String eat() {
 		return "骨头";
	 }

}


public class Main {

	public static void main(String[] args) {
		Animal a = new Dog();
		Feeder feeder = new Feeder();
		feeder.feed(a);//print: feed Animal.
	}

}

public interface Animal {
	String eat();
	void bindFeeder(Feeder feeder);
}
public class Dog implements Animal {

	@Override
	public String eat() {
		return "骨头";
	}

	@Override
	public void bindFeeder(Feeder feeder) {
		feeder.feed(this);
	}

}
public class Main {

	public static void main(String[] args) {
		Animal a = new Dog();
		Feeder feeder = new Feeder();
		a.bindFeeder(feeder);//print:feed Dog: 骨头
	}

}
分享到:
评论

相关推荐

    servlet+jsp求复数

    public Complex(double real, double imaginary) { this.real = real; this.imaginary = imaginary; } // Getter and Setter methods // ... // Overriding toString() for better display @Override ...

    test-double-flux:UI 状态与应用程序状态的分离

    1. **Flux架构**:了解Flux的基本概念,包括Dispatcher、Store、Actions和React Components之间的交互。 2. **状态管理**:学习如何有效地管理UI状态和应用程序状态,以及它们之间的区别。 3. **Double-Flux**:研究...

    基于wpf skiasharp的光线投影法碰撞检测投篮小游戏源码.zip

    Dispatcher.Invoke(() => { skContainer.InvalidateVisual(); }); _ = SpinWait.SpinUntil(() => false, 1000 / 60);//每秒60帧 } catch { break; } } }); ``` ## 弹球实体代码 (Ball.cs) ```csharp ...

    silverlight制作超炫超酷图片旋转动画效果的示例代码

    using System.Windows.Dispatcher; using System.Windows.Media.Imaging; ``` - 这些命名空间提供了创建Silverlight应用所需的基本类库。 2. **定义类 `ImageSpace3D`:** ```csharp namespace ImageSpace...

    mvc_javaweb_servlet_

    RequestDispatcher dispatcher = request.getRequestDispatcher("result.jsp"); dispatcher.forward(request, response); } } ``` **五、部署与运行** 完成上述代码后,我们需要将项目打包成WAR文件,部署到...

    编写jsp页面实现如下界面效果,然后交给servlet计算矩形的周长和面积,并输出结果。

    double length = Double.parseDouble(lengthStr); double width = Double.parseDouble(widthStr); double perimeter = 2 * (length + width); double area = length * width; request.setAttribute("length",...

    wpf进度条设计

    uploadProgress.Value = (int)(uploadedBytes / (double)totalSize * 100); }); } }); uploadProgress.Value = 100; } ``` 在上面的代码中,`UploadFile_Click` 是一个按钮点击事件处理函数,它启动一个异步...

    绘制波形图

    double[] waveformData = new double[1000]; // 填充数据... ``` 3. **绘制波形**:在C#代码后面,创建一个`Path`或`Line`元素并设置其属性。对于波形图,`Polyline`可能更合适,因为它可以连接一系列点。下面是一...

    WPF ProgressBar实现实时进度效果

    我们将 ProgressBar 的值更新为当前的进度值,并使用 Dispatcher.Invoke 方法来更新 ProgressBar 的值。此外,我们还使用 Thread.Sleep 方法来模拟费时的操作。 最后,我们将在 XAML 中添加一个按钮,用于触发进度...

    代码分析JAVA中PCM人声音频变声处理

    public static InputStream speechPitchShift(final InputStream rawPcmInputStream,double speedFactor,double rateFactor) { TarsosDSPAudioFormat format = new TarsosDSPAudioFormat(16000,16,1,true,false); ...

    akka-actor-demo:从 http 请求发送和接收演示

    final case class Result ( x : Int , s : String , d : Double ) case object Request implicit val timeout = Timeout ( 5 seconds) // needed for `?` below val f : Future [ Result ] = for { x < - ask...

    使用Java Web开发框架实现一个简单的在线商城.txt

    double price = Double.parseDouble(request.getParameter("price")); products.put(id, new Product(id, name, price)); response.sendRedirect("/onlineStore"); break; case "delete": int id = Integer....

    WPF通过线程使用ProcessBar的方法详解

    这里的`Convert.ToDouble`和`Convert.ToString`是为了确保数值转换为正确的数据类型。 代码示例中的进程条效果是在循环执行100次后达到100%,每次循环等待10毫秒,总共2秒。这展示了如何实时反映后台任务的进度。 ...

    WPF 倒计时+窗体抖动

    this.Dispatcher.Invoke(() => { this.Left = left; this.Top = top; }); Thread.Sleep(50); // 控制抖动速度 } } ``` 2. 调用`ShakeWindow`方法,例如在倒计时结束时: ```csharp timer_Tick(object sender, ...

    两个多线程小程序

    //dispatcher void dispatch() { DWORD Status; timer tm; tm.start(); //srand(time(NULL)); long step = STEP;//ceil(double(TEST/10)); handlenum = 0; for (int i = 1; i ;) { i += step; handlenum...

    Java Web应用开发:展示全部商品.docx

    RequestDispatcher dispatcher = request.getRequestDispatcher("/showProducts.jsp"); dispatcher.forward(request, response); } catch (Exception e) { e.printStackTrace(); } } } } ``` ##### 2.6 修改...

    简易计算器

    在简易计算器项目中,我们将用到变量定义、数据类型(如int、double用于数值计算)、控制结构(如if语句、switch case用于条件判断)以及方法(函数)定义等基础知识。 2. **Windows Phone SDK**:Windows Phone ...

    JAVA笔试题集合版不错

    - Java有八种基本数据类型,包括数值型(byte, short, int, long, float, double)、字符型(char)和布尔型(boolean)。String是一个对象,属于引用类型,而非基本数据类型。基本数据类型直接存储值,而引用类型...

    silverlight进度条

    progressBar.Value = (currentItem / (double)totalItems) * 100; }); currentItem++; } ``` ### 5. 性能优化与用户体验 在处理大量数据或长时间运行的任务时,确保不要阻塞UI线程。可以使用`BackgroundWorker...

    DWR开发培训电子书

    - **总控制器(Dispatcher)**:接收来自JS引擎的请求,将它们转发到正确的Java方法。 - **组件执行器(Executor)**:执行实际的Java方法,并将结果返回给客户端。 - **数据转换器(Converter)**:负责在Java对象...

Global site tag (gtag.js) - Google Analytics