Größe: px
Ab Seite anzeigen:

Download ""

Transkript

1 Perl 6 OOP

2 Was ist OOP?

3 Du meinst OPP?

4 Was ist OOP?

5 Position

6 Out Of Position

7 OOP

8 Mann Mit Ahnung

9 Lies Das!

10 Damian Sagt: Object-oriented programming... many opinions, theories, and even ideologies have been formulated on the subject.... Most are mutually inconsistent.

11 OOP Klassen / Prototypen (Multiple) Vererbung / Rollen MMD + Delegation Typen + Subtypen Introspektion / Metaobj.

12 Seine Meinung

13 All There in Beauty

14 In Search Of Perf.

15 Klasse

16 Klasse class

17 Klasse class instanzierbarer Namensraum

18 Klasse class module package

19 Klasse class Excalibur; class Babylon;

20 Klasse class Instanzierbarer Namensraum

21 NR in Klammern class Excalibur {... }

22 Objekt

23 Objekt my $obj = Klasse.new();

24 Objekt my $obj = Klasse.new();

25 Neu Erschaffen

26 Bestehendes Klonen

27 Objekt my $obj = $alt.clone();

28 Objekt my $obj = $alt.clone(...);

29 Positionale Paramter clone($pos1, $pos2);

30 Benannte Parameter clone( :key('value'),);

31 Mit Autoquoting clone( :key<value>,);

32 Old School Geht Auch clone( key=>'value',);

33 Objekt new & clone bless blieb

34 Attribute + Methoden

35 Raumschiff

36 Klasse class Raumschiff { has Int $.speed; method stop { $.speed = 0 } }

37 Kann Ich auch!

38 In Perl 5 package Raumschiff; use Moose; has 'speed' => ( is => 'ro'; isa => 'Int'; ); sub stop { $self = shift; $self->speed = 0; }

39 In Perl 5 use MooseX::Declare; class Spaceship { has 'speed' => ( is => 'ro'; isa => 'Int'; ); method stop { $self->speed = 0; } }

40 Klasse class Raumschiff { has Int $.speed; method stop { $.speed = 0; } }

41 Attributbenutzung P5 $self->speed shift->speed P6 $.speed self.speed $!speed

42 Twigil der Accessoren.! öffentlich privat

43 Twigil der Accessoren.! öffentlich privat has $!speed; # privat

44 Twigil der Accessoren.! has $speed; öffentlich privat # auch privat

45 trusts

46 trusts class Hund { trusts Katze; has $!Knochen; }

