@@ -405,7 +405,27 @@ \section{Konstruktoren}
405405
406406\end {frame }
407407
408- % TODO some example here
408+ \begin {frame }[fragile]{this-Referenz}
409+ \begin {exampleblock }{}
410+ \ begin{lstlisting} [language=Java]
411+ Dog odie = new Dog("Odie");
412+ Dog struppi = new Dog("Struppi");
413+
414+ odie.sayName();
415+ struppi.sayName();
416+ \end {lstlisting }
417+
418+ \end {exampleblock }
419+
420+ \begin {exampleblock }{Ausgabe}
421+ \ begin{lstlisting} [language=Java]
422+ Wauwau wau Odie
423+ Wauwau wau Struppi
424+ \end {lstlisting }
425+
426+ \end {exampleblock }
427+
428+ \end {frame }
409429
410430\begin {frame }{Mehrere Konstruktoren}
411431 Java erlaubt es, \textit {mehrere } Konstruktoren zu definieren.
@@ -453,33 +473,78 @@ \section{Konstruktoren}
453473
454474\section {Methoden }
455475
456- \begin {frame }{Methoden}
457- \begin {exampleblock }{}
458- Methoden beschreiben das Verhalten von Objekten.
459- \end {exampleblock }
460-
476+ \begin {frame }[fragile]{Methoden}
477+ Methoden \dots
461478 \begin {itemize }
462- \item Methoden können Berechnungen durchführen
463- \item Methoden können den Zustand des Objekts verändern
464- \item \dots
479+ \item beschreiben das Verhalten von Objekten
480+ \item können Berechnungen durchführen
481+ \item können Werte züruckgeben
482+ \item können den Zustand des Objekts verändern
465483 \end {itemize }
466484
467- \end {frame }
468485
469- \begin {frame }{Parameter}
470- body
486+
471487\end {frame }
472488
473- \begin {frame }{Formaler Parameter - Aktueller Parameter}
474- body
489+ \begin {frame }[fragile]{Parameter}
490+ \begin {itemize }
491+ \item Ein Parameter ist eine spezielle Variable, welche einen an eine Methode übergebenen Wert beinhaltet.
492+ \pause
493+ \item Es wird zwischen \textbf {formalen } und \textbf {aktuellen } Parametern unterschieden:
494+ \begin {itemize }
495+ \item Formaler Parameter: Der Name, der bei der Deklaration der Methode gewählt wurde
496+ \item Aktueller Parameter: Der Wert, der beim Aufruf für den formalen Parameter eingesetzt wird
497+ \end {itemize }
498+ \end {itemize }
499+
500+ \pause
501+ \begin {exampleblock }{Beispiel}
502+ \ begin{lstlisting} [language=Java]
503+ public Dog(String name) { ... } // formaler parameter
504+
505+ String someName = "Odie";
506+ Dog odie = new Dog(someName); // aktueller parameter
507+ \end {lstlisting }
508+ \end {exampleblock }
509+
475510\end {frame }
476511
477512\begin {frame }{Lokale Variablen}
478- body
513+ \textbf {Lokale Variablen }
514+ \begin {itemize }
515+ \item sind Hilfsspeicher für Zwischengrößen in Methoden
516+ \item werden auf dem \textbf {Stack } abgelegt
517+ \item existieren nur, solange die Methode abgearbeitet wird
518+ \item \alert {werden nicht automatisch initialisiert}
519+ \end {itemize }
479520\end {frame }
480521
481- \begin {frame }{Rückgabetyp void}
482- body
522+ \begin {frame }[fragile]{Lokale Variablen}
523+ \begin {exampleblock }{Beispiel}
524+ \ begin{lstlisting} [language=Java]
525+ public void swapCoordinates() {
526+ int temp = this.x; // lokale hilfsvariable
527+ this.x = this.y;
528+ this.y = temp;
529+ }
530+ \end {lstlisting }
531+ \end {exampleblock }
532+
533+ \end {frame }
534+
535+ \begin {frame }[fragile]{void}
536+ Der Rückgabetyp \texttt {void } wird verwendet, wenn eine Methode \textbf {keinen Wert zurückgeben } soll.
537+
538+ \begin {exampleblock }{Beispiel}
539+ \ begin{lstlisting} [language=Java]
540+ public void setXCoordinate(int x) {
541+ this.xCoordinate = x;
542+ }
543+ \end {lstlisting }
544+ \end {exampleblock }
545+
546+
547+
483548\end {frame }
484549
485550\begin {frame }{Wert - Referenz}
@@ -498,11 +563,69 @@ \section{Methoden}
498563 body
499564\end {frame }
500565
501- \begin {frame }{Main}
502- Die \texttt {main }-Methode ist eine statische Methode.
566+ \begin {frame }[fragile]{Main}
567+ Die \texttt {main }-Methode:
568+ \begin {itemize }
569+ \item ist eine statische Methode
570+ \item markiert den Startpunkt des Programms
571+ \end {itemize }
572+
573+ \begin {exampleblock }{\texttt {main }}
574+ \ begin{lstlisting} [language=Java]
575+ public static void main(String argv[]) {
576+ // do something...
577+ }
578+ \end {lstlisting }
579+
580+ \end {exampleblock }
581+
503582
504583\end {frame }
505584
585+ \begin {frame }[fragile]{argv[]}
586+ \texttt {argv[] } enthält die Parameter, welche in der Kommandozeile an das Programm übergeben werden.
587+ \pause
588+ \begin {exampleblock }{Kommandozeile}
589+ \ begin{lstlisting}
590+ % java MyProgram 42 -v 9000 foo
591+ \end {lstlisting }
592+ \end {exampleblock }
593+
594+ \end {frame }
595+
596+ \begin {frame }[fragile]{argv[]}
597+
598+ \begin {exampleblock }{Im Programm}
599+ \ begin{lstlisting} [language=Java]
600+ public class MyProgram {
601+
602+ public static void main(String argv[]) {
603+ System.out.println("argv[0] ist " + argv[0]);
604+ System.out.println("argv[1] ist " + argv[1]);
605+ System.out.println("argv[2] ist " + argv[2]);
606+ System.out.println("argv[3] ist " + argv[3]);
607+ }
608+
609+ }
610+ \end {lstlisting }
611+ \end {exampleblock }
612+
613+ \end {frame }
614+
615+ \begin {frame }[fragile]{argv[]}
616+
617+ \begin {exampleblock }{Ausgabe}
618+ \ begin{lstlisting}
619+ argv[0] ist 42
620+ argv[1] ist -v
621+ argv[2] ist 9000
622+ argv[3] ist foo
623+ \end {lstlisting }
624+ \end {exampleblock }
625+
626+ \end {frame }
627+
628+
506629\begin {frame }{Statische Attribute}
507630 body
508631\end {frame }
0 commit comments