Skip to content
This repository was archived by the owner on Apr 21, 2018. It is now read-only.

Commit 0e08168

Browse files
author
YouniS Bensalah
committed
MY HANDS ARE WRITING WORDS
1 parent d40a108 commit 0e08168

7 files changed

Lines changed: 166 additions & 19 deletions

File tree

slides-03.tex

Lines changed: 142 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -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}

snippets/Argtest.class

731 Bytes
Binary file not shown.

snippets/Argtest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
public class Argtest {
2+
public static void main(String argv[]) {
3+
System.out.println("argv[1] ist " + argv[0]);
4+
System.out.println("argv[2] ist " + argv[1]);
5+
System.out.println("argv[3] ist " + argv[2]);
6+
System.out.println("argv[4] ist " + argv[3]);
7+
}
8+
}

snippets/Dog.class

613 Bytes
Binary file not shown.

snippets/Dog.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
public class Dog {
2+
3+
private String name;
4+
5+
public Dog(String name) {
6+
this.name = name;
7+
}
8+
9+
public void sayName() {
10+
System.out.println("Wauwau wau " + this.name);
11+
}
12+
13+
}

snippets/Test.class

95 Bytes
Binary file not shown.

snippets/Test.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,8 @@ public class Test {
22
public static void main(String argv[]) {
33
Product p = new Product();
44
p.display();
5+
6+
Dog odie = new Dog("Odie");
7+
odie.sayName();
58
}
69
}

0 commit comments

Comments
 (0)