Java Beans. Übersicht, Eigenschaftstypen, Heutiger Stand.

Größe: px
Ab Seite anzeigen:

Download "Java Beans. Übersicht, Eigenschaftstypen, Heutiger Stand."

Transkript

1 Java Beans Übersicht, Eigenschaftstypen, Heutiger Stand. 1

2 Definition Eine Bean ist eine wieder verwendbare Softwarekomponente basierend auf der JavaBeans-Spezifikation von Sun, die sich visuell mit einem Programmierwerkzeug manipulieren lässt. 2

3 Java Beans 3

4 Entwicklung Designzeitpunkt Ausführungszeitpunkt 4

5 Designzeitpunkt 5

6 Eigenschaften von Beans Eine Bean wird im Programm durch ein Objekt (also eine instanzierte Klasse) repräsentiert. Sie besitzt konfigurierbare Eigenschaften, die ihr Verhalten festlegen. Eine Bean ist serialisierbar und deserialisierbar. Eine Bean sendet Events. Einer Bean kann optional ein Informations-Objekt zugeordnet werden. 6

7 Bean-Klasse Es gibt keine Bean-Klasse, die man zum Erstellen von Beans erweitern könnte! Sichtbare Beans erweitern direkt oder indirekt die Klasse Component. Nicht sichtbare Beans müssen keine bestimmte Superklasse erweitern. 7

8 Namensmuster für Eigenschaften Eigenschaften sind ein wesentliches Designmerkmal von Beans. Beim Namensmuster für Eigenschaften entspricht ein Methodenpaar public X geteigenschaftsname() public void seteigenschaftsname(x x) einer Lese-/Schreibeigenschaft vom Typ X 8

9 Eine sehr einfache Bean package p; public class Quadrat implements java.io.serializable { private int zahl; public int getzahl() { return zahl; } public void setzahl(int zahl) { this.zahl = zahl; } } public int getquadrat() { return this.zahl * this.zahl; } 9

10 Jar-Archive für Komponenten Listing: Quadrat.mf Manifest-Version: 1.0 Name: p/qudrat.class Java-Bean: True Im nächsten Schritt packen wir mit jar die Klassen, sowie die Manifest-Datei zu einem Archiv zusammen. $ jar cfm Quadrat.jar Quadrat.mf p/quadrat.class 10

11 DEMO Quadrat in NetBeans Switch 11

12 Namensmuster für Ereignisse Ereignisse von Typ ClickEvent Empfängerschnittstelle: ClickListener Die Methoden zum Hinzufügen und Entfernen eines Empfängers: public void addclicklistener(clicklistener e) public void removeclicklistener(clicklistener e) 12

13 Eigenschaftstypen von Beans Eine komplexe Bean hat verschiedene Arten von Eigenschaften, die man in einem Programmierwerkzeug freilegen sollte, damit sie ein Benutzer zur Entwurfzeit setzen oder zur Laufzeit abrufen kann. Einfache Eigenschaften Boolesche Eigenschaften Indizierte Eigenschaften Gebundene Eigenschaften Eingeschränkte Eigenschaften 13

14 Eigenschaftstypen von Beans Einfache Eigenschaften public int getzahl() { } public void setzahl(int zahl) { } Boolesche Eigenschaften public boolean isvisible() { } public void setvisible(boolean v) { } 14

15 Indizierte Eigenschaften Methodennamen: public X getname(int index) { } public void setname(int index, X newvalue) { } Es werden keine Arrays übergeben, sondern die Methoden erwarten jeweils den Index der gewünschten Eigenschaft als zusätzliches Argument. Für das Einhalten der Arraygrenzen ist der Aufrufer selbst verantwortlich! 15

16 Gebundene Eigenschaften andere Komponenten werden über eine Zustandsänderung informiert Die interessierten Beans empfangen vom Auslöser ein PropertyChange-Ereignis, das sie auswerten können. Bei einer Veränderung werden alle registrierten Zuhörer durch ein PropertyChangeEvent informiert Über dieses Ereignis-Objekt erfahren wir den alten und neuen Wert Die Zuhörer werden erst nach der Änderung des internen Zustands informiert. 16

17 Gebundene Eigenschaften Properties: val val Objekt/Komponente BeanClass.val =??? JavaBeanClass { int val = 25; 0; 1; } addpropertychangelistener oldvalue=1; newvalue=25; oldvalue=1; addpropertychangelistener newvalue=25; 2. Objekt/Komponente BeanClass.val = 25 BeanClass.val =??? 3. Objekt/Komponente BeanClass.val = 25 BeanClass.val =??? 17