47 trusts class Katze { method stehlen { my $tim = Hund.new(); $tim!knochen = 0;...

48 .! ^ : *? = ~ Twigils öffentliche A. private A. pos. auto para. ben. Auto para. globale compiler info POD sublang

49 Sigils % Skalar Array Hash

50 Sigils has $.speed; has %.crew;

51 In Perl 5 use MooseX::Declare; class Raumschiff { has 'speed' => ( is => 'ro'; isa => 'Int'; ); method stop { $self->speed = 0; } }

52 In Perl 5 use MooseX::Declare; class Raumschiff { has 'speed' => ( is => 'rw'; isa => 'Int'; ); method stop { $self->speed = 0; } }

53 Klasse class Raumschiff { has Int $.speed is rw; } method stop { $.speed = 0; }

54 Klasse class Raumschiff { has Int $.speed is rw = 0; } method stop { $.speed = 0; }

55 In Perl 5 use MooseX::Declare; class Raumschiff { has 'speed' => ( is => 'rw'; isa => 'Int'; default => 0; ); method stop { $self->speed = 0; } }

56 Perl 6 Attribute kein: isa default (nur Syntax) predicate required coerce reader writer init_arg clearer builder lazy_build

57 Hab ich mir ausgedacht!

58 Perl 6 & Moose has is

59 Subtypen

60 Moose subtype 'Slogan' => as 'Str' => where {length $_< 50};

61 Perl 6 my subset Slogan of Str where {$_.chars < 50};

62 Delegation

63 Excalibur

64 Perl 6 class Excalibur; has $.clock handles 'now'; $excalibur = Excalibur.new; $excalibur.clock.now;

65 Perl 6 class Excalibur; has DateTime $.clock handles 'now'; $excalibur = Excalibur.new; $excalibur.now;

66 Moose Delegation has 'clock' => ( handles => 'now'; );

67 Umbenennen M* has 'clock' => ( handles => { now => 'time' }; );

68 Umbenennen P6 has DateTime $.clock handles { :time<'now'>};

69 Perl 6 Rename class Spaceship; has DateTime $.clock handles { :time<'now'>};

70 Methoden

71 Methods method stop { }

72 Methods method!stop { }

73 Methods method!stop { } submethod

74 Methods method!stop { } submethod #!erbbar

75 MMD?

76 MMD Multi Method Dispatch

77 MMD only multi proto

78 MMD only #sowieso default multi # anschaun! proto # später

79 MMD multi method navigate (Coord $place) {} multi method navigate (Str $cmd) {};

80 MMD $excalibur.navigate('back');

81 MMD only #sowieso default multi # MMD proto # selber regeln

82 Vererbung

83 MooseX::Declare class WhiteStar extends Spaceship;

84 Vererbung extends => is

85 Perl 6 class WhiteStar is Spaceship;

86 Mehrfachvererbung class WhiteStar is Spaceship is Membari;

87 Vererbung später extends => also is

88 MooseX::Declare class WhiteStar;... extends Spaceship;

89 Perl 6 class WhiteStar {... also is Spaceship;

90 Rollen

91 Klassenhierarchie

92 Wo kommt die Neue rein?

93 Lösung des Problems Rolle: wiederverwendbare Funktionseinheiten

94 Optimierung Rolle: Möglichst Klein

95 Kl. Erinnerung Rolle: Möglichst Klein Klasse: instanzierbarer Namensraum

96 Alles Was Objekt braucht Rolle: Möglichst Klein Klasse: Vollständig => Groß

97 Klasse Kann nicht beides Rolle: Möglichst Klein!= Klasse: Vollständig => Groß

98 Rollen werden vererbt! wenn in die Klasse & zur Laufzeit raus

99 Rollen Konflikte werfen Ausnahme

100 Rollen Konflikte werfen Ausnahme Überschreiben nicht global wie Ruby Mixins

101 Rollen Konflikte werfen Ausnahme Rollen > Mehrfachvererbung (dort bleiben Konflikte auch unbemerkt)

102 Rollen Konflikte werfen Ausnahme außer wenn Methode leer

103 Rollen Konflikte werfen Ausnahme außer wenn Methode leer dann muß überschrieben werden (Interface)

104 Rollen role Excalibur { has Int $.speed; method stop { $.speed = 0 } }

105 Rollen role Clock { has DateTime $.time; method alarm {... } }

106 Rollen anwenden with => does

107 Moose class Excalibur extends Spaceship with Clock;

108 Perl 6 class Excalibur is Spaceship does Clock;

109 Perl 6 class Excalibur is Spaceship; also does Clock;

110 Perl 6 class Excalibur is Spaceship; also does Clock does PlasmaGun;

111 Perl 6 $excalibur does Clock;

112 Introspektion

113 Methoden WHAT short name WHICH object ID (type) WHO package, long name in str context WHERE memory address HOW object of meta class WHEN (reserved for events?) WHY (reserved for documentation) WHENCE autovivification of closures

114 Methoden WHAT short name WHICH object ID (type) WHO package, long name in str context WHERE memory address HOW object of meta class WHEN (reserved for events?) WHY (reserved for documentation) WHENCE autovivification of closures

115 Methoden WHAT short name WHICH object ID (type) WHO package, long name in str context WHERE memory address HOW object of meta class WHEN (reserved for events?) WHY (reserved for documentation) WHENCE autovivification of closures

116 Introspektion Class.HOW.methods($obj) Class.^methods()

117 Metaobjektmethoden identifier name authority version author description licensed subject parents language roles

118 Immer tiefer $obj.^methods()[$which].signature

119 Introspektion Alles is ein Objekt

120 Introspektion Alles is ein Objekt Objekte sind doof.uc

121 Introspektion Alles is ein Objekt Befehle sind Methoden

122 Introspektion Alles is ein Objekt Befehle sind Methoden (Operatoren auch)

123 Introspektion Alles is ein Objekt Befehle sind Methoden (Operatoren auch) MMD ist überall

124 Introspektion Alles is ein Objekt Befehle sind Methoden (Operatoren auch) MMD ist überall Auch in den Regex

125 Namenräume package module class

126 Auch 'ne Art Klasse package module class grammar

127 Grammatiken grammar { token { } rule { } regex { } }

128 Lern Mehr S12: Objekte,S14: Rollen perl6.org/documentation opt. Präzision & Umfang

129 Lern Mehr Perl 6 Docs doc.perl6.org/language/objects optimiert: Kürze & Genauigkeit

130 Lern Mehr Perl 6 Tablets tablets.perl6.org opt.: Hypertext & Umfang

131 Schlaraffenland

132 Thank You

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

German Section 28 - Online activitites

German Section 28 - Online activitites No. 01 Das Wetter The weather Ich bin nass. Mir ist heiß. Mir ist kalt. Hilfe! I'm wet. I'm hot. I'm cold. Help! No. 02 Memoryspiel Memory game Mir ist heiß. I'm hot. Mir ist kalt. I'm cold. Ich bin nass.

Mehr

Moderne Apps in WxPerl

Moderne Apps in WxPerl Moderne Apps in WxPerl Moderne Apps in WxPerl Moderne Kunst Wir [sind] modern! Moderne Zeiten Verloren in der Moderne brauchen wir das? modern = einfach + funktional Wenn Perl ein Auto wäre: Was ich modern

Mehr

Listening Comprehension: Talking about language learning

Listening Comprehension: Talking about language learning Talking about language learning Two Swiss teenagers, Ralf and Bettina, are both studying English at a language school in Bristo and are talking about language learning. Remember that Swiss German is quite

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Lektion 3: Nominativ und Akkusativ (nominative and accusative cases)

Lektion 3: Nominativ und Akkusativ (nominative and accusative cases) Lektion 3: Nominativ und Akkusativ (nominative and accusative cases) Das Verb bestimmt, in welchem Fall das Substantiv steht. Manche Verben wollen nur den Nominativ, andere wollen zusätzlich den Akkusativ

Mehr

Abschnitt 9: Schnittstellen: Interfaces

Abschnitt 9: Schnittstellen: Interfaces Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung

Mehr

miditech 4merge 4-fach MIDI Merger mit :

miditech 4merge 4-fach MIDI Merger mit : miditech 4merge 4-fach MIDI Merger mit : 4 x MIDI Input Port, 4 LEDs für MIDI In Signale 1 x MIDI Output Port MIDI USB Port, auch für USB Power Adapter Power LED und LOGO LEDs Hochwertiges Aluminium Gehäuse

Mehr

Ergebnisse. Umfrage 567537. Kurz-Statistiken Umfrage 567537 'Feedback und Entertain 2.0'

Ergebnisse. Umfrage 567537. Kurz-Statistiken Umfrage 567537 'Feedback und Entertain 2.0' Ergebnisse Umfrage 567537 Anzahl der Datensätze in dieser Abfrage: 386 Gesamtzahl der Datensätze dieser Umfrage: 386 Anteil in Prozent: 100.00% Seite 1 / 41 Feld-Zusammenfassung für Fortsetzung Ist das

Mehr

Objektorientierung: Klassen und Objekte

Objektorientierung: Klassen und Objekte Vorlesung und Übung Universität Paderborn Wintersemester 2015/2016 Dr. Peter Pfahler Objektorientierung: Klassen und Objekte EWS, WS 2015/16, Pfahler L-1 Objektorientierung behandelt in "Einführung in

Mehr

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:

Mehr

Semantic Web. RDF, RDFS, OWL, and Ontology Engineering. F. Abel, N. Henze, and D. Krause 17.12.2009. IVS Semantic Web Group

Semantic Web. RDF, RDFS, OWL, and Ontology Engineering. F. Abel, N. Henze, and D. Krause 17.12.2009. IVS Semantic Web Group Semantic Web RDF, RDFS, OWL, and Ontology Engineering F. Abel, N. Henze, and D. Krause IVS Semantic Web Group 17.12.2009 Exercise 1: RDFS OWL Erstellen Sie mit Hilfe von RDF Schema und OWL eine Ontologie

Mehr

ROOT Tutorial für HEPHY@CERN. D. Liko

ROOT Tutorial für HEPHY@CERN. D. Liko ROOT Tutorial für HEPHY@CERN D. Liko Was ist ROOT? Am CERN entwickeltes Tool zur Analyse von Daten Funktionalität in vielen Bereichen Objekte C++ Skriptsprachen Was kann ROOT Verschiedene Aspekte C++ as

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich?

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich? KURZANLEITUNG Firmware-Upgrade: Wie geht das eigentlich? Die Firmware ist eine Software, die auf der IP-Kamera installiert ist und alle Funktionen des Gerätes steuert. Nach dem Firmware-Update stehen Ihnen

Mehr

Was ist neu an Perl 6? Mein Weg Stolperfallen Perl 6 in Perl 5 Mehr Praktisches Grundkonzepte

Was ist neu an Perl 6? Mein Weg Stolperfallen Perl 6 in Perl 5 Mehr Praktisches Grundkonzepte Rundschau Perl 6 Was ist neu an Perl 6? Mein Weg Stolperfallen Perl 6 in Perl 5 Mehr Praktisches Grundkonzepte Herbert Breunung Perl Mansfelder Land Mansfelder Land Ägypten aka Khem Kephra 0.4.3.32 Großes

Mehr

Pragmatik von Programmiersprachen

Pragmatik von Programmiersprachen Pragmatik von Programmiersprachen Im Kontext der Notation von Quelltexten Mike Becker, 11. Dezember 2014 Szenario: IT Dienstleister Unternehmen: Produkte: Kunden: IT Dienstleistung Beratung und Software

Mehr

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version 7.4.4. - Optional einen DHCP Server.

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version 7.4.4. - Optional einen DHCP Server. 1. Dynamic Host Configuration Protocol 1.1 Einleitung Im Folgenden wird die Konfiguration von DHCP beschrieben. Sie setzen den Bintec Router entweder als DHCP Server, DHCP Client oder als DHCP Relay Agent

Mehr

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7 Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck

Mehr

Factory Method (Virtual Constructor)

Factory Method (Virtual Constructor) Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

SWE1 / Übung 2 (19.10.2011)

SWE1 / Übung 2 (19.10.2011) SWE1 / Übung 2 (19.1.211) Simulation von Algorithmen Testen, Testplan Beispiel arithmetische Ausdrücke Handsimulation von Algorithmen Man versteht einen Algorithmus (insbesonders einen "Fremden"), wenn

Mehr

Mojolicious. Ich zeige dir jetzt, wie du mit Mojolicious eine Vorlage. Das Mojolicious-Gerüst

Mojolicious. Ich zeige dir jetzt, wie du mit Mojolicious eine Vorlage. Das Mojolicious-Gerüst 6 Ich zeige dir jetzt, wie du mit Mojolicious eine Vorlage für deine Web-Anwendung erstellst, die wir dann im Rest des Buchs immer weiter ausbauen. Sie enthält zu Beginn nur das Notwendige, um sie im Browser

Mehr

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (OOP) VERERBUNG

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (OOP) VERERBUNG Grundzüge der Programmierung Konzepte der objektorientierten Programmierung (OOP) VERERBUNG Inhalt dieser Einheit Vererbung Generalisierung Spezialisierung Klassenhierarchie Grundzüge der Programmierung

Mehr

Personalpronomen und das Verb to be

Personalpronomen und das Verb to be Personalpronomen und das Verb to be Das kann ich hier üben! Das kann ich jetzt! Was Personalpronomen sind und wie man sie verwendet Wie das Verb to be gebildet wird Die Lang- und Kurzformen von to be Verneinung

Mehr

Study guide written by René Koglbauer

Study guide written by René Koglbauer Published November 2013 WITH SUPPORT FROM Aufgabe während des Films Was erfährst du über diese Themen? (What did you learn about these topics?) Fußball Familie Nachkriegszeit 2 Aufgabe 1 Die Hauptfigur:

Mehr

1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung

1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung K05 Vererbung & Polymorphie in C++ 1. Grundlegende Eigenscha5en 2. Redefini+on 3. Polymophie 4. Mehrfachvererbung 2 Vererbung in C++: Grundlagen Analog zu Java unterstützt C++ das Konzept der Vererbung:

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Rapide An Event-Based Architecture Definition Language

Rapide An Event-Based Architecture Definition Language Rapide An Event-Based Architecture Definition Language Ralf Bettentrup Seminar: Architekturbeschreibungssprachen Wozu Rapide? Computer mit Modem Provider Broker Client Broker PC Prov 1 Client 1 RS-232

Mehr

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Thema. Intelligente Agenten im Web

Thema. Intelligente Agenten im Web Thema Intelligente Agenten im Web Einführendes Beispiel Suchmaschine Probleme: - Immer mehr falsche Informationen - Anwender werden überfordert - Zeitaufwand erhöht sich - Zunehmendes Sicherheitsrisiko

Mehr

Programmentwicklung ohne BlueJ

Programmentwicklung ohne BlueJ Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie

Mehr

Ablauf des Unterrichtsbeispiels

Ablauf des Unterrichtsbeispiels Methode: Partnerpuzzle Thema des Unterrichtsbeispiels: Nice to meet you Fach: Englisch Klassenstufe: Kompetenzbereich: Kommunikative Kompetenzen ( GeR S.103ff) Fertigkeiten Sprechen Ziele Die SuS tauschen

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 [email protected] http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

Typdeklarationen. Es gibt in Haskell bereits primitive Typen:

Typdeklarationen. Es gibt in Haskell bereits primitive Typen: Typdeklarationen Es gibt in bereits primitive Typen: Integer: ganze Zahlen, z.b. 1289736781236 Int: ganze Zahlen mit Computerarithmetik, z.b. 123 Double: Fließkommazahlen, z.b. 3.14159 String: Zeichenketten,

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Gebundene Typparameter

Gebundene Typparameter Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte

Mehr

Leitfaden E-Books Apple. CORA E-Books im ibook Store kaufen. Liebe Leserinnen und Leser, vielen Dank für Ihr Interesse an unseren CORA E-Books.

Leitfaden E-Books Apple. CORA E-Books im ibook Store kaufen. Liebe Leserinnen und Leser, vielen Dank für Ihr Interesse an unseren CORA E-Books. CORA E-Books im ibook Store kaufen Liebe Leserinnen und Leser, vielen Dank für Ihr Interesse an unseren CORA E-Books. Wir sind sehr daran interessiert, dass Sie die CORA E-Books auf Ihre gewünschten Lesegeräte

Mehr

DSLs mit Xtext entwerfen. 17.08.2012, A. Arnold

DSLs mit Xtext entwerfen. 17.08.2012, A. Arnold DSLs mit Xtext entwerfen 17.08.2012, A. Arnold Copyright 2012 anderscore GmbH Inhalt 1. Was sind DSLs? 2. Xtext Konzepte 3. Einführung ins Sprachdesign 4. Hands On! 3 4 8 20 2 Was sind DSLs? Domain Specific

Mehr

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2 EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2

Mehr

State Machine Workflow mit InfoPath Formularen für SharePoint 2010 Teil 6

State Machine Workflow mit InfoPath Formularen für SharePoint 2010 Teil 6 State Machine Workflow mit InfoPath Formularen für SharePoint 2010 Teil 6 Abstract: Im sechsten Teil der Workflow Serie verbinden wir die Formulare aus dem vorigen Teil mit unserem Workflow. Teil 6: InfoPath

Mehr

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6 Gudrun Fischer Sascha Kriewel [email protected] Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Kapitel 4. Mehrfachvererbung. Beispiel 1: typische Diamant Struktur. Person. Hiwi

Kapitel 4. Mehrfachvererbung. Beispiel 1: typische Diamant Struktur. Person. Hiwi Kapitel 4 Mehrfachvererbung eispiel 1: Person Student ngestellter typische iamant Struktur Hiwi 29 4. Mehrfachvererbung eispiel 2: Fenster mit Rand und Menü; Verteilung von Rand und Menü auf 2 Unterklassen

Mehr

OO Softwareentwicklung

OO Softwareentwicklung OO Softwareentwicklung Objektorientierung Prof. Dr. Bernhard Schiefer 1 OO als Ansatz zur Verbesserung der Software-Qualität Modellierung der Welt als selbständig agierende Objekte. Gemeinsame Beschreibung

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Klausur BWL V Investition und Finanzierung (70172)

Klausur BWL V Investition und Finanzierung (70172) Klausur BWL V Investition und Finanzierung (70172) Prof. Dr. Daniel Rösch am 13. Juli 2009, 13.00-14.00 Name, Vorname Anmerkungen: 1. Bei den Rechenaufgaben ist die allgemeine Formel zur Berechnung der

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

3. Auflage. O Reillys Taschenbibliothek. C# 5.0 kurz & gut. Joseph Albahari & Ben Albahari O REILLY. Aktualisierung von Lars Schulten

3. Auflage. O Reillys Taschenbibliothek. C# 5.0 kurz & gut. Joseph Albahari & Ben Albahari O REILLY. Aktualisierung von Lars Schulten O Reillys Taschenbibliothek 3. Auflage C# 5.0 kurz & gut O REILLY Joseph Albahari & Ben Albahari Aktualisierung von Lars Schulten Inhalt C# 5.0 kurz & gut... 1 Ein erstes C#-Programm... 2 Syntax... 5 Typgrundlagen...

Mehr

Lektion 9: Konjugation von Verben im Präsens (conjugation of verbs in present tense)

Lektion 9: Konjugation von Verben im Präsens (conjugation of verbs in present tense) Lektion 9: Konjugation von Verben im Präsens (conjugation of verbs in present tense) Verben werden durch das Anhängen bestimmter Endungen konjugiert. Entscheidend sind hierbei die Person und der Numerus

Mehr

188.154 Einführung in die Programmierung für Wirtschaftsinformatik

188.154 Einführung in die Programmierung für Wirtschaftsinformatik Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger

Mehr

12. Vererbung. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)

12. Vererbung. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04) 12. Vererbung Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Vererbung Konzept!Protected Section!Virtuelle Mitgliedsfunktionen!Verwendung von Vererbung Copyright: M. Gross, ETHZ, 2003 2 Vererbung!

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

Umbenennen eines NetWorker 7.x Servers (UNIX/ Linux)

Umbenennen eines NetWorker 7.x Servers (UNIX/ Linux) NetWorker - Allgemein Tip #293, Seite 1/6 Umbenennen eines NetWorker 7.x Servers (UNIX/ Linux) Dies wird offiziell nicht von unterstützt!!! Sie werden also hierfür keinerlei Support erhalten. Wenn man

Mehr

Seit über. Jahren WIR SIND KARTZFEHN. Leitlinien zur Führung und Zusammenarbeit

Seit über. Jahren WIR SIND KARTZFEHN. Leitlinien zur Führung und Zusammenarbeit WIR SIND KARTZFEHN Leitlinien zur Führung und Zusammenarbeit Liebe Kartzfehner, lässt man die Nachtruhezeit außer Betracht, verbringt ein Berufstätiger mehr Zeit mit seinen Kolleginnen und Kollegen als

Mehr

Kapitel 12: Übersetzung objektorienter Konzepte

Kapitel 12: Übersetzung objektorienter Konzepte Kapitel 12: Übersetzung objektorienter Konzepte Themen Klassendarstellung und Methodenaufruf Typüberprüfung Klassenhierarchieanalyse Escape Analyse 12.1 Klassendarstellung bei Einfachvererbung class Punkt

Mehr

Klassenbeziehungen & Vererbung

Klassenbeziehungen & Vererbung Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software Artologik EZ-Equip Plug-in für EZbooking version 3.2 Artologik EZbooking und EZ-Equip EZbooking, Ihre webbasierte Software zum Reservieren von Räumen und Objekten, kann nun durch die Ergänzung um ein oder

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

Erfolg beginnt im Kopf

Erfolg beginnt im Kopf Erfolg beginnt im Kopf Wie Sie ausgeglichen bleiben und Ihre Ziele einfacher erreichen 8. VR-Unternehmerforum AGRAR Die Ausgangslage Am Markt 6 49406 Barnstorf Am Markt 6 49406 Barnstorf Alles verändert

Mehr

Menü auf zwei Module verteilt (Joomla 3.4.0)

Menü auf zwei Module verteilt (Joomla 3.4.0) Menü auf zwei Module verteilt (Joomla 3.4.0) Oft wird bei Joomla das Menü in einem Modul dargestellt, wenn Sie aber z.b. ein horizontales Hauptmenü mit einem vertikalen Untermenü machen möchten, dann finden

Mehr

Bauteilattribute als Sachdaten anzeigen

Bauteilattribute als Sachdaten anzeigen Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen

Mehr

Access und die andern (Office) Programme. Armin Hess

Access und die andern (Office) Programme. Armin Hess Access und die andern (Office) Programme Armin Hess Was wir wollen Excel, Word, Powerpoint und andere Programme von Access aus fernsteuern Grundlagen Excel, Word, Powerpoint und andere Programme präsentieren

Mehr

Ich bin ein Versager. ich stehe mir selbst im Weg. Was kann mir helfen Arzt Therapeut Psychologe Sie haben versagt. Ihre Abteilung bringt keine Leistung Sie haben mir kein Geld und Personal gegeben Sie

Mehr

Löschen eines erkannten aber noch nicht konfigurierten Laufwerks

Löschen eines erkannten aber noch nicht konfigurierten Laufwerks NetWorker - Allgemein Tip 359, Seite 1/6 Löschen eines erkannten aber noch nicht konfigurierten Laufwerks Seit der Version 7.3.0 ist es sehr einfach, vorhandene Sicherungslaufwerke durch den NetWorker

Mehr

Catch Me If You Can! Grundlagenstudie zur Parallelnutzung mehrerer Screens und deren Auswirkungen auf Aufmerksamkeit, Involvement und Werbewahrnehmung

Catch Me If You Can! Grundlagenstudie zur Parallelnutzung mehrerer Screens und deren Auswirkungen auf Aufmerksamkeit, Involvement und Werbewahrnehmung Catch Me If You Can! Grundlagenstudie zur Parallelnutzung mehrerer Screens und deren Auswirkungen auf Aufmerksamkeit, Involvement und Werbewahrnehmung Multi-Screen-Typen Online Pragmatiker Native Multi-Screener

Mehr

Das neue Volume-Flag S (Scannen erforderlich)

Das neue Volume-Flag S (Scannen erforderlich) NetWorker 7.4.2 - Allgemein Tip 2, Seite 1/5 Das neue Volume-Flag S (Scannen erforderlich) Nach der Wiederherstellung des Bootstraps ist es sehr wahrscheinlich, daß die in ihm enthaltenen Informationen

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

German Section 33 - Online activitites

German Section 33 - Online activitites No. 01 Was kostet das? How much does that cost? sharer case No. 02 Drei gewinnt! Tic Tac Toe sharer case No. 03 der, die oder das? Which definite article? Das Heft ist grün. The is green. Der Radiergummi

Mehr

XML-Namensräume. Marc Monecke [email protected]

XML-Namensräume. Marc Monecke monecke@informatik.uni-siegen.de XML-Namensräume Marc Monecke [email protected] Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 19. Mai 2003 Inhaltsverzeichnis 1 Motivation

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: 727026 :: WINTERSEMESTER 08 09

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: 727026 :: WINTERSEMESTER 08 09 SAMMEL DEINE IDENTITÄTEN::: :: IDEE :: Ich selbst habe viele verschiedene Benutzernamen und Passwörter und wenn ich mir diese nicht alle aufschreiben würde, würde ich alle durcheinander bringen oder welche

Mehr

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems Mitglied der Zürcher Fachhochschule TIn 1: Lecture 4 Data transfer Feedback Laboratories Question: What is the IP? Why do we NEED an IP? Lecture 3: Lernziele Moving data, the why s and wherefores Moving

Mehr

Windows 7 - Whoami. Whoami liefert Informationen wie z.b. die SID, Anmelde-ID eines Users, sowie Gruppenzuordnungen, Berechtigungen und Attribute.

Windows 7 - Whoami. Whoami liefert Informationen wie z.b. die SID, Anmelde-ID eines Users, sowie Gruppenzuordnungen, Berechtigungen und Attribute. Bei Windows 8/7 und Vista ist die Benutzerverwaltung, die zentrale Stelle zur Verwaltung der angelegten Benutzer. Wer weitere Informationen zu einem Benutzer erfahren möchte, der nutzt den DOS Befehl whoami.

Mehr

Registrierungsprozess des Boardgeräts (OBU) Inhalt. 1.1. Registrierung auf der Online-Benutzeroberfläche HU-GO

Registrierungsprozess des Boardgeräts (OBU) Inhalt. 1.1. Registrierung auf der Online-Benutzeroberfläche HU-GO Registrierungsprozess des Boardgeräts (OBU) Inhalt 1. Einloggen... 1 1.1. Registrierung auf der Online-Benutzeroberfläche HU-GO... 1 1.2. Einloggen in das System HU-GO... 4 1.3. Auswahl des Kontos... 5

Mehr

1. Richtig oder falsch? R F

1. Richtig oder falsch? R F FRANZ KAFKA: GIB S AUF! 1 Es war sehr früh am Morgen, die Straßen rein und leer, ich ging zum Bahnhof. Als ich eine Turmuhr mit meiner Uhr verglich 1, sah ich, dass es schon viel später war, als ich geglaubt

Mehr

Ein reales Testumfeld bereitstellen - basierend auf einer Produktionsdatenbank (ohne eine neue Kopie zu erstellen)

Ein reales Testumfeld bereitstellen - basierend auf einer Produktionsdatenbank (ohne eine neue Kopie zu erstellen) Ein reales Testumfeld bereitstellen - basierend auf einer Produktionsdatenbank (ohne eine neue Kopie zu erstellen) Auch in früheren Versionen als der 11.2, konnte man eine Standby Datenbank abhängen, sie

Mehr

Toolbeschreibung: EVERNOTE

Toolbeschreibung: EVERNOTE Toolbeschreibung: EVERNOTE Evernote ist ein Programm, um Notizen zu sammeln. Man kann es sowohl online nutzen, als auch offline von seinem PC (dafür muss man sich das Programm runterladen). Die ersten

Mehr

Anspruchsvolle Dreierausdrücke zum selbstständigen Lernen

Anspruchsvolle Dreierausdrücke zum selbstständigen Lernen Anspruchsvolle Dreierausdrücke zum selbstständigen Lernen von Frank Rothe Das vorliegende Übungsblatt ist als Anregung gedacht, die Sie in Ihrer Klasse in unterschiedlicher Weise umsetzen können. Entwickelt

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

EUROPEAN CONSORTIUM FOR THE CERTIFICATE OF ATTAINMENT IN MODERN LANGUAGES

EUROPEAN CONSORTIUM FOR THE CERTIFICATE OF ATTAINMENT IN MODERN LANGUAGES Centre Number Nummer des Testzentrums.... Candidate No. Nummer des Kandidaten EUROPEAN CONSORTIUM FOR THE CERTIFICATE OF ATTAINMENT IN MODERN LANGUAGES For Examiners' Use Only Bitte nicht beschriften.

Mehr

Zur drittletzten Zeile scrollen

Zur drittletzten Zeile scrollen 1 Fragen und Antworten zur Computerbedienung Thema : Zur drittletzten Zeile scrollen Thema Stichwort Programm Letzte Anpassung Zur drittletzten Zeile scrollen Scrollen VBA Excel 1.02.2014 Kurzbeschreibung:

Mehr