Erste Schritte in Java - TU int=-5 2. Erste Schritte in Java 2-2. AbstraktionundModellbildung • DieErstellungeinesAlgorithmusoderProgrammserfordertdieAbstraktionvon

  • Published on
    06-Mar-2018

  • View
    218

  • Download
    5

Transcript

  • Erste Schritte in Java

    Im einfhrenden Kapitel haben wir die Grundbegriffe der imperativenProgrammierung an einem Beispiel (Algorithmus von Euklid) kennengelernt.

    In diesem Kapitel sehen wir uns an einem kleinen Beispiel wichtige Grundbegriffeder objektorientierten Programmierung an.

    Wir wollen ein Programm schreiben, das in der Lage ist, Bankkonten zu verwalten.

    Ein Konto wird durch einen Wert, den Kontostand, gekennzeichnet.

    Auerdem werden wir Methoden zum Einzahlen und Abheben sowie zurKontostandsabfrage programmieren.

    2. Erste Schritte in Java 2-1

  • Klassen- u. Objektdiagramm

    Kontostand: intvoid einzahlen(int betrag)void abheben(int betrag)int abfrage()

    kon1:Kontostand: int = 12

    kon2:Kontostand: int = -5

    2. Erste Schritte in Java 2-2

  • Abstraktion und Modellbildung

    Die Erstellung eines Algorithmus oder Programms erfordert die Abstraktion vonder Realitt. Das heit, es werden die zur Lsung des Problems irrelevantenBestandteile weggelassen.

    Das Ergebnis der Abstraktion ist ein Modell, das dem Computer in geeigneterForm zur Bearbeitung bergeben wird.

    2. Erste Schritte in Java 2-3

  • Die Klasse Kontopublic class Konto {

    int stand = 0; // Attribut der Klassepublic void einzahlen(int betrag) { // Methode zum Einzahlen

    stand = stand + betrag;}

    public void abheben(int betrag) { // Methode zum Abhebenstand = stand - betrag;

    }

    public int abfrage() { // Methode zur Abfragereturn stand;

    }}

    2. Erste Schritte in Java 2-4

  • Die Klasse KontoTestpublic class KontoTest {

    public static void main(String[] args) {Konto kon1 = new Konto();Konto kon2 = new Konto();kon2.abheben(5);kon1.einzahlen(12);kon2.einzahlen(2);kon1.einzahlen(18);kon2.einzahlen(8);kon1.abheben(15);System.out.println("Kontostand kon1: " + kon1.abfrage());System.out.println("Kontostand kon2: " + kon2.abfrage());

    }}

    2. Erste Schritte in Java 2-5

  • Abstraktion und Modellbildung

    Nennen Sie einige Aspekte, die bei dieser Modellbildung nicht bercksichtigt wurden!

    2. Erste Schritte in Java 2-6

  • Klassen und Objekte

    Unter einer Klasse versteht man die Zusammenfassung von Objekten gleicherStruktur und gleichen Verhaltens. Die Struktur der Objekte wird durch Attribute,ihr Verhalten durch Methoden definiert.

    Eine Klasse kann als Schablone gesehen werden, die beschreibt, wie Objekteaufgebaut und wie sie bearbeitet werden knnen.

    Es ist guter Stil, aber nicht zwingend erforderlich, jede Klassendefinition in einereigenen Datei zu speichern. Die Datei trgt den Namen der Klasse: Konto.java,KontoTest.java.

    Es gibt evtl. auch Attribute und Methoden einer Klasse, die nicht an Objektegebunden sind. Sie werden statisch genannt.

    2. Erste Schritte in Java 2-7

  • Methoden und Konstruktoren

    Methoden definieren das Verhalten der Objekte. Sie werden innerhalb einerKlassendefinition angelegt und haben auf alle Attribute des Objekts Zugriff.

    Methoden knnen Parameter besitzen und einen Rckgabewert liefern.

    Um von einer Klasse ein Objekt anzulegen, kann eine Variable vom Typ der Klassedeklariert und ihr mithilfe des new-Operators ein neu erzeugtes Objekt zugewiesenwerden. Es knnen zumindest im Prinzip beliebig viele Objekte angelegtwerden.

    Konstruktoren sind Methoden zum Erzeugen von Objekten einer Klasse. Siebesitzen den Namen der Klasse.

    2. Erste Schritte in Java 2-8

  • Klassen- u. Objektdiagramm

    KlassennameAttribut1. . .AttributnMethode1. . .Methodem

    objektname:KlassennameAttribut1 = . . .. . .Attributn = . . .

    2. Erste Schritte in Java 2-9

  • Applikationen und die main-Methode

    Eine Applikation oder auch Anwendung ist ein eigenstndiges Programm, das zuseiner Ausfhrung nur den Java-Interpreter, aber keinen Browser oder sonstigeHilfsprogramme bentigt.

    Eine Klasse wird durch eine main-Methode zu einer Applikation.

    public static void main(String[] args) {...

    }

    Applets sind ebenfalls lauffhige Java-Programme, werden aber aus einerHtml-Seite heraus aufgerufen und bentigen zur Ausfhrung einen Web-Browser.Applets werde nicht durch die main-Methode gestartet.

    2. Erste Schritte in Java 2-10

  • Regeln zur Code-FormatierungBeispiele:

    Untergeordnete Teile werden hier um zwei Leerzeichen eingerckt.In den Hausaufgaben sollen sie die Teile um vier Leerzeichen einrcken.

    Es steht niemals mehr als ein Befehl in einer Zeile.

    Sich ffnende geschweifte Klammern stehen am Ende des vorangehenden Befehls,sich schlieende in einer eigenen Zeile.

    Klassennamen beginnen mit einem Gro-, Variablen- und Methodennamen miteinem Kleinbuchstaben. Setzen sich Namen aus mehr als einem Wort zusammen,fngt jedes weitere mit einem Grobuchstaben an. Paketnamen bestehen nur ausKleinbuchstaben.

    Die Regeln fr Ihre Hausaufgaben stellen wir in den bungen vor.

    2. Erste Schritte in Java 2-11

  • javadoc Der Java-Dokumentationsgenerator

    Mit dem Programm javadoc knnen aus einem Java-Programm Html-Seitengeneriert werden. Dabei wird spezieller Programmkommentar zur Dokumentationverwendet.

    javadoc Konto.java KontoTest.javajavadoc *.java

    javadoc -version -author *.java

    2. Erste Schritte in Java 2-12

  • Dokumentationskommentare

    /*** Diese Klasse realisert Konten. Jedes Konto wird* durch den aktuellen Kontostand dargestellt. Auerdem* werden Methoden zum Einzahlen und Abheben sowie* zur Kontostandsabfrage zur Verfgung gestellt.** @author Werner Struckmann* @version 1.0 vom 17. Oktober 1702**/

    public class Konto {...

    }

    2. Erste Schritte in Java 2-13

  • Dokumentationskommentare

    /*** Diese Methode erhht den Betrag auf dem* Konto um den Wert des Parameters.** @param betrag eingezahlter Betrag**/public void einzahlen(int betrag) {

    stand = stand + betrag;}

    2. Erste Schritte in Java 2-14

  • Dokumentationskommentare

    /*** Diese Methode liefert den Kontostand.** @return Kontostand**/public int abfrage() {

    return stand;}

    2. Erste Schritte in Java 2-15

  • Der Algorithmus von Euklidclass Euklid {

    static int ggt(int a, int b) { // eine statische Methodeint r; // eine lokale Variablewhile (b != 0) {

    r = a % b;a = b;b = r;

    }return a;

    }public static void main(String[] args) {

    System.out.println("ggt(36,52) = " + ggt(36,52));}

    }

    2. Erste Schritte in Java 2-16

  • Objektorientierte Programmiersprachen

    Programmiersprachen, die in erster Linie fr die Formulierung objektorientierterAlgorithmen gedacht sind, heien objektorientiert.

    Objektorientierte Programmiersprachen sind beispielsweise Simula (1967),Smalltalk, C++, Oberon, Java, C# und Eiffel.

    Java enthlt im Gegensatz zu einigen anderen objektorientierten Sprachen auchimperative Elemente: hybrides Paradigma.

    2. Erste Schritte in Java 2-17

  • Sprachmerkmale

    Java wurde vollstndig neu entworfen. Die Syntax lehnt sich an C und C++ an.

    Laut Sun ist Java eine

    einfache, objektorientierte, verteilte, interpretierte, robuste, sichere,architekturneutrale, portable, performante, nebenlufige, dynamische

    Programmiersprache, kurz die Eier legende Wollmilchsau.

    Jetzt ist Oracle fr Java zustndig.

    2. Erste Schritte in Java 2-18

  • Entwicklung von Java19921995 Java-Vorlufer, zuerst unter dem Namen Oak.

    Oak: Object Application Kernel, Eiche.Neu: Applets (little applications)

    Januar 1996 JDK 1.0 (Java Development Kit)Anfang 1997 JDK 1.1

    Dezember 1998 JDK 1.2, wurdeJanuar 1999 umbenannt in Java 2 Plattform

    Mai 2000 Java 2, JDK 1.3Februar 2002 Java 2, JDK 1.4

    Ende 2004 Java 2, JDK 5.0 (interne Versionsnummer: 1.5.0) TigerDezember 2006 Java Standard Edition 6 Mustang

    Juli 2011 Java Standard Edition 7 DolphinMrz 2014 Java Standard Edition 8

    Die installierte Version kann mit java -version ermittelt werden.

    2. Erste Schritte in Java 2-19

  • Einige Java-Konzepte

    strukturierte Fehlerbehandlung (Exception Handling, assertions),

    Nebenlufigkeit (Multithreading),

    Untersttzung von Applets,

    groe Grafik- und Multimediafhigkeiten,

    umfangreiche Klassenbibliothek.

    2. Erste Schritte in Java 2-20

  • Einige Programme des JDK

    javac der Compiler,

    java der Interpreter,

    javadoc der Dokumentationsgenerator,

    jdb der Debugger,

    jar das Archivierungswerkzeug,

    appletviewer der Appletviewer,

    javap der Disassembler.

    2. Erste Schritte in Java 2-21

  • Zusammenfassung: Objektorientierung

    Eine Anwendung besteht aus einer Menge von Klassen. Anwendungen mssen einemain-Methode enthalten.

    Eine Klasse beschreibt Objekte. Die Objekte modellieren reale oder abstrakteGegenstnde. Von einer Klasse knnen beliebig viele Objekte erzeugt werden. EinObjekt ist also eine konkrete Ausprgung einer Klasse.

    Die Objekte werden durch Attribute beschrieben und mit Methoden bearbeitet.

    Attribute und Methoden knnen statisch sein.

    Klassen lassen sich durch Pakete hierarchisch strukturieren.

    Mit Modifikatoren knnen Zugriffsrechte und andere Eigenschaften beeinflusstwerden.

    2. Erste Schritte in Java 2-22

  • Was haben wir in der Einfhrung einfhrend gesehen?

    Intuitiver Algorithmusbegriff

    Paradigma: Formulierung von Algorithmen

    partielle/totale Korrektheit: Spezifikation, Verifaktion

    Komplexitt: Landau-Symbole

    Formaler Algorithmusbegriff: Berechenbarkeit, Entscheidbarkeit

    Datenstrukturen: Abstrakte Datentypen

    Entwurf von Algorithmen, Standardalgorithmen

    Abstraktion, Modellierung: Erstellung von Algorithmen

    Variationen des Algorithmusbegriffs

    2. Erste Schritte in Java 2-23

  • Was haben wir in der Einfhrung einfhrend gesehen?

    Programm

    Programmiersprache: Lexik, Syntax, Semantik

    Paradigma: imperativ, funktional, oo, logisch, prozedural, deklarativ, hybrid

    Typsystem, Datenstrukturen

    Ausfhrung: Compiler, Interpreter, Mischverfahren

    Software: Systemsoftware, Anwendungssoftware, Softwarewerkzeuge

    Imperatives Beispielprogramm: Algorithmus von Euklid

    Objektorientiertes Beispielprogramm: Konto

    Sprachen der Informatik: GPL, DSL

    2. Erste Schritte in Java 2-24

  • Warum haben wir so etwas in der Einfhrung gesehen?

    Frage: Warum mssen in einfhrenden Veranstaltungen die grundlegendentheoretischen Aspekte mit betrachtet werden? Gibt es dafr spter keineSpezialveranstaltungen?

    Natrlich gibt es dafr Spezialveranstaltungen. Aber trotzdem erhlt man die folgendeAntwort.

    Inhaltliche Antwort von Didaktikern: Dinge, die immer zusammengehren, mssen beider Einfhrung zusammenvorgestellt werden. Sonst bleiben sie auf Dauer im Kopfgetrennt.

    2. Erste Schritte in Java 2-25

    2. Erste Schritte in JavaErste Schritte in JavaKlassen- u. Objektdiagramm 1Abstraktion und ModellbildungDie Klasse KontoDie Klasse KontoTestAbstraktion und ModellbildungKlassen und ObjekteMethoden und KonstruktorenKlassen- u. Objektdiagramm 2Applikationen und die main-MethodeRegeln zur Code-Formatierungjavadoc - Der Java-DokumentationsgeneratorDokumentationskommentare 1Dokumentationskommentare 2Dokumentationskommentare 3Der Algorithmus von EuklidObjektorientierte ProgrammiersprachenSprachmerkmaleEntwicklung von JavaJava-KonzepteEinige Programme des JDKZusammenfassung: ObjektorientierungWas haben wir in der Einfhrung einfhrend gesehen?Was haben wir in der Einfhrung einfhrend gesehen?Warum haben wir so etwas in der Einfhrung gesehen?

Recommended

View more >