Objektorientierte Programmierung
|
|
- Sofie Weiß
- vor 6 Jahren
- Abrufe
Transkript
1 Objektorientierte Programmierung In einer objektorientierten Programmiersprache können natürliche Objekte durch Konstrukte der Sprache dargestellt werden. Objekte zeichnen sich durch Eigenschaften und ihr Verhalten aus. Jedes Objekt im System kann als ein abstraktes Modell eines Akteurs betrachtet werden, welches Aufträge erledigen, seinen Zustand berichten und ändern und mit den anderen Objekten im System kommunizieren kann, ohne offen legen zu müssen, wie diese Fähigkeiten implementiert sind. Solche Abstraktionen sind Klassen in der objektorientierten Programmierung. Klassen: Klassen fassen Attribute (Eigenschaften) und Methoden (Verhalten eines Objektes) zu einer Einheit zusammen. Die Gesamtheit der Attributwerte legt den Objektzustand fest. Attribute sind standardmäßig nur über die Methoden der Klasse zugänglich. Dies versteht man unter Zugriffsbeschränkung oder Kapselung. Attribute und Methoden sind entweder zum Zugriff von außen freigegeben (sie sind dann öffentlich oder engl. public) oder aber vor dem Zugriff geschützt (sie sind dann geschützt, engl. protected, oder sogar privat, engl. Private). Objekt = Instanz einer Klasse
2 Kochtopf Klasse: KOCHTOPF Eigenschaften: Fassungsvermögen z.b 4 Liter Speisen im Topf Temperatur im Topf Verhalten: in_topf_fuellen(liste der Speisen) topf_leeren () liefert die Speisen zurück Temperatur_im_Topf_erhöhen () Temperatur_im_Topf_setzen (neue Temperatur) Herd Klasse: HERD Eigenschaften: 4 Herdplatten Stufe pro Herdplatte Liste der Töpfe auf dem Herd Verhalten: Topf_auf_Herplatte_stellen (Herdplatte, Topf) Topf_vom_Herd_nehmen (Herdplatte, Topf) Herdplatte austellen (Herdplatte) Speise Klasse: Speise Eigenschaften: Zutaten Kochzeit Verhalten: Zutaten eintragen(liste der Zutaten) Zutaten_auflisten() Kochzeit setzen (neue Kochzeit) Kochzeit zurückgeben () Vorschrift zum Kochen von Nudeln: 1. Topf, Herd, Wasser, Salz und Nudeln bereitstellen 2. Wasser und Salz in den Kochtopf füllen 3. Kochtopf auf die 1. Herdplatte stellen Herdplatte auf höchste Stufe (3) Stellen 5. Warten, bis das Wasser kocht (Temperatur im Topf beträgt 100C ) 6. Nudeln in das Wasser geben 7. Die Nudeln auf 2. Stufe 10 Minuten kochen lassen 8. Topf vom Herd nehmen 9. Nudeln aus dem Topf nehmen Guten Appetit!
3 1. Programm Objekt mit der Einstiegsmethode Main erstellen using System; namespace Kueche // Importieren des Namesraumes System // Namenaraum fuer unser Programm class Nudelnkochen public static void Main() 2. Klassen definieren class Speise string [] Zutaten; int Kochzeit; // Minuten public void Zutat_hinzufuegen(string [] neuezutaten) Zutaten = new string [neuezutat.length]; for (int i=0; i < neuezutat.length; i++) Zutaten[i] = neuezutaten[i]; public void Zutaten_auflisten() for (int i=0; i < neuezutat.length; i++) Console.WriteLine( Zutat 0.: 1,i, Zutaten[i]); public void setze_kochzeit(int neuekochzeit) Kochzeit= neuekochzeit; public int liefere_kochzeit() return Kochzeit;
4 class KOCHTOPF int Fassungsvermoegen; Speise [] Speisen; int Temperatur=0; // in Liter // Speisen im Top // Temperatur im Topf public void in_topf_fuellen(speise [] neuespeisen) Speisen = new Speise [neuespeisen.length]; for (int i=0; i < neuespeisen.length; i++) Speisen[i] = neuespeisen[i]; public Speise [] topf_leeren () return Speisen; public int Temperatur_erhoehen () return ++Temperatur; public void Temperatur_setzen (int neuetemperatur) Temperatur = neuetemperatur; class Herd int AnzHerdplatten = 4; Kochtopf [] Herdplatten; int [] Stufen; // enthaelt die Toepfe, auf den Herdplatten // Stufen, auf welche die Herdplatten // eingestellt sind public void vorbereiten() Herdplatten = new Kochtopf [AnzHerdplatten]; Stufen = new int [AnzHerdplatten]; public void Topf_auf_Herplatte_stellen (int Herdplatte, Kochtopf Topf) Herdplatten[Herdplatte] = Topf; public Kochtopf Topf_vom_Herd_nehmen (int Herdplatte) Stufen[Herdplatte] = 0; return Herdplatten[Herdplatte]; public void Herdplatte_anstellen (int Herplatte, int Stufe) Stufen[Herplatte] = Stufe;
5 3. Umsetzung der Kochvorschrift class Nudelnkochen public static void Main() Console.WriteLine("Nudeln, Salz, Wasser bereitstellen"); Speise Salz = new Speise(); // Zutaten bereit legen Speise Nudeln = new Speise(); Speise Wasser = new Speise(); Nudeln.setze_Kochzeit(10); Speise[] Topfinhalt; Topfinhalt = new Speise[3]; Topfinhalt[0] = Wasser; Topfinhalt[1] = Salz; // Nudeln sollen 10 Minuten kochen // Was soll alles in den Topf Console.WriteLine("Topf bereitstellen und Wasser und Salz einfüllen"); Kochtopf meintopf = new Kochtopf(); meintopf.in_topf_fuellen(topfinhalt); Console.WriteLine("Topf auf 1. Herdplatte stellen"); Herd meinherd = new Herd(); meinherd.vorbereiten(); meinherd.topf_auf_herplatte_stellen(1,meintopf); Console.WriteLine("1. Herdplatte auf höchste Stufe (3) Stellen"); meinherd.herdplatte_anstellen(1,3); Console.WriteLine("Warten bis das Wasser kocht"); while (meintopf.temperatur_erhoehen ()!= 100); Console.WriteLine("Nudeln in das Wasser geben"); Topfinhalt[2] = Nudeln; meintopf.in_topf_fuellen(topfinhalt); Console.WriteLine("Die Nudeln auf 2. Stufe 10 Minuten kochen lassen"); meinherd.herdplatte_anstellen(1,2); for (int Minuten=1; Minuten <= Nudeln.liefere_Kochzeit(); Minuten++) Console.WriteLine (Minuten + ". Minute gekocht"); Console.WriteLine("Topf vom Herd nehmen"); meintopf = meinherd.topf_vom_herd_nehmen(1); Console.WriteLine("Nudeln aus dem Topf nehmen"); Topfinhalt = meintopf.topf_leeren (); Console.WriteLine("Guten Appetit");
6 Weitere Beispiele für Objekte: 1. Kniffelspiel (15 x würfeln mit je 5 Würfeln) Klasse Würfel Attribute: Augen Methode: Würfel werfen, Augen ausgeben // Zufalsszahlengenerator initialisieren Random rnd=new Random(); // Nächste Zahl würfeln rnd.next(bereich); using System; namespace meinprogramm class wuerfel // Attribute int augen=0; // Importieren eines Namesraumes // Namenaraum fuer unser Programm // Methoden public void werfen (Random zufzahlgen) augen = 1 + zufzahlgen.next(6); public int get_augen() return augen; class kniffel public static void Main() Random zufzahlgen=new Random(); wuerfel w1 = new wuerfel(); wuerfel w3 = new wuerfel(); wuerfel w5 = new wuerfel(); for (int i=1; i <= 15; i++) w1.werfen(zufzahlgen); w3.werfen(zufzahlgen); w5.werfen(zufzahlgen); wuerfel w2 = new wuerfel(); wuerfel w4 = new wuerfel(); w2.werfen(zufzahlgen); w4.werfen(zufzahlgen); Console.WriteLine("Zahlen: ", w1.get_augen(), w2.get_augen(), w3.get_augen(), w4.get_augen(),w5.get_augen()); Console.ReadLine();
7 2. Verkehrsampel An einer Kreuzung befinden sich 4 Ampeln. Je eine in Nord, Süd, Ost und West Richtung. Die Hauptstraße geht von Ost nach West. Die gegenüberliegenden Ampeln müssen somit möglichst gleichzeitig geschaltet werden. Attribute: Status Methode: status_wechsel using System; using System.Threading; // Importieren eines Namesraumes namespace meinprogramm // Namenaraum fuer unser Programm enum farben rot, gelb, gruen; // Aufzaehlungstyp fuer die Ampelfarben class Ampel farben status=farben.rot; // Farbe die gerade leuchtet public bool status_wechsel () if (status == farben.rot) // Wechsel von rot nach gruen status = farben.gruen; return true; if (status == farben.gruen) // Wechsel von gruen ueber gelb status = farben.gelb; // nach rot Thread.Sleep(100); // kurze Pause status = farben.rot; return true; return false; public farben get_status() return status;
8 class Kreuzung // Hauptstrasse geht von Ost nach West public static void Main() Ampel AmpelOst = new Ampel(); Ampel AmpelSued = new Ampel(); Ampel AmpelWest = new Ampel(); Ampel AmpelNord = new Ampel(); Console.WriteLine("Programm kann nur mit <Strg> + <C> beendet werden"); while (true) // Hauptstrasse bekommt gruen if (AmpelOst.status_wechsel() && AmpelWest.status_wechsel()) Console.WriteLine(" "); Console.WriteLine("Haupstrasse: Ost= 0 West = 1", AmpelOst.get_status(),AmpelWest.get_status()); Console.WriteLine("Nebenstrasse: Nord= 0 Sued = 1", AmpelNord.get_status(),AmpelSued.get_status()); Console.WriteLine("Es wird auf der Hauptrasse gefahren"); Thread.Sleep(3000); // Hauptstrasse bekommt rot und Nebenstrasse gruen if (AmpelOst.status_wechsel() && AmpelWest.status_wechsel()) if (AmpelSued.status_wechsel() && AmpelNord.status_wechsel()) Console.WriteLine(" "); Console.WriteLine("Haupstrasse: Ost= 0 West = 1", AmpelOst.get_status(),AmpelWest.get_status()); Console.WriteLine("Nebenstrasse: Nord= 0 Sued = 1", AmpelNord.get_status(),AmpelSued.get_status()); Console.WriteLine("Es wird auf der Nebenstrasse gefahren"); Thread.Sleep(3000); // Nebenstrasse bekommt wieder rot if (! (AmpelSued.status_wechsel() && AmpelNord.status_wechsel())) return; // Fehler: Ampel laesst sich nicht umschalten
9 3. Stoppuhr Attribute: Startzeit (Stunde, Minute, Sekunde), Endzeit (Stunde, Minute, Sekunde), Kennung, ob die Stoppuhr gerade läuft oder nicht Methoden: start mit der Zeitmessung beginnen stop Zeitmessung beenden using System; // Importieren eines Namesraumes namespace meinprogramm // Namenaraum fuer unser Programm class Stoppuhr DateTime startzeit; // DateTime ist vordefinierte.net Klasse, DateTime endzeit; // bitte im Internet nachlesen bool zeit_lauft= false; // Es wird gerade keine Zeit gemessen public void start () // Zeitmessung beginnen startzeit = DateTime.Now; // aktuelle Zeit uebertragen zeit_lauft = true; Console.WriteLine("Startzeit: 0:1:2", startzeit.hour, startzeit.minute, startzeit.second); public void stop () endzeit = DateTime.Now; // Zeitmessung stoppen // aktuelle Zeit uebertragen int differenz_second; int differenz_minute; int differenz_hour; if (! zeit_lauft) Console.WriteLine("Die Stoppuhr wurde noch nicht gestartet"); return; zeit_lauft= false; Console.WriteLine("Endzeit: 0:1:2", endzeit.hour, endzeit.minute, endzeit.second); if (endzeit.second > startzeit.second) differenz_second = endzeit.second startzeit.second; differenz_minute = 0; else differenz_second = 60 startzeit.second + endzeit.second; differenz_minute = 1; if (endzeit.minute >= startzeit.minute) differenz_minute += endzeit.minute startzeit.minute; differenz_hour = 0;
10 else differenz_minute += 60 startzeit.minute + endzeit.minute; differenz_hour = 1; if (endzeit.hour >= startzeit.hour) differenz_hour += endzeit.hour startzeit.hour; else differenz_hour += 24 startzeit.hour + endzeit.hour; Console.WriteLine("Vergangene Zeit: 0:1:2 vergangen", differenz_hour, differenz_minute, differenz_second); class Zeit public static void Main() Stoppuhr meinestoppuhr; meinestoppuhr = new Stoppuhr(); Console.WriteLine("Es können nur Zeitem im Stundenbereich gestoppt werden. Zeiträume größer als einen Tag können mit dieser Stoppuhr nicht gestoppt werden"); Console.WriteLine ("Die Stoppuhr wird mit der <Enter> Taste gestartet"); Console.ReadLine(); meinestoppuhr.start(); Console.WriteLine ("Die Stoppuhr wird mit der <Enter> Taste angehalten"); Console.ReadLine(); meinestoppuhr.stop(); 4. Auto Attribute: Farbe, Marke, Geschwindigkeit Methoden: z.b. Auto starten, Auto beschleunigen, Auto bremsen, Auto einparken... Die Methode Auto beschleunigen bekommt als Parameter z.b. die gewünschte Endgeschwindigkeit, also beispielsweise 50 km/h übergeben. Eine sinnvolle Zusicherung für das Attribut Geschwindigkeit ist, dass sie 0 ist....
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
Mehr7. Übung Informatik II - Objektorientierte Programmierung
7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber
MehrKlassen. C++ Übung am 02. Juni 2016
Klassen C++ Übung am 02. Juni 2016 Klassen - der Kern objektorientierter Programmierung - Festlegung der Daten und Funktionen einer Klasse - Deklaration als public oder private - Konstruktoren erzeugen
MehrEreignisse (Events) Asynchrones Versenden von Informationen Sender (Herausgeber) Empfänger (Abonnent) Dr. Beatrice Amrhein
Ereignisse (Events) Asynchrones Versenden von Informationen Sender (Herausgeber) Empfänger (Abonnent) Dr. Beatrice Amrhein Überblick Definition eines Ereignisses Sender und Empfänger Einfache Ereignisse
MehrDas aktuelle Objekt der Klasse AMPEL gibt an die Objekte gruen, gelb und rot der Klasse LAMPE die Botschaft, die Methode aus() aufzurufen.
Übung 1 Ampel Öffne das BlueJ-Projekt Ampel_Vorlage und öffne die Klasse AMPEL. a) Erzeuge ein Objekt von AMPEL und mach dich mithilfe des Objektinspektors und dem Quelltext über die Funktionsweise kundig.
Mehr4. Modellieren und Diagrammarten
4. Modellieren und Diagrammarten Zur Entwicklung einer Software ist eine strukturierte Planung notwendig. Erst auf der Grundlage eines Modells (z.b. geeignete Klassendiagramme) kann eine Implementierung
MehrSilke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch
MehrJava Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.
Java Übung Übung 3 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 2. Mai 2006 (UniDUE) 2. Mai 2006 1 / 17 Aufgabe 1 Umwandeln von do while in for Schleife. Listing 1: aufgabe3 1.java 1 public
MehrStädtisches Gymnasium Olpe Java Ht Informatik - Q1 Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode
Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode folgt im Anschluss. Beispielcode Es gibt eine Klasse Benutzerverwaltung, welche eine Liste mit Benutzern
MehrImplementieren 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
MehrC# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung
C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung 1. "Hai!" [Konsolenanwendung] Console.WriteLine("Hai, wie geht's?"); 2. Muktiplikation mit sich selbst [Konsolenanwendung] // Ausgabe
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrII.3.1 Rekursive Algorithmen - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.3.1 Rekursive Algorithmen -
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
Mehr14. Java Objektorientierung. Klassen, Vererbung, Kapselung
427 14. Java Objektorientierung Klassen, Vererbung, Kapselung Objektorientierung: Verschiedene Aspekte 428 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen
MehrProbeklausur 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
MehrUmsetzung einer Klassenkarte in einer Programmiersprache
Klassen in Java Umsetzung einer Klassenkarte in einer Programmiersprache Objektorientierte Programme bestehen (nur) aus Klassendefinitionen In Klassendefinitionen wird die Struktur der Objekte festgelegt,
Mehr14. Java Objektorientierung
Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen
MehrProbeklausur 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
MehrObjektorientierte 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! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -
! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete II.4.2 Abstrakte Klassen und Interfaces - 1 - Ähnliche Programmteile public class Bruchelement { Bruch wert;
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrFakultä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)
MehrPhilipp Güttler Objektorientierung und komplexe Datentypen
Philipp Güttler 23.04.2008 Objektorientierung und komplexe Datentypen Seite 2 Was bedeutet objekt-orientiert? Programmierung ist die Umsetzung von Sachverhalten und Aufgaben Zusammenfassen und Aufteilen
MehrKapitel 13. Definition von Klassen. OOP Thomas Klinker 1
Kapitel 13 Definition von Klassen OOP Thomas Klinker 1 OOP Thomas Klinker 2 Datenabstraktion Der Mensch abstrahiert, um komplexe Sachverhalte darzustellen. Dinge und Vorgänge werden auf das wesentliche
MehrTechnische Universität München WiSe 2018/19 Fakultät für Informatik Übungsblatt 6 Dr. Ch. Herzog 26. November 2018
Technische Universität München WiSe 2018/19 Fakultät für Informatik Übungsblatt 6 Dr. Ch. Herzog 26. November 2018 Übungen zu Grundlagen der Programmierung Aufgabe 19 (Lösungsvorschlag) Rekursive Datenstruktur
MehrDelegates. «Delegierter» Methoden Schablone Funktionszeiger. Dr. Beatrice Amrhein
Delegates «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen 2 Definition 3 Definition Ein Delegat
MehrAufgabenblatt: OOP - Seite 1. (2.) Geometrie: Erstellen Sie eine Klasse CPyramid, die sich von der Klasse Square ableitet:
Aufgabenblatt: OOP - Seite 1 Aufgabenblatt: OOP II (1.) Gegeben ist nebenstehende die Klasse CPoint! (a.) Schreiben Sie eine Subklasse CPoint3 mit nebenstehenden Eigenschaften und Methoden und Testen Sie
MehrPropä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
MehrMusterlösung Stand: 5. Februar 2009
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)
MehrII.4.2 Abstrakte Klassen und Interfaces - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1
MehrMethoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public
MehrStatische und Nichtstatische Methoden Properties/ Eigenschaften
Statische und Nichtstatische Methoden Properties/ Eigenschaften Statische Methoden Definition und Merkmale von Properties Modifizierer Beispiele Nebeneffekte Dr. Beatrice Amrhein Statische / Nichtstatische
Mehr! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 -
! 1. Rekursive Algorithmen! 2. Rekursive (dynamische) Datenstrukturen II.3.2 Rekursive Datenstrukturen - 1 - Ausdruck Ausdruck Grundwert ( Typ ) Präfix-Operator Name Methodenaufruf [ Ausdruck ] ( Ausdruck
MehrSilke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode
Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode
MehrVariablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel
4213 Variablen 17.834 float Flugzeug 36812736294 I write code Hund long String Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 3 + 4 1 Variablen sind wie Becher. Sie speichern etwas. // Variablen
MehrGrundelemente 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
MehrKlassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt
Klassen und Objekte Klassen sind Vorlagen für Objekte. Objekte haben Attribute Konstruktoren Methoden Aus einer Klasse kann man beliebig viele Objekte herstellen. Attribute bestimmen die Eigenschaften
MehrGrundelemente 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
Mehr14. Java Objektorientierung
Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen
Mehr1. Rekursive Algorithmen 2. Rekursive (dynamische) Datenstrukturen
1. Rekursive Algorithmen 2. Rekursive (dynamische) Datenstrukturen II.3.2 Rekursive Datenstrukturen - 1 - Grundwert ( Typ ) Präfix-Operator Name Methodenaufruf [ ] ( ) Infix-Operator Methodenaufruf new
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
MehrInstitut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 17. Juli 2015 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 7. September
Mehr16. Dezember 2004 Dr. M. Schneider, P. Ziewer
Technische Universität München WS 2004/2005 Fakultät für Informatik Lösungsvorschläge zu Blatt 8 A. Berlea, M. Petter, 16. Dezember 2004 Dr. M. Schneider, P. Ziewer Übungen zu Einführung in die Informatik
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
MehrKlausur "ADP" SS 2016
PD Dr. J. Reischer 29.7.2016 Klausur "ADP" SS 2016 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes aus! Die Klausur
MehrGrundelemente 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
MehrAllgemeine Hinweise:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 11/12 Einführung in die Informatik I Probe-Klausur Prof. Dr. Helmut Seidl, M. Schwarz, A. Herz,
MehrKonstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; }
Konstruktor spezielle Methode zum Initialisieren bei Erzeugen eines Objekts mit new trägt Namen der Klasse hat keinen Rückgabetyp keiner angegeben: Compiler erzeugt Standard-Konstruktor (analog: Attribute
MehrAusnahmebehandlung in Java
Ausnahmebehandlung in Java class A { void foo() throws Help, SyntaxError {... class B extends A { void foo() throws Help { if (helpneeded()) throw new Help();... try {... catch (Help e) {... catch (Exception
MehrAusgabe bei a=24, b=5: Aufgabe 1 (C0 - Schleifen) Objektorientierte Programmierung 1
Objektorientierte Programmierung 1 Aufgabe 1 (C0 - Schleifen) 2 Punkte Was gibt das folgende Programm bei der Eingabe a = 24 und b = 5 aus? prog aufgabe1 int a; int b; print("bitte geben Sie a ein: \n");
MehrBeispielprüfung CuP WS 2015/2016
Beispielprüfung CuP WS 2015/2016 Univ.-Prof. Dr. Peter Auer 23. Dezember 2015 Informationen zur Prüfung Die Prüfung wird als Multiple-Choice-Test mit 10 Fragen am Computer abgehalten. (Bei manchen Fragen
Mehr1. 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.3 Datenabstraktion - 1 - Selektoren public class Rechteck
MehrC++ - Objektorientierte Programmierung Polymorphie
C++ - Objektorientierte Programmierung Polymorphie hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen C++ - Objektorientierte Programmierung 21.06.16 Seite 1 Polymorphie
MehrEinführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax
Einführung in die Programmierung für NF Algorithmen, Datentypen und Syntax Ziele Begriffsbildungen: InformaCk, Algorithmus, Programm, Compiler und andere Einordnung von Java Ein einfaches Java- Programm
MehrProgrammierung Nachklausurtutorium
Programmierung Nachklausurtutorium Laryssa Horn, Tim Engelhardt 20 März 2018 Klassen Wofür wir Klassen brauchen: Definieren ein Bauplan eines Objektes Bauplan enthält Attribute und Methoden Klasse Beispiel
MehrStack. Seniorenseminar Michael Pohlig
Stack Seniorenseminar 21.06.2013 Michael Pohlig (pohlig@kit.edu) Übersicht 1. Axiomatik eins Kellers und seine Software- Realisierung 2. Bedeutung der Rekursion in der Mathematik 3. Rekursive Programmierung.
MehrObjektorientierung. Marc Satkowski 20. November C# Kurs
Objektorientierung Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Weiterführende Verzweigungen Tertiäre-Verzweigung switch case 2. Schleifen Zählschleife (for) break & continue 3. Objektorientierung
MehrTutoraufgabe 1 (Code-Analyse):
Prof. aa Dr. J. Giesl M. Brockschmidt, F. Emmes, C. Fuhs, C. Otto, T. Ströder Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung bearbeitet werden. Namen
Mehr7. 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
MehrInformatik Abitur Bayern 2017 / II - Lösung
Informatik Abitur Bayern 2017 / II - Lösung Autoren: Wolf (1) Wagner (2) Scharnagl (3-5) 1a 5 1b Diese Methode vergleicht den Namen des Interpreten eines jeden Elements der Liste mit dem gegebenen Namen.
Mehr188.154 Einführung in die Programmierung Vorlesungsprüfung
Matrikelnummer Studienkennzahl Name Vorname 188.154 Einführung in die Programmierung Vorlesungsprüfung Donnerstag, 27.1.2005, 18:15 Uhr EI 7 Arbeitszeit: 60 min - max. 50 Punkte erreichbar - Unterlagen
MehrDatum, Uhrzeit: , Uhr Semester: IN1 Note:... Prof. Dr. G. Meixner
Prüfung "Programmieren 1", IN1, WS 16/17 Seite 1 von 6 Datum, Uhrzeit: 20. 01. 2017, 10.30 Uhr Semester: IN1 Note:... Prüfer: Prof. Dr. G. Meixner Dauer: 60 Min. Hilfsmittel: keine Punkte:... Diese Prüfung
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
MehrPolymorphismus 44. Function.hpp. #include <string>
Polymorphismus 44 #include Function.hpp class Function { public: virtual ~Function() {}; virtual const std::string& get_name() const = 0; virtual double execute(double x) const = 0; }; // class
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 3 Lösungsvorschlag Objektorientierte Programmierung 08. 05. 2006 Lösung 8 (Java und UML-Klassendiagramm
MehrObjektorientierte Programmierung mit C++ SS 2007
Objektorientierte Programmierung mit C++ SS 2007 Andreas F. Borchert Universität Ulm 5. Juni 2007 Polymorphismus #include Function.h class Function { public: virtual ~Function() {}; virtual std::string
Mehr2. Semester, 2. Prüfung, Lösung
2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter
Mehra) Für das vorgegebene Programmstück ergibt sich folgendes Referenzgeflecht:
Technische Universität München WS 2011/12 Fakultät für Informatik Übungsblatt 7 Dr. C. Herzog, M. Maalej 05. Dezember 2011 Übungen zu Grundlagen der Programmierung Aufgabe 32 (Lösungsvorschlag) Für die
MehrProgrammieren II Abstrakte Klassen / Virtuelle Methoden. Programmieren II Abstrakte Klassen / Virtuelle Methoden
Einleitende Bemerkungen Einleitende Bemerkungen Aspekte Aufbau von sinnvollen Klassenhierarchien Verwaltung von Objekten unterschiedlichen Typs Mitarbeiter Besonderheiten der Anwendung jeder Angehörige
MehrProbeklausur C/C++ Einführung in die Informatik. Wintersemester 2016/2017
Fakultät IV NI & CV C/C++ 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
MehrVariablenarten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 10.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 1 / 15
MehrUE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 3
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 3 Algorithmen mit Gedächtnis Besonderheit Beispiele Typische Algorithmen Realisierungsvarianten Institut für Pervasive Computing Johannes
MehrEinführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe
Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt
MehrEinführung in die Programmierung
Einführung in die Programmierung by André Karge Übung - Polymorphie Teil 2 20. Dezember 2018 Einführung in die Programmierung WS18/19 André Karge 1/16 letzte Woche Methoden überladen Generics 20. Dezember
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 11: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
Mehr1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)
1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollstrukturen - 1 - Anweisung Anweisung Zuweisung Methodenaufruf
MehrDie Welt in unseren Programmen false -1.4E-12. false. Klassen
Algorithmen und Datenstrukturen Die Welt in unseren Programmen Die Welt in unseren Programmen Wintersemester 2012/13 9. Vorlesung Sortieren von Objekten 1.357374356 25236748458 true "HalloWelt!" 14136.23462
MehrJavakurs 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
MehrVorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 16. Java: Threads für Animationen 1 Motivation
MehrÜbungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor
Albert-Ludwigs-Universität Freiburg Institut für Informatik Einführung in die Informatik Sommersemester 2013 PD Dr. Cyrill Stachniss Dr. Rainer Kümmerle Übungsblatt 13 Abgabe / Besprechung in Absprache
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
MehrJava 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
MehrSprachkonstrukte Verzweigungen und Array-Strukturen
Sprachkonstrukte Verzweigungen und Array-Strukturen Dr. Beatrice Amrhein Überblick Verzweigungen o if/else o switch/case Array-Strukturen o Vektoren und Matrizen 2 Verzweigungen 3 Verzweigungen: if/else
MehrJava 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
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
MehrIT 2 WS 2014/2015 Übungsblatt 3
Abgabe: 21.11.2014 Beispiel 3.1 [Swap.java] Implementieren Sie die Klasse ue41.swap mit der statischen Methode static void arrange(swaplist list ), die die Elemente von list so umordnet, dass alle Elemente
MehrIT 2 WS 2013/2014 Übungsblatt 3
Abgabe: 8.11.2013 Beispiel 3.1 [Swap.java] Implementieren Sie die Klasse ue41.swap mit der statischen Methode static void arrange(swaplist list ), die die Elemente von list so umordnet, dass alle Elemente
Mehr14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch
Klassen (Java) vs. Records (Pascal) 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Pascal RECORDs in Pascal sind reine
MehrInfo B VL 11: Innere Klassen/Collections
Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections
MehrAlgorithmen implementieren. Implementieren von Algorithmen
Algorithmen implementieren Implementieren von Algorithmen Um Algorithmen ablaufen zu lassen, muss man sie als Programm darstellen (d.h. implementieren) Wie stellt man die algorithmischen Strukturelemente
MehrDie Klasse java.lang.object. Thorsten Treffer
Die Klasse java.lang.object Thorsten Treffer 6. Dezember 2003 1 java.lang.object Die Klassenhierarchie von Java kann als Baum aufgezeichnet werden, dessen Wurzel die Klasse Object ist. Mit anderen Worten:
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrName: Klausur Informatik III WS 2003/04
1 : Methodenimplementierung ca. 42 Punkte Gegeben ist die Klasse Mitarbeiter. Listing 1: (./Code1/Mitarbeiter.h) using namespace std; // globale Variable fuer Ausgabedatei // kann entsprechend
Mehr