Einführung in die objektorientierte Programmierung

Erstes Java-Programm statisch

public class person{
static String nachname="Karaus";
static String vorname="Martina";
int Geb=0; // JJJJMMTT
int PLZ=0;
String Str="";
String Ort="";

public static void drucken(){
System.out.println(vorname+" "+nachname);
}

public static void main(String[] args){
String name=args[0];
//System.out.println("Hallo "+name);
drucken();
}
}

Person mit Objekterzeugung

public class pers{
private String nachname="";
private String vorname="";
private int Geb=0; // JJJJMMTT
private int PLZ=0;
private String Str="";
private String Ort="";

public pers(String vn,String nn){
nachname=nn; vorname=vn;
}

public pers(String vn){
vorname=vn;
}

public void set_nachname(String nn){
nachname=nn;
}

public void drucken(){
try{
if (nachname=="") System.out.println(vorname);
else System.out.println(vorname+", "+nachname);
int n= 1/9; System.out.println(n);
}
catch (ArithmeticException e){
System.out.println(e);
}
}

public static void main(String[] args){
int zahl=Integer.parseInt(args[0]); System.out.println(zahl);
pers p1=new pers("Martina","Karaus");
pers p2=new pers("Uwe");
p2.set_nachname("Mylatz");
p1.drucken();
p2.drucken();
if (p1==p2) System.out.println("gleich");
else System.out.println("ungleich");

}
}

Binärer Baum


public class Baum {
static Knoten wurzel;
 public static void einfuegen(int wert){
   if (wurzel==null) wurzel=new Knoten(wert);
   else wurzel.einf(wert);
 }
 public static void main(String[] args) {
   einfuegen(602);
   einfuegen(444);
   einfuegen(521);
   einfuegen(450);
   einfuegen(857);
   einfuegen(666);
   einfuegen(300);
   einfuegen(600);
   einfuegen(220);
   einfuegen(800);
   wurzel.ausgabe();
   System.out.println(wurzel.summe());
 }
}
public class Knoten {
private int wert;
private Knoten links, rechts;
 public void einf(int wert){
   if (wert<this.wert){
     if (links!= null) links.einf(wert);
     else links=new Knoten(wert);
   }
   else {
     if (rechts!=null) rechts.einf(wert);
     else rechts=new Knoten(wert);
   }
 }
   
 Knoten (int wert){
   this.wert=wert;
 }
   
 public void ausgabe(){
   if (links!=null) links.ausgabe();
   System.out.println(wert);
   if (rechts!=null) rechts.ausgabe();
 }
   
 public int summe(int sum){
   if (links!=null) sum=links.summe(sum);
   sum=sum+wert;
   if (rechts!=null) sum=rechts.summe(sum);
   return sum;
 }
 public int summe(){
   int sum=0;
   if (links!=null) sum=links.summe();
   sum=sum+wert;
   if (rechts!=null) sum=sum+rechts.summe();
   return sum;
 }
}
 

Schnittstellen

Datei Test

interface List{
int len();
boolean isempty();
Object first();
Object last();
List rest();
void append(Object o);
void print();
List remove(Object o);
List removeLast(Object o, int n);
}
public class Test{
 public static void main(String[] argf) {
   Test.test(new PList());
   }
   
   static void test(List l){
   for (int i=0;i<6;i++) l.append(new Integer(i));
   l.append(new Integer(2));
   l.append("Hallo World");
   l.print();
   System.out.println();
   
   l.removeLast(new Integer(2),3);
   l.print();
   System.out.println();
   
   }
   }


Datei PList
public class PList implements List{
   Object o=null;
   PList n=null; PList v=null;
 public int len() {
   PList h=this;
   if (h.n==null) return 0;
   int i=1;
   while (h.n!=this){
   i++; h=h.n;
   }
   return i;
   }
   
   public boolean isempty(){
   if (this.n==null) return true;
   else return false;
   }
   
   public Object first(){
   return this.o;
   }
   
   public Object last(){
   if (this.isempty()) return null;
   return this.v.o;
   }
 public List rest(){
   if (this.isempty()) return null;
   if (this.len()==1) return null;
   return this.n;
   }
   
   public void append(Object o){
   if (this.n==null){
   this.o=o; this.n=this;this.v=this;
   }
   else{
   PList l=new PList();
   l.o=o;
   l.n=this; l.v=this.v;
   this.v.n=l; this.v=l;
   
   }
 }
     
   public void print(){
   if (this.n==null){
   return;
   }
   else{
   System.out.println(this.o.toString());
   }
   PList l=this;
   while (l.n!=this){
   l=l.n; System.out.println(l.o.toString());
   }
   }
 public List remove(Object o){
   return null;
   }
 public List removeLast(Object o,int n){
   if (this.n==null) return this;
   PList l=this;
   int i=0;
   while (i<n && l.v!=this){
   l=l.v;
   if (l.o.equals(o)){
   i++; l.n.v=l.v; l.v.n=l.n;
   }
   }
   return this;
   }
}