ForNext
Only Do What Only You Can Do
Proxy
VBScript
JScript
Perl
PHP
Python
Ruby
PowerShell
Scala
F#
C
C++
C++Builder
VC++
C#
Java
更新日 : 2010.11.25
■ MyClass
public interface MyClass { public String getName(); }
■ MyClassA
public class MyClassA implements MyClass { public String getName() { return "Suzuki"; } }
■ MyProxy
// classA の 代理人クラス // classA と 同じインターフェースを使用 public class MyProxy implements MyClass { private MyClass classA; public MyProxy(String isReal) { // 本物のクラスを使用 if (isReal.equals("1")) classA = new MyClassA(); } public String getName() { // 代理人クラスを使用 if (classA == null) return "dummy"; // 本物のクラスを使用 return classA.getName(); } }
■ MyMain
public class MyMain { public static void main(String args[]) { // 代理人クラスを使用しているか、 // 本物のクラスを使用しているか、わからない MyClass classA = new MyProxy(args[0]); System.out.println(classA.getName()); } }
L:\>java MyMain 0 dummy L:\>java MyMain 1 Suzuki