interface IntEv //
{
void Handler (int a, String b);
}
class Source //
{
IntEv intEv; //
public Source (IntEv intEv)
{
this.intEv= intEv;
}
// Handler
public void Fire (int x, String s)
{
intEv.Handler (1, "one");
}
}
class Receiver implements IntEv //
{
//
public void Handler (int a, String b)
{
System.out.println ("a= " + a + " b= "+ b);
}
}
public class TestEv
{
public static void main ()
{
Receiver r= new Receiver (); //
Source s= new Source (r); //
//
//
s.Fire (5,"five");
}
}
( )
import java.util.*;
interface IntEv //
{
void Handler (int a, String b); //
}
class Source //
{
ArrayList aL; //
public Source ()
{
aL= new ArrayList();
}
//
public void addListener (IntEv iE)
{
aL.add(iE);
}
//
public void Fire (int x, String s)
{
for(int i=0;i<aL.size(); i++)
{
IntEv iE=(IntEv) aL.get(i);
iE.Handler(x, s);
}
}
}
class Listener implements IntEv //
{
int n;
public Listener (int N) {n= N;}
//
public void Handler (int a, String b)
{
System.out.println ("n= " + n + " a= " + a + " b= "+ b);
}
}
public class TestEv
{
public static void main ()
{
Listener r1= new Listener (1); //
Listener r2= new Listener (2); //
Source s= new Source (); //
s.addListener(r1); //
s.addListener(r2); //
//
s.Fire (5,"five");
}
}
, ,
import java.util.*;
class OurEvent // ()
{
private int x;
private String s;
public OurEvent (int X, String S)
{x= X; s= S;}
public int getX() {return x;}
public String getS() {return s;}
}
interface OurListener //
{
void Handler (Object sender, OurEvent oE);
}
class OurSouceEvent //
{
ArrayList aL= new ArrayList ();//
//
public void addOurListener (OurListener oL)
|
|
{
aL.add (oL);//
}
//
public void removeOurListener(OurListener oL)
{
aL.remove (oL);//
}
//
public void fireOurEvent (int a, String b)
{
OurEvent oE= new OurEvent (a, b);
for (int i= 0; i<aL.size(); i++)
{
OurListener oL= (OurListener) aL.get(i);
oL.Handler (this, oE);
}
}
}
class Source1 extends OurSouceEvent //
{
}
class Source2 extends OurSouceEvent //
{
// fireOurEvent
public void fireOurEvent (int a, String b)
{super.fireOurEvent (a+10,b+" plus ten");}
}
class Receiver implements OurListener //
{
//
public void Handler (Object sender, OurEvent oE)
{
System.out.print ("source= " + sender.GetType());
System.out.println (" a= " + oE.getX() + " b= "+ oE.getS());
}
}
public class TestEv
{
public static void main ()
{
Receiver r= new Receiver (); //
Source1 s1= new Source1 (); //
//
s1.addOurListener (r);
//
s1.fireOurEvent (5,"five");
/////
Source2 s2= new Source2 (); //
//
s2.addOurListener (r);
//
s2.fireOurEvent (5,"five");
}
}
7) . .
8) . .
9) . .
10) . .
11) , -, , .
3. #
using System;
Using System.Threading;
class TestThread
{
static void Main ()
{
// TestThread
TestThread tT= new TestThread ();
//
Thread t= new Thread (new ThreadStart(tT.SumC));
t.Start(); //
}
void SumC () //
{
int a= 10, b= 14, c=0;
for(int i=a;i<b; i++)
{
Console.WriteLine ("i= "+ i);
c= c+i;
Thread.Sleep (10);
}
Console.WriteLine ("c= "+ c);
}
}
using System;
Using System.Threading;
class ThreadObject //
{
int num; //
public ThreadObject (int N)
|
|
{
num= N;
// SumC()
Thread t= new Thread (new ThreadStart(this.SumC));
t.Start (); //
}
//
Void SumC ()
{
int a= 10, b= 14, c=0;
for(int i=a;i<b; i++)
{
Console.WriteLine ("num= = "+ num +"i= "+ i);
c= c+i;
Thread.Sleep(10);
}
Console.WriteLine("c= "+ c);
}
}
class TestThread
{
static void Main ()
{
//
ThreadObject tO1= new ThreadObject (1);
//
ThreadObject tO2= new ThreadObject (2);
}
}
12) . .