18 import java.beans.*; import java.awt.*; public class PropertyChangeStringBean extends Canvas { private String string = ""; private PropertyChangeSupport changes=new PropertyChangeSupport(this); } public void setstring( String newstring ) { String oldstring = string; string = newstring; Beispiel: changes.firepropertychange( "string", oldstring, newstring ); } Diese Komponente Diese Komponente ändert den internen String über setstring(). Nach der Änderung werden alle Listener informiert. Sie bewirkt sonst nichts public String getstring() { return string; Großartiges. public void addpropertychangelistener( PropertyChangeListener l ) { changes.addpropertychangelistener( l ); public void removepropertychangelistener( PropertyChangeListener l ) { changes.removepropertychangelistener( l ); } 18

19 Eingeschränkte Eigenschaften Eine Eigenschaft wird durch die Tatsache eingeschränkt, das ein beliebiger Empfänger gegen vorgeschlagene Änderungen Einspruch erheben kann und damit bewirkt, dass die Eigenschaft zur alten Einstellung zurückkehrt. 19

20 Bean-Eigenschaften anpassen 20

21 BeanInfo-Klasse explizites Auflisten der freigegebenen Leistungen, die nach außen sichtbar sein sollen Zuordnung eines mit der Bean verwendeten Icons; Anmeldung einer Customizer-Klasse. 21

22 Literaturhinweise Java ist auch eine Insel von Christian Ullenboom, Galileo Computing Handbuch der Java-Programmierung von Guido Krüger, Addison-Wesley Core Java 2 Bd.2 Expertenwissen C.S.Horstmann, G.Cornell, Addison-Wesley 22

23 JavaBeans Sergej Sasypkin Fragen? 23

Java Beans von Christian Beck-Wörner. Inhalt. Was ist ein Bean Konzept von Beans Entwicklung eines Beans Eigenschaften von Beans Testumgebung: BDK

Java Beans von Christian Beck-Wörner. Inhalt. Was ist ein Bean Konzept von Beans Entwicklung eines Beans Eigenschaften von Beans Testumgebung: BDK Java Beans von Christian Beck-Wörner Inhalt Was ist ein Bean Konzept von Beans Entwicklung eines Beans Eigenschaften von Beans Testumgebung: BDK Was ist ein Bean? Ein JavaBean ist eine wiederverwendbare

Mehr

Java Beans. http://java.sun.com/beans/

Java Beans. http://java.sun.com/beans/ Java Beans http://java.sun.com/beans/ Software Komponenten Eine Software Komponente ist ein eigenständiges, flexibles und einfach wieder verwendbares Stück Software. In Java: + Plattformunabhängigkeit

Mehr

Java Beans. von Raoul Schneider

Java Beans. von Raoul Schneider Java Beans von Raoul Schneider Java Beans Was ist ein Bean? Idee Eigenschaften Die Beanbox Vom Java-Programm zum Java-Bean Beans in JBuilder Was ist ein Bean? Ein Bean ist eine eigenständige, wiederverwendbare

Mehr

JavaBeans Property-Editoren und Customizer

JavaBeans Property-Editoren und Customizer JavaBeans Property-Editoren und Customizer J. Heinzelreiter WS 2004/05 Property-Editoren Builder Tools beinhalten Standard-Editoren für Zahlen (ganze Zahlen, Gleitkommazahlen), Strings, Auswahl von Fonts,

Mehr

Hintergrund und Motivation

Hintergrund und Motivation Zentrale Aspekte der Komponentenorientierung 2. JavaBeans als Komponenten Java-GUI-Elemente sind Beans Typischer Aufbau von Beans Bound properties Constrained Properties Speichern Literatur: Sun, JavaBeans

Mehr

JavaBeans. Marc Monecke monecke@informatik.uni-siegen.de

JavaBeans. Marc Monecke monecke@informatik.uni-siegen.de JavaBeans Übersicht Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 3. Juni 2003 Inhaltsverzeichnis 1 JavaBeans-Grundlagen

Mehr

Modernisierung von Forms durch neues Look&Feel

Modernisierung von Forms durch neues Look&Feel Modernisierung von Forms durch neues Look&Feel Dr. Gudrun Pabst gudrun.pabst@trivadis.com Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Agenda Definition

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Einführung in die Informatik - Teil 6a -

Einführung in die Informatik - Teil 6a - Eckart Modrow Felder mit dem JBuilder S. 1 Einführung in die Informatik - Teil 6a - Felder mit dem JBuilder Inhalt: 1. Bezug zum Unterricht: Anwendungen 2. Eine eigene Klasse Feldverwalter 3. Den Feldverwalter

Mehr

Das Model View Controller (MVC) Konzept

Das Model View Controller (MVC) Konzept Das Model View Controller (MVC) Konzept Ziel: Erhöhung der Flexibilität und Reduktion der Komplexität von GUI-Programmen durch Standard- Struktur (MVC-Pattern). Geht zurück auf Smalltalk. View 1 View 2

Mehr

Richard Bubel & Martin Hentschel

Richard Bubel & Martin Hentschel Einführung in Software Engineering Übung 9: Design Patterns Richard Bubel & Martin Hentschel 31. Januar 2013 130131 TUD M. Hentschel 1 Aufgabe 9.1 (7 Punkte) Ziel: Entwurfsmuster verstehen und anwenden

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Modulare Anwendungen und die Lookup API Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Die Notwendigkeit modularer Anwendungen Die Notwendigkeit modularer

Mehr

Instrumentierung und Dekodierung

Instrumentierung und Dekodierung 116 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Instrumentierung und Dekodierung Erweiterung der Grafikklassen Das awt-paket erweitert alle Klassen für Grafikobjekte in java.awt, so

Mehr

Dr. Gudrun Pabst Trivadis GmbH. Forms und JavaBeans. Enhanced JavaBean Support in Forms 9i

Dr. Gudrun Pabst Trivadis GmbH. Forms und JavaBeans. Enhanced JavaBean Support in Forms 9i Dr. Gudrun Pabst Trivadis GmbH Forms und JavaBeans Enhanced JavaBean Support in Forms 9i Forms und JavaBeans Inhalt Inhalt: Einführung Einfaches Beispiel Setzen und Abfragen von Properties Indexed Properties

Mehr

11. Komponenten Grundlagen der Programmierung 1 (Java)

11. Komponenten Grundlagen der Programmierung 1 (Java) 11. Komponenten Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 10. Januar 2006 Einordnung im Kontext der Vorlesung

Mehr

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

Kapitel 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

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

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware

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

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen 7. Schnittstellen Grundlagen zu Schnittstellen 7. Schnittstellen Eine Schnittstelle (Interface) ist eine Spezifikation eines Typs in Form eines Typnamens und einer Menge von Methoden, die keine Implementierungen

Mehr

Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax

Weitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax Weitere Beispiele Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts public interface Funktion { boolean istimdefbereich(double x); double wert(double x); String gibbeschreibung(); public interface

Mehr

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces

Polymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 20 Polymorphie/Späte Bindung Abstrakte Klassen Interfaces 2 / 20 Definition: Polymorphie Der Begriff Polymorphie (manchmal

Mehr

Java im Informatikunterricht der gymnasialen Oberstufe 2. Teil

Java im Informatikunterricht der gymnasialen Oberstufe 2. Teil Java im Informatikunterricht der gymnasialen Oberstufe 2. Teil Mirko Carl-Zeiss-Gymnasium Jena Fachbereich Informatik Vortrag für Informatiklehrer in Jena, 19. 6. 2007 Gliederung Strings 1 Strings 2 3

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces 10 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Interfaces Aber: Mehrfachvererbung von Klassen ist in Java nicht erlaubt. Ausweg Definition eines Interfaces, z.b.:

Mehr

Deklaration einer Klasse Innere innerhalb Klassen einer in Ja anderen v a Klasse

Deklaration einer Klasse Innere innerhalb Klassen einer in Ja anderen v a Klasse Innere Klassen in Java Java 1.0: nur top-level Klassen Seit Java Version 1.1: Innere Klassen Deklaration einer Klasse innerhalb einer anderen Klasse Illustration Eigenschaften Vorteile Anwendungsmöglichkeiten

Mehr

Ein kleiner Blick auf die generische Programmierung

Ein kleiner Blick auf die generische Programmierung TgZero Technik.Blosbasis.net June 3, 2013 1 Inhaltsverzeichnis 1 Vorwort 3 2 Ein kleines Beispiel 3 3 Templates 3 4 Verschiedene Datentypen 4 5 Variadic Templates 5 6 Unterschied zwischen den Programmiersprachen

Mehr

Java programmieren mit JavaKara. Eine Zusammenfassung in Beispielen

Java programmieren mit JavaKara. Eine Zusammenfassung in Beispielen Java programmieren mit JavaKara Eine Zusammenfassung in Beispielen Kleeblätter in einer Zeile zählen @Override public void mymainprogram() { int anzahlkleeblaetter = 0; for (int x = 0; x < world.getsizex();

Mehr

Model-View-Controller. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1

Model-View-Controller. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Model-View-Controller Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Model View Controller (MVC) Architekturmuster für die Gestaltung von interaktiven Oberflächen 3 Komponenten Model: Datenmodell

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

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 13 Einstieg in die Informatik mit Java Schnittstellen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Einführung 2 Definition einer Schnittstelle 3 Implementierung

Mehr

Durch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei

Durch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei Lösungsvorschläge zur Klausur zum Kurs 1618 Sommersemester 2001 am 22.9.2001 Aufgabe 1 a) Benutzungsbeziehung: class Kennzeichen class Fahrzeug boolean gueltigeskennzeichen (Kennzeichen kz) Objekte der

Mehr

Bean-Mapping mit MapStruct

Bean-Mapping mit MapStruct Machst Du noch Reflection oder annotierst Du schon? Bean-Mapping mit MapStruct Thomas Much thomas@muchsoft.com www.muchsoft.com 1 20 Jahre Java, 18 Jahre Beans JavaBeans JAXBEntities 2015 2006 2005 2000

Mehr

Eventhandling. Delegation model Eventhandler model

Eventhandling. Delegation model Eventhandler model Eventhandling Dient der Kommunikation der Controlls mit der eigentlichen Anwendung. Prinzipiell gibt es zwei verschiedene Verfahren für das Eventhandling Delegation model Eventhandler model Die Arbeit

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4

Mehr

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ EAD II Übung 5 Graphische Benutzungsoberfläche mit BlueJ Graphische Benutzungsoberfläche (GUI) Fenster, das weitere Komponenten zur Darstellung und Interaktion enthält spezielle Standardbibliotheken erforderlich,

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

JavaBeans Properties und Events

JavaBeans Properties und Events JavaBeans Properties und Events J. Heinzelreiter WS 2004/05 JavaBeans - Literatur Bücher L. Vanhelsuwé: Mastering JavaBeans R. Leinecker et al: JavaBeans Unleashed Bruce Eckel: Thinking in Java Tutorial

Mehr

Java im Informatikunterricht der gymnasialen Oberstufe

Java im Informatikunterricht der gymnasialen Oberstufe Java im Informatikunterricht der gymnasialen Oberstufe Mirko Carl-Zeiss-Gymnasium Jena Fachbereich Informatik Vortrag für Informatiklehrer in Jena, 13. 3. 2007 http://www.javastars.de Gliederung Java 1

Mehr

1 Erweiterung durch eigene Java-Klassen

1 Erweiterung durch eigene Java-Klassen 1 Erweiterung durch eigene Java-Klassen 1.1 Einführung Java ist eine moderne, imperative objektorientierte Programmiersprache. Da PXLab in Java geschrieben ist kann man es auch relativ einfach mit Hilfe

Mehr

10. Pakete Einführung in die Programmierung (fbw) Sommersemester 2007 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

10. Pakete Einführung in die Programmierung (fbw) Sommersemester 2007 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 10. Pakete Einführung in die Programmierung (fbw) Sommersemester 2007 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in die

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte 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

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben 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

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

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

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe

Einfü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

Mehr

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Exkurs: ANONYME KLASSEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Anonyme Klassen Eigenschaften 1 Häufigste Anwendung lokaler Klassen: anonyme Definition. Klasse erhält keinen eigenen

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Java Beans. Seminar Komponentenprogrammierung Freie Universität Berlin, WS 2004/2005 Ivo Köhler, 08. November 2004

Java Beans. Seminar Komponentenprogrammierung Freie Universität Berlin, WS 2004/2005 Ivo Köhler, 08. November 2004 Java Beans Seminar Komponentenprogrammierung Freie Universität Berlin, WS 2004/2005 Ivo Köhler, 08. November 2004 1 Agenda Was sind Java Beans? Wie funktionieren Java Beans? Objekte vs. Komponenten Mechanismen

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

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: 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,

Mehr

(C) Sortieren und Suchen mit Java.-AWT Seite 1

(C)  Sortieren und Suchen mit Java.-AWT Seite 1 Sortieren sowie Suchen mit dem Halbierungsverfahren, programmiert mit der Java-AWT Funktion und Oberfläche sind in getrennten Klassen untergebracht. Die ganze Anwendung besteht damit aus drei Dateien:

Mehr

Fenster in Java. von Stefanie Gerckens 1

Fenster in Java. von Stefanie Gerckens 1 Fenster in Java von Stefanie Gerckens 1 Inhaltsverzeichnis Die verschiedenen Fensterklassen Aufrufen und Schließen eines Fensters Visuelle Eigenschaften eines Fensters Anzeigezustand eines Fensters Fensterelemente

Mehr

Arbeitsblatt zu Methoden

Arbeitsblatt zu Methoden Arbeitsblatt zu Methoden In den vorhergehenden Programmen haben wir bereits jede Menge Methoden benutzt: 1. kara.move(), kara.turnright(), kara.putleaf() Dies sind alles Methoden, die etwas ausführen,

Mehr

UML / Fujaba. Generierung von Java-Quellcode aus UML-Diagrammen. Marcel Friedrich

UML / Fujaba. Generierung von Java-Quellcode aus UML-Diagrammen. Marcel Friedrich UML / Fujaba Generierung von Java-Quellcode aus UML-Diagrammen Marcel Friedrich Agenda Einleitung Struktur Verhalten Klassendiagramme Storydiagramme Statecharts Action methods 2 Thema Codegenerierung mit

Mehr

Java Vererbung. Inhalt

Java Vererbung. Inhalt Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter

Mehr

Einbindung der Tastatur

Einbindung der Tastatur Einbindung der Tastatur Auch die Tastatur kann man wie die Maus zur interaktiven Programmsteuerung verwenden. Bei der Maus ist stets klar, welche grafische Komponente bei einem Klick oder einer Bewegung

Mehr

Informatik II Übung 06. Benjamin Hepp 5 April 2017

Informatik II Übung 06. Benjamin Hepp 5 April 2017 Informatik II Übung 06 Benjamin Hepp benjamin.hepp@inf.ethz.ch 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.

Mehr

Äußere Form ArrayList Vererbung API. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann. Tilman Lüttje, Jean Wiele

Äußere Form ArrayList Vererbung API. Einführung in Java. Arne Hüffmeier. Michelle Liebers, Dennis Hoffmann. Tilman Lüttje, Jean Wiele Einführung in Java Arne Hüffmeier Michelle Liebers, Dennis Hoffmann Tilman Lüttje, Jean Wiele Angelehnt an Java-Vorkurs der Freitagsrunde 1 / 28 1 Äußere Form Kommentare Formatierung Schreibweise 2 ArrayList

Mehr

Medientechnik. Übung 2 Java Swing

Medientechnik. Übung 2 Java Swing Medientechnik Übung 2 Java Swing Planung Nr Zeitraum Thema 1 20.04. 25.04. Bildretusche mit Gimp 2 27.04. 01.05. GUI Programmierung 3 04.05. 08.05. Model-View Controller 4 18.05. 22.05. Bildfilter 5 26.05.

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

Inhaltsverzeichnis. Apps für Android entwickeln

Inhaltsverzeichnis. Apps für Android entwickeln Inhaltsverzeichnis zu Apps für Android entwickeln von Jan Tittel und Jochen Baumann ISBN (Buch): 978-3-446-43191-1 ISBN (E-Book): 978-3-446-43315-1 Weitere Informationen und Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-43191-1

Mehr

Das Ersetzbarkeitsprinzip

Das Ersetzbarkeitsprinzip Das Ersetzbarkeitsprinzip U ist Untertyp von T, wenn eine Instanz von U überall verwendbar ist, wo eine Instanz von T erwartet wird Dieses Ersetzbarkeitsprinzip benötigt man für den Aufruf einer Routine

Mehr

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert

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 - ! 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;

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

Mehr

Java für Computerlinguisten

Java für Computerlinguisten Java für Computerlinguisten 5. Grafische Userinterfaces Christian Scheible Institut für Maschinelle Sprachverarbeitung 31. Juli 2009 Christian Scheible Java für Computerlinguisten 31. Juli 2009 1 / 33

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests. Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Einführung in die objektorientierte Programmierung Teil 3 2 Übersicht der heutigen Inhalte Pakete Beispiel zur Verdeckung Polymorphie Modifikatoren bei Klassenelementen 3 Zusammenhang

Mehr

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

1.2 Attribute und Methoden Aufbau einer Java-Klasse: Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){

Mehr

Swing :Komponenten I (Teil 2)

Swing :Komponenten I (Teil 2) l Bei Swing handelt es sich um eine Programmierschnittstelle und Grafikbibliothek zum Programmieren von grafischen Benutzeroberflächen l Swing stellt eine Menge von Klassen zur Verfügung l Swing wurde

Mehr

Programmieren in Java -Eingangstest-

Programmieren 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

Mehr

Applets I. Grundlagen der g Applet-Programmierung

Applets I. Grundlagen der g Applet-Programmierung Applets I Grundlagen der g Applet-Programmierung 2 Inhalt Applets Was sind Applets Entwicklung Grundlagen Zustandssteuerung eines Applets Methoden zum Nachrichtentransfer Soundausgabe Animation Einbindung

Mehr

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch Einführung in die Programmierung für Nebenfach Medieninformatik Beat Rossmy, Michael Kirsch Direct Feedback - Socrative Eure Mitarbeit ist uns wichtig! Installiert euch dazu die kostenlose App Socrative

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

Wie entwerfe ich ein Programm?

Wie entwerfe ich ein Programm? Wie entwerfe ich ein Programm? Welche Objekte brauche ich? Flussdiagramme für Programmablauf Vorcode Testcode Hauptcode Wir spielen Lotto! Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 5 +

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

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

Klausur: Java (Liste P)

Klausur: Java (Liste P) Klausur: Java (Liste P) SS05 Erlaubte Hilfsmittel: Gebundene! Unterlagen (Skript mit Anmerkungen, eigene Mitschrift) und maximal ein Buch. Bitte keine losen Blätter. Lösung ist auf den Klausurbögen anzufertigen.

Mehr

14 Abstrakte Klassen, finale Klassen, Interfaces

14 Abstrakte Klassen, finale Klassen, Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse

Mehr

Klausur Software-Entwicklung März 01

Klausur Software-Entwicklung März 01 Aufgabe 1: minimaler Punktabstand ( 2+5 Punkte ) Matrikelnr : In einem Array punkte sind Koordinaten von Punkten gespeichert. Ergänzen Sie in der Klasse Punkt eine Klassen-Methode (=static Funktion) punktabstand,

Mehr

Listing 1: Cowboy. Listing 2: Woody

Listing 1: Cowboy. Listing 2: Woody Musterlösung Test 3 Aufgabe 1: Cowboy Listing 1: Cowboy class Cowboy { public String rope ( Cowboy that ) { if ( this == that ) { return exclaim (); 5 else { return " Caught "; public String exclaim ()

Mehr

Praktikum Softwareentwicklung 2

Praktikum Softwareentwicklung 2 Praktikum Softwareentwicklung 2 2015S Verena Bitto DI Philipp Lengauer Dr. Herbert Prähofer Institut für Systemsoftware Johannes Kepler Universität Linz Praktikum SWE 2 Institut für Systemsoftware, Johannes

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

3 Properties und Bindings

3 Properties und Bindings 19 Eine Aufgabe einer Benutzeroberfläche ist es, den Zustand von Datenobjekten darzustellen und dem Benutzer des Programms die Möglichkeit zu geben, diesen Zustand zu verändern. Der Benutzer bedient zum

Mehr

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen Auswertung von Ausdrücken Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt.

Mehr

Codegeneratoren mit Xtend2. 11.04.2012, A. Arnold

Codegeneratoren mit Xtend2. 11.04.2012, A. Arnold Codegeneratoren mit Xtend2 11.04.2012, A. Arnold Copyright 2012 anderscore GmbH Inhalt 1. Was ist Xtend2? 2. Xtend2 Konzepte 3. Hands On! 3 4 8 20 2 Was ist Xtend2? Funktionale, objektorientierte Sprache

Mehr

ADT: Verkettete Listen

ADT: Verkettete Listen ADT: Verkettete Listen Abstrakter typ - Definition public class Bruch int zaehler, nenner; public Bruch(int zaehler, int nenner) this.zaehler = zaehler; this.nenner = nenner; Konstruktor zum Initialisieren

Mehr

Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen

Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen Th Letschert FH Gießen-Friedberg Th. Letschert OOP 2 Sichtbarkeitsbeziehungen und Geheimnisprinzip Sichtbarkeitsbeziehungen realisieren

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

Konzepte objektorientierter Programmierung

Konzepte objektorientierter Programmierung Konzepte objektorientierter Programmierung Objekte Klassen Nachrichten Kapselung Einführung Vererbung heute! Konzepte objektorientierter Programmierung Was ist ein Objekt? Was ist eine Klasse? Was sind

Mehr

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

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr