It ii ws 2005 2006
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

IT II WS 2005/2006 PowerPoint PPT Presentation


  • 56 Views
  • Uploaded on
  • Presentation posted in: General

IT II WS 2005/2006. Peter Auer. Inhalt. Objektorientierte Programmierung (in Java) David J. Barnes & Michael Kölling Objektorientierte Programmierung mit Java Eine praxisnahe Einf üh rung mit BlueJ Pearson Studium, 2003 ISBN 3-8273-7073-6.

Download Presentation

IT II WS 2005/2006

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


It ii ws 2005 2006

IT IIWS 2005/2006

Peter Auer


Inhalt

Inhalt

  • Objektorientierte Programmierung (in Java)

    • David J. Barnes & Michael KöllingObjektorientierte Programmierung mit JavaEine praxisnahe Einführung mit BlueJPearson Studium, 2003ISBN 3-8273-7073-6.

  • Grundprinzipien der (objektorientierten) Programmierung

  • Algorithmen und Datenstrukturen


Objekte und klassen

Objekte und Klassen

  • Objekte

    • repräsentieren ‘Dinge’ der realen Welt oder eines Problembereichs.

    • Beispiel: „maxMayer ist zur itUE angemeldet.“

  • Klasse

    • beschreibt eine bestimmte Art von Objekten.

    • Beispiel: „Student” und „Laborkurs“

    • Objekte repräsentieren individuelle Instanzen einer Klasse.

    • Von einer Klasse können mehrere Instanzen (instances) erzeugt werden.


Methoden und parameter

Methoden und Parameter

  • Objekte haben Operationen, die aufgerufen werden können (Java: Methoden).

  • Methoden können Parameter haben, durch die zusätzliche Information übertragen werden kann.

  • Parameter haben Typen, die angeben welche Art von Werten ein Parameter annehmen kann.

  • Methoden können einen Ergebniswert zurückliefern.


Demo mit bluej

Demo mit BlueJ


Basiskonzepte

Basiskonzepte

  • Objekt(object)

  • Klasse(class)

  • Methode(method)

  • Parameter(parameter)

  • Datentyp(data type)


Weitere beobachtungen

Weitere Beobachtungen

  • Ein Objekt hat Attribute (attributes): Werte gehalten in Datenfelder.

  • Die Klasse definiert, welche Attribute ein Objekt besitzt, aber jedes Objekt hat seine eigenen Attributwerte (= Zustand des Objektes).


Klassendefinitionen verstehen

Klassendefinitionen verstehen

  • Quelltext anschauen

1.0


Notation von programmier sprachen

Notation von (Programmier-)Sprachen

  • Syntax

    • Wie sieht ein Programm aus, das der Computer versteht?

    • Fehler in der Syntax sind die einfachere Art von Programmierfehlern: Der Computer kann das Programm nicht ausführen.

  • Semantik

    • Was bewirkt das Programm?

    • Fehler in der Semantik sind oft schwieriger zu finden: Der Computer versteht das Programm anders als es gemeint war.


Notation f r die syntax 1

Notation für die Syntax 1

  • programmteil1 ::=programmteil2programmteil3…

    • programmteil1 besteht aus programmteil2, gefolgt von programmteil3, …

  • { programmteil4 }

    • programmteil4 wird beliebig oft wiederholt (auch 0-mal).


Vereinfachte syntax von java compilationunit

Vereinfachte Syntax von Java: CompilationUnit

  • CompilationUnit ::={ ImportStatement }ClassDeclaration

  • Eine CompilationUnit ist jeweils ein Java-File.

  • Bsp: Laborkurs.java

    • import java.util.ArrayList;import java.util.Iterator;import java.util.List;class Laborkurs{…}


Notation f r die syntax 2

Notation für die Syntax 2

  • „class“ …

    • Der Programmteil beginnt mit dem Wort „class“ gefolgt von …

  • ( programmteil5 | programmteil6 )

    • Es folgt entweder programmteil5 oder programmteil6.


Java syntax importstatement

Java-Syntax: ImportStatement

  • ImportStatement ::=„import“ ( ClassName | PackageName „.*“ ) „;“

  • ClassName ::=( Identifier | PackageName „.“ Identifier )

  • PackageName ::=( Identifier | PackageName „.“ Identifier )

  • Identifier ist eine erlaubter Java-Name.

  • Bsp:

    • import java.util.*;


Java syntax classdeclaration

Java-Syntax: ClassDeclaration

  • ClassDeclaration ::=„class“ Identifier„{“{ AttributeDeclaration } { ConstructorDeclaration } { MethodDeclaration }„}“


Java syntax comments

Java-Syntax: Comments

  • Comments ::=(„//“ Textline |„/*“ Text „*/“ |DocComment )

  • DocComment ::= „/**“ Text „*/“

  • Bsp:

    • // der volle Name des Studierenden

    • /** * Trage einen Studenten in diesen Kurs ein. */


Java syntax attributedeclaration

Java-Syntax: AttributeDeclaration

  • AttributeDeclaration ::= VariableDeclaration

  • VariableDeclaration ::=Type Identifier [ „=“ Expression ] „;“

  • Type ::= ( PrimitiveType | ClassName )

  • PrimitiveType ::= ( „int“| „double“ | „boolean“ | „char“| „long“ | „byte“ | „short“ | „float“)

  • Bsp:

    • int anzahl;

    • List studentenListe = new ArrayList();


Notation f r die syntax 3

Notation für die Syntax 3

  • [ programmteil7 ]

    • programmteil7 ist optional, d.h. programmteil7 kann, aber muss nicht vorhanden sein.


Java syntax constructordeclaration

Java-Syntax: ConstructorDeclaration

  • ConstructorDeclaration ::=Classname „(“ [ ParameterList ] „)“StatementBlock

  • ParameterList ::=Parameter { „,“ Parameter }

  • Parameter ::= Type Identifier

  • Bsp:

    • Laborkurs(String kursBezeichnung) {setBezeichnung(kursBezeichnung);}


Java syntax methoddeclaration

Java-Syntax: MethodDeclaration

  • MethodDeclaration ::=( „void“ | Type ) Identifier „(“ [ ParameterList ] „)“StatementBlock

  • StatementBlock ::= „{“ { Statement } „}“

  • Bsp:

    • void listeAusgeben(){System.out.println("Laborkurs: " + bezeichnung);System.out.println("Teilnehmerliste:");…}

    • int getAnzahlStudenten(){return studentenListe.size();}


Java syntax statement

Java-Syntax: Statement

  • Statement ::=( StatementBlock |VariableDeclaration | Assignment |MethodCall „;“| IfStatement | WhileStatement | ReturnStatement )

  • Assignment ::= Êxpresion „=“ Expression „;“

  • ReturnStatement ::= „return“ Expression „;“


Java syntax expression

Java-Syntax: Expression

  • Expression ::=( Constant | Identifier | [ Expression ] Operator Expression |„(“ Expression „)“ |„new“ ClassName „(“ ArgumentList „)“ | MethodCall )

  • MethodCall ::= [ Expression „.“ ] Identifier „(“ [ ArgumentList ] „)“

  • ArgumentList ::= Expression { „,“ Expression }


Beispiele

Beispiele

  • MethodCall (Statement)

    • studentenListe.add(neuerStudent);

  • Expression

    • studentenListe.size()

    • ("Laborkurs: " + bezeichnung)

    • new ArrayList()


  • Login