Zitat:
Zitat von Zyrano Wie läuft das mit dem Programmieren eigentlich ab (so allgemein) ich hatte das nie in der Schule und somit 0 (0 im Sinne von GAR nix) Ahnung |
hallo
ich denke das kann ich mal in einem kleinen beispiel erklären.
ich nehme dazu ein kleines java-programm aus meinem studium.
das programmbeispiel ist für die die programmieren können wirklich simpelst, aber es zeigt schon wie im allgemeinen befehle interpretiert werden.
also
hier ist erstmal die main class, sowas wie eine hauptdatei oder startdatei.
Code:
public class TestBruch1
{
public static void main(String[] args)
{
Bruch1 t = new Bruch1(-1,6);
Bruch1 u = new Bruch1(4,5);
Bruch1 temp = new Bruch1();
System.out.print("Die Brüche\n");
t.print();
u.print();
System.out.print("Addition\n");
temp = t.add(u);
temp.print();
System.out.print("Multiplikation\n");
temp = t.mult(u);
temp.print();
}
}
dies hier ist eine objektklasse.
eine klasse definiert objekte und beinhaltet die memberfunktionen. das sind funktionen, die das objekt beeinflussen können.
Code:
public class Bruch1
{
public int zähl, nenn ;
public int bruchAnzahl = 0 ;
public Bruch1() // Bruch-Konstruktor mit 0 Argumenten
{
this.zähl = 0 ; this.nenn = 1 ; ++bruchAnzahl ;
}
public Bruch1(int zähl) // Bruch-Konstruktor mit 1 Argument
{
this.zähl = zähl ; this.nenn = 1 ; ++bruchAnzahl ;
}
public Bruch1(int zähl, int nenn) // mit 2 Argumenten
{
this.zähl = zähl ; this.nenn = nenn ; ++bruchAnzahl ;
}
public Bruch1 add(Bruch1 a) // Arithmetische Operationen +
{
Bruch1 temp = new Bruch1 ();
temp.zähl = zähl + a.zähl;
temp.nenn = nenn + a.nenn;
return (temp);
}
public Bruch1 mult(Bruch1 a) // Arithmetische Operationen *
{
Bruch1 temp = new Bruch1 ();
temp.zähl = zähl * a.zähl;
temp.nenn = nenn * a.nenn;
return (temp);
}
public void print() // Ausgabe des Bruches
{
System.out.print(this.zähl + "/" + this.nenn +"\n") ; }
}
ich gehe jetzt das programm durch. wobei ich nicht auf jeden befehl eingehe, sondern einfach mal den ablauf schildere.
das programm fängt an, wo public static void main... usw steht.
das hier
Bruch1 t = new Bruch1(-1,6);
Bruch1 u = new Bruch1(4,5);
Bruch1 temp = new Bruch1();
legtim prinzip variablen an. diese variablen kann man mit allen daten füllen die man will. zb 1 oder 2 oder 'hallo'
da diese variablen aber vom typ bruch sind kann man nur brüche reinschreiben. wie zb 1/2 oder 2/3.
diese variable ist eine instanz des objektes bruch1.
eine instanz ist quasi eine version des objekts.
stell dir ein auto vor. es hat 4 räder ein lenkrad, motor und sitze.
das objekt ist nun ein auto.
du erstellst eine instanz des objektes bruch und nennst sie audi.
nun sagst du die räder sollen breit und das lenkrad klein, der motor stark und die sitze aus leder sein.
du macht eine 2. instanz und nennst sie vwkäfer. nun sagst du das lenkrad ist riesig, der motor lächerlich, die räder klein und die sitze aus stoff.
beide instanzen sind autos und definieren sich durch die räder , motor usw, enthalten aber andere informationen, bzw sind anders ausgestattet.
der computer weiss was brüche sind, weil es hier:
public Bruch1(int zähl, int nenn) // mit 2 Argumenten
{
this.zähl = zähl ; this.nenn = nenn ; ++bruchAnzahl ;
}
so festgelegt wurde. es ist die definition eines bruches mit nenner und zähler. was da jetzt im einzelnen steht ist erstmal unwichtig und ist recht einfach zu erlernen wenn man es nachliesst, aber das würde jetzt hier zu lange dauern.
die nächste zeile heisst
System.out.print("Die Brüche\n");
das ist ganz simpel die ausgabe des textes : "die brüche" auf dem bildschirm.
jetzt kommt
t.print();
wir haben ja oben eine variable t angelegt und mit dem wert -1 und 6 initialisiert, also angelegt. der bruch ist hier quasi -1/6.
t ist quasi der bruch -1/6.
so da die variable vom typ bruch1 ist weiss der computer, daß die funktionen
public Bruch1 add(Bruch1 a)
public Bruch1 mult(Bruch1 a)
und
public void print()
, die in der klasse dieses objekts drinstehen mit dem t benutzt werden können.
t.print();
heisst hier einfach
drucke die variable t aus. also mach sie auf dem bildschirm sichtbar.
denn in der funktion
public void print()
steht eine System.out.print anweisung drin.
mit diesen funktionen der klasse kann man also instanzen beeinflussen und bearbeiten.
das gleiche passiert nun mit der instanz u.
danach kommt wieder eine ausgabe des textes "addition"
bei temp = t.add(u);
wird nun der bruch t und u addiert, mit hilfe der funktion
public bruch1 add(bruch1 a) in der klasse bruch1 und das ergebnis wird in die instanz / variable temp geschrieben.
temp wird ausgegeben.
das gleiche passiert jetzt auch mit der multiplikation.
die brüche werden multipliziert mit hilfer der mult-funktion der klasse bruch1 und das ergebnis ausgegben.
mehr macht das programm nicht.
ich hoffe wirklich, es hat dir etwas gezeigt wie programme arbeiten.
wenn nicht..... schade. aber ich denke in büchern wird das alles sehr ausführlich erklärt und man führt dich langsam an die sache heran und erschlägt dich nicht mit befehlen.
vieleicht kaufts du dir einfach mal ein buch zu einer programmiersprache.
wenn du nochwas spezifisches wissen willst, frag.