Java Einführung Methoden. Kapitel 6

Ähnliche Dokumente
Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden

2. Unterprogramme und Methoden

Implementieren von Klassen

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

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Grundlagen der Objektorientierten Programmierung - Methoden -

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

7. Übung Informatik II - Objektorientierte Programmierung

Programmierung und Angewandte Mathematik

JAVA 06: Gemischte einfache Fragen zu Java

Globale Variablen Diverses. Globale Variablen. Globale Variablen

PK-Einstufungstest. 1. Allgemeine Multiple-Choice-Aufgaben. Alle Aufgaben beziehen sich auf Java.

1 Klassen und Objekte

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

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

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )

Klassenvariablen, Klassenmethoden

Felder (1) Felder (Arrays) speichern viele Datenelemente des gleichen Typs. Auf einzelne Elemente kann über einen Index zugegriffen werden

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Prof. W. Henrich Seite 1

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Kapitel 3. Programmierkurs. Arten von Anweisungen. 3.1 Was sind Anweisungen?

2 Programmieren in Java I noch ohne Nachbearbeitung

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

Java Einführung Klassendefinitionen

Einführung in die Programmierung

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Methoden und Wrapperklassen

Vorkurs Informatik WiSe 16/17

JAVA - Methoden

C++ - Objektorientierte Programmierung Polymorphie

Einführung in die Programmierung Wintersemester 2016/17

Erste Java-Programme (Scopes und Rekursion)

Repetitorium Informatik (Java)

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

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

Algorithmen und Datenstrukturen

Tag 4 Repetitorium Informatik (Java)

Java Einführung Methoden in Klassen

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

Programmierung für Mathematik HS11

Methoden und Funktionen

Propädeutikum Programmierung in der Bioinformatik

Einstieg in die Informatik mit Java

Prozeduren vs. Funktionen

Anregungen zu Übung 2

C++ Klassen weitere Funktionen

Kapitel Was ist ein Header? Was ist ein Body? Header: public Account(String newowner, int newpin)

Elementare Konzepte von

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

Software Entwicklung 1. Rekursion. Beispiel: Fibonacci-Folge I. Motivation. Annette Bieniusa / Arnd Poetzsch-Heffter

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

Tag 7 Repetitorium Informatik (Java)

Einstieg in die Informatik mit Java

Die Klasse java.lang.object. Thorsten Treffer

Java: Eine kurze Einführung an Beispielen

Speicherklassen (1) Lokale Variablen

7. Objektorientierung. Informatik II für Verkehrsingenieure

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

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

Vorkurs Informatik WiSe 17/18

C++ - Objektorientierte Programmierung Konstante und statische Elemente

Vorlesung Programmieren

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

Objektorientierung (OO)

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

2 Eine einfache Programmiersprache

Transkript:

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 Methoden gehören logisch zusammen und lösen einen bestimmte Teilaufgabe. Methoden werden zur Lösung der Teilaufgabe aufgerufen. In Klassen werden Methoden eingesetzt um das Verhalten der Klasse abzubilden. KlassenName -Variablen +Methoden() 3

Deklaration von Methoden Methoden haben eine Namen (Bezeichner) wie Variablen. Methoden haben Parameter. Das sind Werte, die beim Aufruf einer Methode übergeben werden. static void printmax (int x, int y) { if (x>y) { System.out.print(x) else { System.out.print(y) Signatur 4

Aufruf von Methoden Durch Angabe von Name und Parameter der Methode: public static void main (String[] arg) { int a=5; printmax (a, 9); void printmax (int x, int y){ if(x>y) {... Beim Aufruf wird den formellen Parametern (x, y) der Wert der aktuellen Parametern (a, 9) zugewiesen. x und y können nur in der Methode printmax verwendet werden. 5

Deklaration von Methoden mit Rückgabewert static int max (int x, int y) { if (x>y) { return(x); else { return(y); Der Rückgabewert ist hier als int definiert. return legt den Rückgabewert fest und verlässt die Funktion. Es kommen alle Datentypen für den Rückgabewert in Frage. Das Schlüsselwort void bedeutet: kein Rückgabewert 6

Aufruf von Methoden mit Rückgabewert Durch Angabe von Name und Parameter der Methode: public static void main (String[] arg) { int a=15; int maximum; maximum = max(a, 9); System.out.println(maximum); int max (int x, int y){ if(x>y) { return(x); else { return(y); Bei der Rückgabe wird der Rückgabewert (Wert von x, 15) als Ergebnis der Funktion max(15,9) der Variable maximum zugewiesen. 7

Beispiele: Aufrufen von Methoden // Def. der Methode max von der vorherigen Folie int a=15; int m; m = max(a/5,9); m = max(a,7) + 19 if (max(-a,23) == 35) {... 8

Rückgabewerte Als Rückgabewert ist ein einzelnes Element eines Datentyps (auch eine Instanz) möglich. z.b.: int addiere(int a, int b) {... Hat die Methode keinen Rückgabewert, wird das Schlüsselwort void verwendet. z.b.: void ausgeben(string text) {... 9

Lokale Namen Lokale Namen (Methoden, Variablen) sind nur in der Methode (im Block) verfügbar, in der sie deklariert wurden static void machewas(int x) { int y; // x und y sind nur in dieser Methode verfügbar... 10

Gültigkeitsbereich von Variablen Gültigkeitsbereich: ist jener Bereich im Programm, in dem auf eine Variable über den Namen zugegriffen werden kann 1. Sichtbarkeit: Block (+ Unterblöcke), in dem die Variable deklariert wurde. 2. Lebensdauer: werden bei betreten des Blocks angelegt und bei Verlassen wieder freigegeben. 11

Bsp: Sichtbarkeit und Lebensdauer class Prog { static int x; static int y;... static void machen(){ int x; while(...) { int z; x Global in Klasse y x lokal z Verdeckt (Sichtbarkeit) Lebensdauer 12

Überladen von Methoden Allgemein gilt: In einem Block deklarierte Namen müssen unterschiedlich sein. Bei Methoden gibt es eine Ausnahme: Zwei Methoden dürfen den gleichen Namen haben, wenn sich durch ihre Parameterliste (Art und Anzahl) unterscheidet. Rückgabewert und Name der Parametervariablen sind egal beim Überladen egal! static void print (int x) {... static void print (double x) {... static void print (int x, int y) {... 13

Bsp: Aufruf überladener Methoden class MaxProgramm { static int max (int x, int y) { if (x>y) { return(x); else { return(y); static int max (int x, int y, int z) { int max; max = max(z, max(x,y)); return max; public static void main (String[] arg) { System.out.println(max(45,13,98)); Die richtige Methode wird beim Aufruf über die Signatur automatisch ausgewählt. 14

Fehler beim Überladen von Methoden 1. static int addiere (int a, int b) {... 2. static int addiere (int a, int b, int c) {... 3. static double addiere (double a, double b) {... 4. static double addiere (int x, int y) {... Die Methoden in Zeile 1 und 4 können nicht gemeinsam deklariert werden, da beide die gleiche Signatur addiere(int,int) haben. Der Compiler bricht die Übersetzung mit einer Fehlermeldung ab. 15

Nach dieser Einheit sollten Sie... Methoden deklarieren und aufrufen können Über die Sichtbarkeit und Lebensdauer von Variablen bescheid wissen Das überladene von Methoden kennen 16