moin, ich versuche jetz seit einiger Zeit die objektorientierte Programmierung zu verstehen.....
aber irgendwie blicke ich da noch nicht so richtig durch. Mal ein Beispiel mit einigen Fragen.
[code=Java]class MyTest{
public MyTest(int a){ // Konstruktor 1
i = a;
j = true;
}
public MyTest(int a,boolean b){ // Konstruktor 2
i = a;
j = b;
}
public MyTest(boolean b){ // Konstruktor 3
i = 3;
j = b;
}
public int i;
public boolean j;
}
public class MyClass{
public static void main(String[] args){
MyTest object1 = new MyTest(1);
MyTest object2 = new MyTest(2,true);
MyTest object3 = new MyTest(false);
System.out.println(object1.i +" "+ object1.j);
System.out.println(object2.i +" "+ object2.j);
System.out.println(object3.i +" "+ object3.j);
}
}
//1 true
//2 true
//3 false[/code]
1. Variablen "public int i" "public boolean j" sind Instanzvariablen ?
1.1 die Variablen die für alle Konstruktoren gelten werden in der classe MyTest initialisiert ?
2. auf sie kann auch vom Hauptprogramm aus zugegriffen werden ?
3. sie können auch vom Hauptprogramm aus verändert werden weil public ?
4. oder können sie nur in der class MyTest verändert warden ?
5. MyClass kann lediglich auf sie zugreifen ?
6. Zeile 25, 26, 27 es werden Objekte/Instanzen von den Konstruktoren erstellt ?
7. wieso müssen Objekte erstellt werden ?
7. wenn ich das Programm compiliere werden 2 Dateien erstellt MyClass und MyTest
was ist der Sinn dahinter könnte man nicht komplett das ganze Programm in MyClass schreiben ?