TAG 4: SORTIEREN VON ARRAYS, OBJEKTORIENTIERTE PROGRAMMIERUNG Brückenkurs Programmierung SoSe 17

Größe: px
Ab Seite anzeigen:

Download "TAG 4: SORTIEREN VON ARRAYS, OBJEKTORIENTIERTE PROGRAMMIERUNG Brückenkurs Programmierung SoSe 17"

Transkript

1 TAG 4: SORTIEREN VON ARRAYS, OBJEKTORIENTIERTE PROGRAMMIERUNG Brückenkurs Programmierung SoSe 17 Toni Barthel

2 Organisatorisches I Themen: Tag 1: Variablen Operatoren, Verzweigungen Tag 2: Animationen, Schleifen Tag 3: Funktionen, Events, Arrays, Exkurs: Speicherverwaltung Tag 4: Sortieren von Arrays, Objektorientierte Programmierungm Geheimnisprinzip Tag 5: Ausblick auf Java und C Heute: Wiederholung Tag 3 etwas mehr Praxis

3 Organisatorisches II Tagesablauf: Zwei Vorlesungsblöcke (ca. 90min), 15min Kaffeepause Neuankömmlinge melden sich bitte in der Pause bei mir Ankündigungen Arbeitsergebnisse auf Kursseite hochladen Software der Hochschule Office 365 kostenfrei für angehörige der Hochschule Dreamspark

4 TAG 4.0: WIEDERHOLUNG Brückenkurs Programmierung SoSe 17 Toni Barthel

