13
Programmieren mit JAVA Teil IV

Programmieren mit JAVA

  • Upload
    aviva

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

Programmieren mit JAVA. Teil IV. Hauptbestandteile der Sprache. Token Typen Ausdrücke und Operatoren Anweisungen Klassen Methoden Schnittstellen Pakete. Vererbung. - PowerPoint PPT Presentation

Citation preview

Page 1: Programmieren mit JAVA

Programmieren mit JAVA

Teil IV

Page 2: Programmieren mit JAVA

Hauptbestandteile der Sprache

• Token• Typen• Ausdrücke und Operatoren• Anweisungen• Klassen• Methoden• Schnittstellen• Pakete

Page 3: Programmieren mit JAVA

Vererbung• Um eine neue Klasse aus einer bestehenden abzuleiten, ist

im Kopf der Klasse mit Hilfe des Schlüsselworts extends ein Verweis auf die Basisklasse anzugeben

• Hierdurch erbt die abgeleitete Klasse alle Eigenschaften der Basisklasse (Variable und Methoden)

• Bsp.:class Cabrio extends Auto { int vdauer;

Cabrio kfz1 = new Cabrio(); kfz1.name = "MX5"; kfz1.erstzulassung = 1994; kfz1.leistung = 115; kfz1.vdauer = 120; System.out.println("Alter = "+kfz1.alter());}

Page 4: Programmieren mit JAVA

Zugriff auf geerbte Membervariable• Eine abgeleitete Klasse erbt jeweils die Eigenschaften der

unmittelbaren Vaterklasse, die ihrerseits die Eigenschaften ihrer unmittelbaren Vaterklasse erbt

• Bsp.:class ZweisitzerCabrio extends Cabrio { boolean notsitze;

ZweisitzerCabrio kfz1 = new ZweisitzerCabrio(); kfz1.name = "911-T"; kfz1.erstzulassung = 1982; kfz1.leistung = 94; kfz1.vdauer = 50; kfz1.notsitze = true; System.out.println("Alter = "+kfz1.alter());}

Page 5: Programmieren mit JAVA

Methodenüberlagerung• Neben den Membervariablen erbt eine abgeleitete Klasse

auch die Methoden ihrer Vaterklasse• Es dürfen auch bereits von der Vaterklasse geerbte

Methoden neu definiert werden. In diesem Fall spricht man von Überlagerung der Methode

• Bsp.:class ZweisitzerCabrio extends Cabrio { boolean notsitze; public int alter() { return 12 * (1999 - erstzulassung); }}

Page 6: Programmieren mit JAVA

Klassenvariablen• Variablen, die innerhalb einer Klasse mit dem Attribut

static versehen werden, nennt man Klassenvariablen• Im Gegensatz zu den Instanzvariablen existieren

Klassenvariablen unabhängig von einem Objekt• Jede Klassenvariable wird nur einmal angelegt und kann

von allen Methoden der Klasse aufgerufen werden• Klassenvariablen sind daher vergleichbar mit globalen

Variablen• Bsp.:

Instanzenzähler in eine Klasse

Page 7: Programmieren mit JAVA

Beispiel Klassenvariable

public class Testauto { static private int objcnt = 0; public Testauto() { ++objcnt; } public void finalize() { --objcnt; } public static void main(String args[]) { Testauto auto1; Testauto auto2 = new Testauto(); System.out.println("Anzahl Testauto-Objekte: " + Testauto.objcnt); }}

Page 8: Programmieren mit JAVA

Klassenmethoden

• Methoden, die unabhängig von einer bestimmten Instanz existieren

• Klassenmethoden werden ebenfalls mit Hilfe des static-Attributs deklariert

• Klassenmethoden besitzen keinen this-Zeiger

• Klassenmethoden werden häufig da eingesetzt, wo Funktionalitäten zur Verfügung gestellt werden, die nicht datenzentriert arbeiten oder auf primitiven Datentypen operieren

• Bsp. 1: Die Klasse System ist eine Art Toolbox, die Funktionen wie Aufruf des Garbage Collectors oder Beenden des Programms zur Verfügung stellt

• Bsp. 2: Methoden der Klasse Math, die eine große Anzahl an Funktionen zur Fließkomma-Arithmetik zur Verfügung stellt

Page 9: Programmieren mit JAVA

Beispiel Klassenmethoden

• Das folgende Listing zeigt die Verwendung der Klassenmethode sqrt der Klasse Math zur Ausgabe einer Tabelle von Quadratwurzeln

public class WurzelX { public static void main(String[] args) { double x, y; for (x = 0.0; x <= 10.0; x = x + 1.0) { y = Math.sqrt(x); System.out.println("sqrt("+x+") = "+y); } } }

Page 10: Programmieren mit JAVA

Interfaces• Ein Interface ist eine besondere Form einer Klasse, die

ausschließlich abstrakte Methoden und Konstanten enthält• Anstelle von class wird zur Definition eines Interfaces das

Schlüsselwort interface verwendet• Was bei der Vererbung von Klassen als Ableitung

bezeichnet wird, nennt man bei Interfaces Implementierung• Durch das Implementieren eines Interfaces verpflichtet sich

die Klasse, alle Methoden, die im Interface definiert sind, zu implementieren

• Die Implementierung eines Interfaces wird durch das Schlüsselwort implements bei der Klassendefinition angezeigt

Page 11: Programmieren mit JAVA

public interface Fortbewegungsmittel {public int kapazitaet();public double kilometerPreis();

}

public class Auto implements Fortbewegungsmitte {public String name;public int erstzulassung;public int leistung;private int anzahlSitze;private double spritVerbrauch;private double spritPreis;public double kapazitaet() {return anzahlSitze;}public double kilometerPreis() { return spritVerbrauch*spritPreis/100;}

}

Page 12: Programmieren mit JAVA

Pakete 1java.applet Applets

java.awt Abstract Windowing Toolkit

java.awt.color Unterstützung für unterschiedliche Farbsysteme

java.awt.datatransfer AWT Clipboard-Funktionen

java.awt.dnd Drag & Drop

java.awt.font Erweiterte Unterstützung für Schriftarten

java.awt.geom 2D-Bildverarbeitung

java.awt.im Eingabe von fernöstlichen Schriftzeichen

java.awt.image AWT-Bildverarbeitung

java.awt.image.renderable Darstellungsunabhängige Bildverarbeitung

java.awt.print Druckausgabe

java.beans Java Beans

java.beans.beancontext Java Beans-Unterstützung

java.io Bildschirm- und Datei-I/O

java.lang Elementare Sprachunterstützung

java.lang.reflect Reflection-API

java.lang.ref Referenz-Objekte

Page 13: Programmieren mit JAVA

Pakete 2java.math Fließkomma-Arithmetik

java.net Netzwerkunterstützung

java.rmi Remote Method Invocation (RMI)

java.rmi.dgc RMI Distributed Garbage Collection

java.rmi.registry RMI Service Registry

java.rmi.server RMI-Support

java.security Security-Dienste

java.security.acl Access Control Lists

java.security.cert Zertifikate

java.security.interfaces DSA-Interfaces

java.security.spec Sicherheitsspezifikationen

java.sql Datenbankzugriff (JDBC)

java.text Internationalisierung

java.util Diverse Utilities und Datenstrukturen

java.util.jar Zugriff auf JAR-Files

java.util.mime Multipurpose Internet Mail Extensions (MIME)

java.util.zip Zugriff auf ZIP-Files