Wichtig ist nicht so sehr das Programm - dafür gab es eine Programmkommission, die wir hier nicht näher betrachten wollen - als vielmehr eine hohe Mitgliederzahl ("Volkspartei"!), um schnell Einfluß zu gewinnen und an die Fleischtöpfe zu gelangen. Das ist aber vorläufig noch Zukunftsmusik, und deshalb konzentrieren wir uns auf die Gründungsveranstaltung. Wir haben eine Halle mit 5000 Sitzplätzen gemietet; mit seiner Eintrittskarte erhält jeder Besucher auch sein Parteibuch. Es sollen aber nur vertrauenswürdige Parteigänger hereingelassen werden - Hinz und Kunz, mit denen kennen wir uns aus - , andere müssen leider draußen bleiben, wie etwa Krethi und Plethi, deren Schreibweise uns schon mißfällt, kurzum, wir brauchen eine Einlaßkontrolle. Wer schon mal mit einem Programmierer gesprochen hat, der weiß, daß es Events gibt, hat vielleicht auch von Exceptions gehört, eventuell sogar von Listener>n. Klingt, als könnten wir etwas davon brauchen.
public class Volkspartei extends Partei implements OpinionListener
// Volkspartei erbt alle Eigenschaften und Methoden
// der Klasse Partei und bekommt einen Listener
{
public Volkspartei(meineLeute) // sogenannter Konstruktor
{
int meineMitgliederZahl = 0; // wichtig, nur integre Mitglieder zu haben
boolean meinProgramm = true; // ein wahres Programm, behaupten wir jedenfalls
this.meineParteiGenossen = meineLeute;
// nur damit es keine Verwechslungen gibt
}
boolean meineTuerIst Offen = true;
String meinKandidat;
meinKandidat.addOpinionListener; // jedem Kandidaten wird ein "Meinungsforscher" assoziiert
Volkspartei meinePartei = new Volkspartei(HinzUndKunz); // die Gründung beginnt
meinKandidat.drawOpinion(); // wollen mal sehen, was da für Leute kommen
public void drawOpinion()
{
while (meineTuerIst Offen) // die Tür wird erst beim 5000ten Mitglied geschlossen
{
try // Einlaßkontrolle durch Saalordner
{
if (meineParteiGenossen.indexOf(meinKandidat) != -1 );
// wenn der Kandidat ein HinzUndKunz ist
meineMitgliederZahl++;
else programmVerkaufen(meinKandidat); // sonst mit AgitProp-Material beeinflussen
} catch (divergentOpinionException d)) { // kritische Kandidaten abfangen
einlassVerweigern(meinKandidat);
}
if (meineMitgliederZahl == 5000)
{ meineTuerIst Offen = false; } // der Sall ist voll, Tür zu
}
}
public void programmVerkaufen(unsichererKantonist)
{
// hier nach Vorhandensein politisches Material für teures Geld
// verkaufen, als Lockmittel Werbegeschenke o.ä. verteilen
// z.B. unsichererKantonist.getMoney();
}
public void einlassVerweigern(unterMensch)
{
// hier können nach Belieben Maßnahmen gegen unerwünschte
// Kandidaten festgelegt werden, je nach Gemüt und Stimmung
// z.B unterMensch.set Executable(true) oder ähnliches
}
}
}