5 WDH: Funktionen Erläutern Sie das Prinzip der Modularität. Dieses Prinzip setzt voraus, das komplexe Aufgaben in ihre Grundbestandteile unterteilt werden um die kleineren Teilaufgaben später einfach wiederverwenden zu können Modularität. Formulieren Sie beliebige Funktion/Methode ohne Rückgabewert. void beliebigefunktion() { Wie viele Variablen kann ein eine Funktionsdefinition enthalten? beliebig viele. Welche Rückgabewerte kann eine Funktion annehmen? alle primitiven Datentypen sowie Referenzdatentypen.

6 WDH: Funktionen/Events in Processing I Welche Mouse-Events kennen Sie? void mouseclicked() { // Aktion wenn die Maus geklickt wurde void mousepressed() { // Aktion wenn die Maus geklickt ist void mousereleased() { // Aktion wenn eine Maustaste losgelassen wird. void mousemoved() { // Aktion wenn sich die Maus bewegt Auch wenn ein Stück Code nur einmal aufgerufen wird, kann es Sinn machen dieses in eine eigene Funktion auszulagern, um den Code lesbarer zu machen und die Fehlersuche zu erleichtern. void mousedragged() { // Aktion wenn die Maus geklickt ist und bewegt wird

7 WDH: Funktionen/Events in Processing II Wann und wie oft wird die Funktion setup() ausgeführt? Die Funktion setup() wird einmal zu Beginn des Programms einmal ausgeführt Auf welche Funktion trifft folgende Beschreibung zu? Wird, je nach framerate() pro Sekunde ausgeführt (default 60 Frames pro Sekunde) - Hauptteil unseres Processing Die ist die draw() Funktion. Wann wird die Funktion keypressed() ausgeführt? Die Funktion wird einmal ausgeführt, wenn eine Taste auf der Tastatur gedrückt wird.

8 WDH: Arrays Definieren Sie ein Array der länge 5. int[] a = new int [5]; Füllen sie das definierte Array mit einer aufsteigenden Zahlenfolge. for (int i=0;i<a.length; i++){ a[i] = i+10; Ändern Sie den Wert des Arrays an 3. Stelle auf den Wert 99. int[] a = {1,2,3,4,5,6,7; for(int i=0; i<a.length;i++) if(a[i]%2!=0) a[i]=0;

9 WDH: Arrays Geben Sie das definierte Array a zeilenweise, von der letzten zur ersten Stelle auf der Konsole aus. int[] a = {1,2,3,4,5; for(int i = a.length; i!=0 ;i--){ println(a[i-1]); Überschreiben sie jedes gerade Element im Array a mit dem Wert 0. int[] a = {1,2,3,4,5; for(int i = a.length; i!=0 ;i--){ println(a[i-1]);

10 WDH: Speicherverwaltung I In welche zwei Datentyp-Arten können Sie unterscheiden? primitive (einfache) Datentypen und komplexe Datentypen Definieren Sie den Begriff Stack. Auf dem Stack werden Parameter und alle lokalen Variablen aller gerade aktiven Methoden verwaltet. (Parameter und Lokale Variablen leben nur für die Dauer der Aktivität der Methode) Definieren Sie den Begriff Heap. Auf dem Heap werden Objekte verwaltet (unter anderem mit new angelegt). Der Inhalt der Referenzvariablen verweisen auf den Speicherort der Objekte im Heap. Ein Array ist ein Objekt.

11 WDH: Speicherverwaltung II Zeichnen Sie für folgenden Sachverhalt einen Stack und einen Heap. void main (String[] args){ int[] a = {1,2,3,4; int[] b = {10,20,30,40; b" a" args" Stack& Heap&

12 WDH: Speicherverwaltung II - Das Selbe / Gleiche

13 WDH: Speicherverwaltung III Welche Aufgabe hat die Carbage Collection? Der Garbage Collector reinigt den Heap vom Müll Verfolgt systematisch alle Referenzen und markiert diese Nicht markierte Objekte können weggeräumt werden, da keine Referenzvariable auf diese Objekte zeigt Das Wegräumen nicht benötigter Objekte erfolgt automatischin regelmäßigen Abständen

14 TAG 4.1: SORTIEREN VON ARRAYS Brückenkurs Programmierung SoSe 17 Toni Barthel

15 Wie bringen wir Ordnung in ein Array? Problemstellung Sie haben ein unsortiertes Array a vorliegen. Wie können Sie dieses am einfachsten sortieren? Es geht nicht um Geschwindigkeit oder Performance einfach nur sortieren. int[] a = {5,1,12,-5,16; int[] a = {-5,1,5,12,16; B U B B L E S O R T

16 Wie bringen wir Ordnung in ein Array? Der BubbleSort In der Bubble-Phase wird die Eingabe-Liste von links nach rechts durchlaufen. Dabei wird in jedem Schritt das aktuelle Element mit dem rechten Nachbarn verglichen. Falls die beiden Elemente das Sortierkriterium verletzen, werden sie getauscht. Am Ende der Phase steht bei auf- bzw. absteigender Sortierung das größte bzw. kleinste Element der Eingabe am Ende der Liste. void swap(int[] meinarray, int index1, int index2){ int temp = meinarray[index1]; meinarray[index1] = meinarray[index2]; meinarray[index2] = temp; void draw() { int[] unsortiert={5,1,12,-5,16; int[] sortiert=bubblesort(unsortiert); for (int i = 0; i<sortiert.length; i++) System.out.print(sortiert[i] + " "); exit(); int[] bubblesort(int[] meinarray) { for (int i=1; i<meinarray.length; i++) for (int j=0; j<meinarray.length-i; j++) if (meinarray[j]>meinarray[j+1]) swap(meinarray,j,j+1); return meinarray;

17 TAG 4.2: BASIS OBJEKTORIENTIERTE PROGRAMMIERUNG Brückenkurs Programmierung SoSe 17 Toni Barthel

18 Zu Erinnerung I - Theorie Klassen und Objekte in Programmen Klassen: definieren die Art der Speicherung und die Operationen (Funktionen und Methoden). Objekte: sind Exemplare (Instanzen) einer Klasse Sie enthalten die jeweils unterschiedlichen Daten. Objekte haben i.a. einen sich ändernden Zustand. Methoden eines Objekts operieren auf den Daten des Objekts. Nur vom Prinzip her. Autos bilden keine Menschen ab!

19 Zu Erinnerung II - Aufbau im Quellcode class BouncingBall { //Variablen (Eigenschaften) float x = 0; float y = 0; Variablen, Eigenschaften display() //Konstruktor (Baumeister) BouncingBall () { Konstruktor (spezielle Methode!) float x = 0; float y = 0; //Methoden (Fähigkeiten) void display(){ Methoden (allgemeine) ellipse(200,200,20,20); Objekt: b1 mit der Bauplan aus der Klasse BouncingBall

20 Vergleich Standardlösung und OOP

21 Zu Erinnerung

22 Klassenaufbau und Objekterzeugen class BouncingBall { //Deklaration BouncingBall myball; //Variablen (Eigenschaften) float x = 0; float y = 0; //Konstruktor (Baumeister) BouncingBall () { //Methoden (Fähigkeiten) void display(){ ellipse(200,200,20,20); BouncingBall //Initalisierung (Setup) void setup(){ size(600,600); smooth(); //Erzeugen einer neuen Instanz der Klasse //(anlegen eines neuen Objektes) //new ist das Schlüsselwort myball = new BouncingBall(); void draw(){ background(0); myball.display(); //Aufruf der Funktion Main_BouncingBall_Programm

23 Klassenaufbau und Objekterzeugen class BouncingBall { //Variablen (Eigenschaften) float x = 0; float y = 0; //Deklaration BouncingBall myball; BouncingBall myball2; //Initalisierung (Setup) //Konstruktor (Baumeister) BouncingBall (float einx, float einy) { this.x = einx; this.y = einy; void setup(){ size(600,600); smooth(); myball = new BouncingBall(200,200); myball2 = new BouncingBall(300,400); //Methoden (Fähigkeiten) void display(){ ellipse(this.x,this.y,20,20); BouncingBall void draw(){ background(0); myball.display(); myball2.display(); Main_BouncingBall_Programm

24 Exkurs: Objekte im Array erzeugen und anzeigen //Deklaration BouncingBall[] myballs; //Initalisierung (Setup) void setup(){ size(600,600); smooth(); myballs = new BouncingBall[10]; for(int i=0; i<myballs.length;i++) myballs[i] = new BouncingBall(10+(i*40),200); void draw(){ background(0); for(int i=0; i<10;i++) myballs[i].display(); Main_BouncingBall_Programm

25 Bewegung des Balls class BouncingBall {... void move(){ this.x = this.x + this.speedx; this.y = this.y + this.speedy;... void draw(){ background(0); myball.display(); //Aufruf der Funktion myball.move(); myball.bounce(); void bounce(){ if((x > width) (x < 9)) this.speedx = this.speedx * -1; myball.gravity(); Main_BouncingBall_Programm if((y > height) (y < 9)){ this.speedy = this.speedy * -1; void gravity(){ this.speedy = speedy + 0.2;... BouncingBall

26 Exkurs: Bewegung des Balls //Deklaration BouncingBall[] myballs; //Initalisierung (Setup) void setup(){ size(600,600); smooth(); myballs = new BouncingBall[10]; for(int i=0; i<myballs.length;i++) myballs[i] = new BouncingBall(10+(i*40),200); void draw(){ background(0); for(int i=0; i<10;i++) { myballs[i].display(); myballs[i].move(); myballs[i].bounce(); myballs[i].gravity(); Main_BouncingBall_Programm

27 Weitere Strukturierung class BouncingBall {... //Methoden (Fähigkeiten) void run () { this.move(); this.bounce(); this.gravity(); this.display(); void move(){ this.x = this.x + this.speedx; this.y = this.y + this.speedy; void bounce(){ if((x > width) (x < 9)) this.speedx = this.speedx * -1; if((y > height) (y < 9)) this.speedy = this.speedy * -1;... //Deklaration BouncingBall myball; //Initalisierung (Setup) void setup(){ size(600,600); smooth(); //Erzeugen einer neuen Instanz der Klasse + //(anlegen eines neuen Objektes) myball = new BouncingBall(200,200); void draw(){ background(0); myball.run();

28 Weitere Strukturierung //Deklaration BouncingBall[] myballs; //Initalisierung (Setup) void setup(){ size(600,600); smooth(); myballs = new BouncingBall[10]; for(int i=0; i<myballs.length;i++) myballs[i] = new BouncingBall(random(0,600),random(0,300)); void draw(){ background(0); for(int i=0; i<10;i++) { myballs[i].run(); Main_BouncingBall_Programm

29 Letzte Umbauten //Deklaration BouncingBall[] myballs; //Initalisierung (Setup) void setup(){ size(600,600); background(0); smooth(); myballs = new BouncingBall[10]; for(int i=0; i<myballs.length;i++) myballs[i] = new BouncingBall(random(0,600),random(0,300)); void draw(){ for(int i=0; i<10;i++) { myballs[i].run(); Main_BouncingBall_Programm

30 TAG 4.3: OOP - GEHEIMNISPRINZIP Brückenkurs Programmierung SoSe 17 Toni Barthel

31 Prinzipien der OOP Kohäsion Kohäsion und Kopplung Geheimnisprinzip

32 Kohäsion Kohäsion einer SW-Komponente Beschreibt den innerer Zusammenhalt der Komponente: Eine SW-Komponente (z.b. Klasse) sollte stets ein klardefiniertes und fest umrissenes Konzept realisieren! Die Kohäsion einer Klasse sollte so groß wie möglich sein.

33 Kohäsion In der objektorientierten Programmierung beschreibt Kohäsion, wie gut eine Programmeinheit eine logische Aufgabe oder Einheit abbildet. In einem System mit starker Kohäsion ist jede Programmeinheit (eine Methode, eine Klasse oder ein Modul) verantwortlich für genau eine wohldefinierte Aufgabe oder Einheit. (Wikipedia)

34 Geheimnisprinzip: Kohäsion und Kopplung Kopplung von SW-Komponenten Gegenseitige logische oder reale Abhängigkeit von Komponenten: Information die notwendig ist, um die Komponente nutzen zu können. Information (Daten) die von mehreren Komponenten gemeinsam genutzt wird. Die Kopplung von Klassen sollte so klein wie möglich sein.

35 Geheimnisprinzip: Kohäsion und Kopplung class BouncingBall { //Variablen (Eigenschaften) float x = 0; float y = 0; float speedx = 4; float speedy = 0.5; //Konstruktor (Baumeister) BouncingBall (float eingabex, float eingabey) { this.x = eingabex; this.y = eingabey; void draw(){ for(int i=0; i<10;i++) { myballs[i].run(); myballs[i].speedx = 10; Aufgedecktes Geheimnis Privacy-Leak: Eine Referenz (!) auf Internes wird mit dem Nutzer geteilt, beispielsweise weil es mit einem getter ausgeliefert wird. Objekte können manipuliert werden, ohne die offizielle Schnittstelle zu nutzen! Referenz'auf'ein' gekapseltes'objekt'

36 Geheimnisprinzip: Kohäsion und Kopplung Öffentliche Objektvariablen erhöhen unnötig die Kopplung Was ist daran so schlimm? Wie macht man es richtig? Hüten&sollst&Du&Dich&vor& öffentlichen& Objektvariablen!& in zwei Schritten So&spare&ich&mir& Methodenaufrufe,&das& Programm&läuC& schneller!&

37 Verhindern eines Privacy-Lacks class BouncingBall { //Variablen (Eigenschaften) private float x = 0; private float y = 0; private float speedx = 4; private float speedy = 0.5; //Konstruktor (Baumeister) BouncingBall (float eingabex, float eingabey) { this.x = eingabex; this.y = eingabey; Die$dunkle$Seite$der$ Macht;$mit$hoher$ Kopplung$arbeitet$sie;$ins$ Chaos$führt$sie$!$ void draw(){ for(int i=0; i<10;i++) { myballs[i].run(); myballs[i].speedx = 10;

38 Problemstellung display() bounce() private float x = 0; private float y = 0; private color c = color(120); gravity() In dem ich mir Methoden dafür baue! Wie kann ich speedx von außen verändern? run() setcolor() Objekt: b1 mit der Bauplan aus der Klasse BouncingBall Öffentliche Objektvariablen: ersetze durch Getterund Setter-Methoden

39 Am Beispiel

40 Get- und Set-Methode //Variablen (Eigenschaften) private color c = color(120,158,25);... //Methoden (Fähigkeiten) void setcolor (float r, float g, float b) { this.c = color(r,g,b); void draw(){ for(int i=0; i<10;i++) { myballs[i].run(); println(myballs[i].getcolor()); myballs[i].setcolor(random(0,255),random(0,255),random(0,255)); float getcolor() { return this.c;

41 Zusammenfassung class private getter und setter() Klasse und Methode: class Ball { float x,y; Ball(float x, float y) { this.x = x; this.y = y; void display() { ellipse(x,y,50,50); Objekte und Methodenaufruf: Praxis: Sortieren eines Arrays Aufbau einer Klasse Variablen -> Attribute (Eigenschaften) Methoden -> Konstruktoren (Baumeister) Methoden (Fähigkeiten) Theorie: Kohäsion Kopplung Geheimnisprinzip Ball b = new Ball(100,200); b.display();

42 Mit freundlichen Dank an HERRN SCHWARZ, M.SC. FÜR DIE INHALTLICHE VORLAGE AUS DEN DEN OOP FOLIEN.

43 HERZLICHEN DANK FÜR IHRE AUFMERKSAMKEIT Toni Barthel

TAG 3: FUNKTIONEN, EVENTS, ARRAYS, EXKURS: SPEICHERVERWALTUNG Brückenkurs Programmierung SoSe 16

TAG 3: FUNKTIONEN, EVENTS, ARRAYS, EXKURS: SPEICHERVERWALTUNG Brückenkurs Programmierung SoSe 16 TAG 3: FUNKTIONEN, EVENTS, ARRAYS, EXKURS: SPEICHERVERWALTUNG Brückenkurs Programmierung SoSe 16 Toni Barthel Organisatorisches I Themen: Tag 1: Variablen Operatoren, Verzweigungen Tag 2: Animationen,

Mehr

Bru ckenkurs Programmieren

Bru ckenkurs Programmieren Bru ckenkurs Programmieren Tag 2: Animationen und Schleifen Jakob Czekansky Technische Hochschule Mittelhessen 28. Ma rz 2017 Inhalt Animationen Bewegungen Mausposition abfragen Schleifen While For Ausblick:

Mehr

TAG 2: ANIMTATIONEN UND SCHLEIFEN Brückenkurs Programmierung WiSe 15/16

TAG 2: ANIMTATIONEN UND SCHLEIFEN Brückenkurs Programmierung WiSe 15/16 TAG 2: ANIMTATIONEN UND SCHLEIFEN Brückenkurs Programmierung WiSe 15/16 Toni Barthel Organisatorisches I Themen: Tag 1: Variablen Operatoren, Verzweigungen Tag 2: Animationen, Schleifen Tag 3: Events,

Mehr

PROCESSING KLASSEN UND OBJEKTE. Created by Michael Kirsch & Beat Rossmy

PROCESSING KLASSEN UND OBJEKTE. Created by Michael Kirsch & Beat Rossmy PROCESSING KLASSEN UND OBJEKTE Created by Michael Kirsch & Beat Rossmy INHALT 1. Rückblick 1. Processing Basics 3. Anwendung 1. Klassen 2. Arrays 2. Objekte 2. 3. Characters 4. Strings 5. Funktionen 6.

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c 2009 D.Rösner

Mehr

Bru ckenkurs Programmieren

Bru ckenkurs Programmieren Bru ckenkurs Programmieren Tag 3: Events und Arrays Jakob Czekansky Technische Hochschule Mittelhessen 28. September 2016 Inhalt Events Arrays Wert- vs Referenzsemantik 2 / 20 Inhalt Events Arrays Wert-

Mehr

Gliederung. Algorithmen und Datenstrukturen II. Java: Objektorientierung. Java: Objektorientierung. Objektorientierung in JAVA. D.

Gliederung. Algorithmen und Datenstrukturen II. Java: Objektorientierung. Java: Objektorientierung. Objektorientierung in JAVA. D. Gliederung Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

Created by Michael Kirsch & Beat Rossmy

Created by Michael Kirsch & Beat Rossmy PROCESSING EINE EINFÜHRUNG IN DIE INFORMATIK Created by Michael Kirsch & Beat Rossmy INHALT 1. Sto der Vorlesung 1. Processing Basics 2. Übung 1. Aufgabe 1 2. Strings & Arrays 2. Aufgabe 1-A 3. Klassen

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018 Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2017/2018 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung

Mehr

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion

Mehr

Java Referenzdatentypen genauer betrachtet

Java Referenzdatentypen genauer betrachtet Informatik 1 für Nebenfachstudierende Grundmodul Java Referenzdatentypen genauer betrachtet Kai-Steffen Hielscher Folienversion: 23. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Referenzdatentypen

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017 Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2016/2017 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung

Mehr

Einführung in die Programmierung für NF MI. Übung 07

Einführung in die Programmierung für NF MI. Übung 07 Einführung in die Programmierung für NF MI Übung 07 Inhalt Wiederholung Kommentare Wiederholung Arrays Einführung in Objekte Einführung in die Programmierung für NF Übung 07 2 Wiederholung Kommentare Kommentare

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Unterlagen zur Veranstaltung Einführung in die Objektorientierte Programmierung Mit Processing Alexis Engelke Sommer 2012 Alexis Engelke Inhalt Level 1: Geometrie Hintergrundfarben Punkte, Linien und deren

Mehr

Objektorientierte Programmierung und Klassen

Objektorientierte Programmierung und Klassen Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16.5.07 G. Bohlender (IANM UNI Karlsruhe) OOP

Mehr

PROCESSING ELTERN UND KINDER. Created by Michael Kirsch & Beat Rossmy

PROCESSING ELTERN UND KINDER. Created by Michael Kirsch & Beat Rossmy PROCESSING ELTERN UND KINDER Created by Michael Kirsch & Beat Rossmy INHALT 1. Rückblick 1. Processing Basics 3. Anwendung 1. extends 2. Klassen 2. implements 2. 3. 1. Objekte Theorie Es gibt ja nicht

Mehr

Fragen zur OOP in Java

Fragen zur OOP in Java - 1 - Inhalt Was bedeutet OOP?... 2 Was versteht man unter einer Klasse?... 2 Wie nennt man die Mitglieder einer Klasse?... 2 Wie erzeugt man Objekte?... 2 Wie greife ich auf Member einer Klasse zu?...

Mehr

Java Zusammenfassung. Basisdatentypen ganzzahlig: Byte, Short, Integer, Long Fließkomma: Float, Double Zeichen: Character Wahrheitswerte: Boolean

Java Zusammenfassung. Basisdatentypen ganzzahlig: Byte, Short, Integer, Long Fließkomma: Float, Double Zeichen: Character Wahrheitswerte: Boolean Java Zusammenfassung Martin Zettwitz, Otto-von-Guericke Universität Magdeburg Standardprogramm - Einstieg/Initialisierung in der main() Funktion - Hier(Basic/Start) die Variablen deklarieren, Methoden

Mehr

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Objektorientierung I : Statische Klassen Statische Aspekte (Modularisierung) Dynamische Aspekte (Klassen-Objekte) Seite 1 Th Letschert

Mehr

n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen

n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 -

Mehr

Tag 8 Repetitorium Informatik (Java)

Tag 8 Repetitorium Informatik (Java) Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Propädeutikum Programmierung in der Bioinformatik

Propädeutikum Programmierung in der Bioinformatik Propädeutikum Programmierung in der Bioinformatik Java Klassen und Objekte Thomas Mauermeier 27.11.2018 Ludwig-Maximilians-Universität München Rückblick Imperative Programmierung Variablen Fallunterscheidungen

Mehr

7. Objektorientierung. Informatik II für Verkehrsingenieure

7. Objektorientierung. Informatik II für Verkehrsingenieure 7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete

Mehr

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) CS005 Objektorientierte Programmierung Bachelor of Science (Informatik) Th Letschert Felder Seite Th Letschert OOP Felder / Arrays Seite 2 Th Letschert Feld / Array Feld (auch Array) Daten unter einem

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

Mehr

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen 1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden

Mehr

Objekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E.

Objekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E. Objekte und Klassen INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? typedef struct Konto { double saldo; int id; Konto; Modul "konto" konto.h konto.c Prozedurale Programmierung:

Mehr

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3 Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................

Mehr

Created by Michael Kirsch & Beat Rossmy

Created by Michael Kirsch & Beat Rossmy PROCESSING EINE EINFÜHRUNG IN DIE INFORMATIK Created by Michael Kirsch & Beat Rossmy INHALT 1. Sto der Vorlesung 1. PImage 2. Übung 1. Aufgabe 1 2. Modulo 2. Aufgabe 2 3. Animation-Array STOFF DER VORLESUNG

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa Peter Zeller AG Softech FB Informatik TU Kaiserslautern Speichermanagement Wie viel Speicher braucht ein Programm? Wofür wird Speicher benötigt? Wie ist der Speicher

Mehr

Allgemeines - Prinzipien

Allgemeines - Prinzipien OOP - Prinzipien Allgemeines - Prinzipien OO modelliert die reale Welt als System interagierender Objekte Objekt = gedankliche oder reale Einheit in der Umwelt und/oder in Software Klar definierte Schnittstellen

Mehr

PROCESSING STRUKTUR UND INPUT. Created by Michael Kirsch & Beat Rossmy

PROCESSING STRUKTUR UND INPUT. Created by Michael Kirsch & Beat Rossmy PROCESSING STRUKTUR UND INPUT Created by Michael Kirsch & Beat Rossmy INHALT 1. Rückblick 1. Processing Basics 3. Anwendung 1. random 2. 1,2,3,... Integer! 2. else 3. Boolsche Operatoren 3. float 4. Bedingungen

Mehr

Der Ball kann angezeigt werden: anzeigen( ) {... } Der Ball kann z.b. seine Größe verändern: groesseaendern(int veraenderung) {... } usw.

Der Ball kann angezeigt werden: anzeigen( ) {... } Der Ball kann z.b. seine Größe verändern: groesseaendern(int veraenderung) {... } usw. Objekt-Orientierung Die ersten objektorientierten Sprachen wurden ab 1967 entwickelt (Simula, Smalltalk). Die Grundidee besteht darin, Objekte der realen Welt abzubilden. Java-Programme bestehen aus Klassen.

Mehr

PROCESSING SCHUBLADEN UND ZEICHEN. Created by Michael Kirsch & Beat Rossmy

PROCESSING SCHUBLADEN UND ZEICHEN. Created by Michael Kirsch & Beat Rossmy PROCESSING SCHUBLADEN UND ZEICHEN Created by Michael Kirsch & Beat Rossmy INHALT 1. Rückblick 1. Processing Basics 3. Anwendung 1. Array 2. float 2. String 3. for 3. Funktionen 2. 4. else 5. Mouse Input

Mehr

Erste Java-Programme (Scopes und Rekursion)

Erste Java-Programme (Scopes und Rekursion) Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/

Mehr

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte

Mehr

Programmieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik

Programmieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik Programmieren I Arrays Heusch 7.2 Ratz 5.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arrays: Definition Arrays (dt. Felder) dienen zum Speichern mehrerer gleichartiger Daten

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen 5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden

Mehr

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen

Mehr

Prinzipien der objektorientierten Programmierung (OOP)

Prinzipien der objektorientierten Programmierung (OOP) Die Ziele der OOP sind: - bessere Warbarkeit - Wiederverwendbarkeit 1.) Datenkapselung Prinzipien der objektorientierten Programmierung (OOP) Komplexe Datenstrukturen (wie zb ein Stack) werden vom Anwendungsprogramm

Mehr

Diana Lange. Generative Gestaltung Die Processing Bibliothek

Diana Lange. Generative Gestaltung Die Processing Bibliothek Diana Lange Generative Gestaltung Die Processing Bibliothek Inhalt Diese Foliensammlung gibt eine Einsicht über processingspezifischen Anweisungen und Variablen. Einführung Alle Elemente, die wir dank

Mehr

6 Speicherorganisation

6 Speicherorganisation Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für

Mehr

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue

Mehr

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen 1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von

Mehr

Tag 7 Repetitorium Informatik (Java)

Tag 7 Repetitorium Informatik (Java) Tag 7 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7. CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)

Mehr

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches

Mehr

TAG5: ABSCHLUSS Brückenkurs Programmierung SoSe 17

TAG5: ABSCHLUSS Brückenkurs Programmierung SoSe 17 TAG5: ABSCHLUSS Brückenkurs Programmierung SoSe 17 Toni Barthel Organisatorisches I Themen: Tag 1: Variablen Operatoren, Verzweigungen Tag 2: Animationen, Schleifen Tag 3: Funktionen, Events, Arrays, Exkurs:

Mehr

Klausur Grundlagen der Programmierung

Klausur Grundlagen der Programmierung Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

3.3. Rekursive Datentypen

3.3. Rekursive Datentypen 3.3. Rekursive Datentypen class Element int info; Element naechster;... Element element = new Element(); element.info = 1; element.naechster = new Element(); element.naechster.info = 2; Erläuterung: Objekte

Mehr

Programmierung 1 Studiengang MI / WI

Programmierung 1 Studiengang MI / WI Programmierung 1 Studiengang MI / WI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://mwilhelm.hs-harz.de Raum 2.202 Tel. 03943 /

Mehr

C# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 2: Einstieg in die OOP

C# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 2: Einstieg in die OOP C# Programmierung Eine Einführung in das.net Framework C# Programmierung - Tag 2: Einstieg in die OOP 1/27/2012 1 Di Datentypen Arrays Operatoren Parameter Überladen Heap / Stack Klassen (un)boxing Tag

Mehr

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen

Mehr

4. Objektorientierte Programmierung mit C++

4. Objektorientierte Programmierung mit C++ 4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung der Sprachfamilie Erweiterungen der Sprache C: Ein- und Ausgabe, Referenzen, Speicherallokation und Freigabe Grundlagen des Typkonzepts

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition

Mehr

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]

Mehr

1 Einleitung Generizität Syntax... 2

1 Einleitung Generizität Syntax... 2 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 1 1.1 Generizität................................ 1 1.2 Syntax.................................. 2 2 Realisierung 2 2.1 Compilierung generischer Klassen...................

Mehr

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen

Mehr

Programmieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik

Programmieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik Programmieren I Arrays Heusch 7.2 Ratz 5.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arrays: Definition Arrays (dt. Felder) dienen zum Speichern mehrerer gleichartiger Daten

Mehr

PROCESSING EINE EINFÜHRUNG IN DIE INFORMATIK. Created by Michael Kirsch & Beat Rossmy

PROCESSING EINE EINFÜHRUNG IN DIE INFORMATIK. Created by Michael Kirsch & Beat Rossmy PROCESSING EINE EINFÜHRUNG IN DIE INFORMATIK Created by Michael Kirsch & Beat Rossmy INHALT 1. Einleitung 1. Ziele 3. Anwendung 1. Sprung ins kalte Wasser 2. Der Informatiker Ein Klischee 2. Wir basteln

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 03: Wiederholung Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Wiederholung Klassen, Objekte, Attribute und Methoden Das Schlüsselwort

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und 17.6.2008 Organisatorisches Um auf die Mailingliste aufgenommen zu werden schicke einfach eine

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 31. Jänner 2003

Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 31. Jänner 2003 Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler 1. Jänner 00 Name Martrikelnummer Unterschrift Bitte kreuzen Sie das Studium an, für das Sie diese Prüfung ablegen: O Bakkalaureat

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen

Mehr

Grundlagen der Informatik 0

Grundlagen der Informatik 0 Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg

Mehr

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Folienpaket 7 Themenschwerpunkte: Methoden in OOP 284 09/2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Eine Klasse entwerfen Eine Klasse enthält folgende Information: Name der Klasse (ist auch der

Mehr

C++ - Objektorientierte Programmierung Konstante und statische Elemente

C++ - Objektorientierte Programmierung Konstante und statische Elemente C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Welche Arten von Anweisungen gibt es? Anweisungen

Mehr

6 Speicherorganisation

6 Speicherorganisation 6 Speicherorganisation Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen

Mehr

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018. Musterlösung

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018. Musterlösung Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2017/2018 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung

Mehr

Teil 2: Weitere Aspekte der Objektorientierung

Teil 2: Weitere Aspekte der Objektorientierung Teil 2: Weitere Aspekte der Objektorientierung Klassenvariablen So wie es Instanzvariablen gibt, die zu einer gewissen Instanz (Objekt) gehören und deren Attribute speichern, so gibt es aus Klassenvariablen:

Mehr

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus Vererbung Generalisierung und Spezialisierung Vererbung und Polymorphismus Wir wollen in unserem Aquarium verschiedene Arten von Fischen schwimmen lassen. In einem ersten Ansatz definieren wir nicht nur

Mehr

Objektorientierung (OO)

Objektorientierung (OO) Objektorientierung (OO) Objekte haben Zustände (oder Eigenschaften, Attribute) und Verhalten Zustände: Objektvariablen (in Java auch fields) Verhalten (oder Aktionen): Methoden (methods, Funktionen) members

Mehr

Java Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017

Java Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017 Informatik 1 für Nebenfachstudierende Grundmodul Java Methoden Kai-Steffen Hielscher Folienversion: 1. Februar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel 3 - Java

Mehr

Java Einführung Methoden. Kapitel 6

Java Einführung Methoden. Kapitel 6 Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden

Mehr

Algorithmen und Programmierung II

Algorithmen und Programmierung II Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 03: Wiederholung Klassen & Objekte Kyrill Schmid Lehrstuhl für Mobile und Verteilte Systeme Wiederholung Heutige Agenda Klassen, Objekte, Attribute und Methoden Das Schlüsselwort

Mehr

Java für Bauingenieure

Java für Bauingenieure 1 JAVA für Bauingenieure Alexander Karakas SS 2008 Objektorientierte Programmierung 30.04.2008, CIP Pool Objektorientierte Programmierung Übersicht 2 Klasse und Objekt Polymorphismus und Vererbung Klassen

Mehr

Fakultät IV Elektrotechnik/Informatik

Fakultät IV Elektrotechnik/Informatik Fakultät IV Elektrotechnik/Informatik Probeklausur Einführung in die Informatik I Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der Teilleistung TL 2 (Programmiertest)

Mehr

Grundlagen der OO- Programmierung in C#

Grundlagen der OO- Programmierung in C# Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3

Mehr

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1 Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................

Mehr

DAP2-Programmierpraktikum Einführung in C++ (Teil 2)

DAP2-Programmierpraktikum Einführung in C++ (Teil 2) DAP2-Programmierpraktikum Einführung in C++ (Teil 2) Carsten Gutwenger 18. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Dynamischer Speicher Klassen und

Mehr