Aufg 52 class KomplexDiskr { // Direkte Summe, Varianten static final int komplex=0, reell=1, imaginär=2; int diskr; // Diskriminante, Selektor KomplexDiskr(int D){diskr=D;} // Teil-Konstruktor mit Init. KomplexDiskr(){} // Teil-Konstruktor ohne Init. } class Komplex extends KomplexDiskr { // 1. Variante double Re, Im; // Selektoren Re, Im Komplex(double r, double i) { // Konstruktor mit Init. super(komplex); Re=r; Im=i; } Komplex(){super(komplex);} // Konstruktor, nur Diskriminante // Konstruktor ohne Init.: Automatisch } class Reell extends KomplexDiskr { // 2. Variante double Re; Reell(double r) { // Konstruktor mit Init. super(reell); Re=r; } Reell(){super(reell);} // Konstruktor, nur Diskriminante // Konstruktor ohne Init.: Automatisch } class Imaginaer extends KomplexDiskr { // 3. Variante double Re, Im; Imaginaer( double i) { // Konstruktor mit Init. super(imaginär); Im=i; } Imaginaer(){super(imaginär);} // Konstruktor, nur Diskriminante // Konstruktor ohne Init.: Automatisch } Komplex x = new Komplex(1,1); Reell y = new Reell(2); Imaginaer z = new Imaginaer(3); Komplex s = new Komplex(); s.Re = x.Re + y.Re; s.Im = x.Im + z.Im; System.out.println("s = 1+i + 2 + 3i =" + s.Re + " + " + s.Im + "i"); Traegermenge: {Bottom} und { komplex, reell, imaginär } x G und { komplex, reell, imaginär } x G x G