1 / 13

Programmieren mit JAVA

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

aviva
Télécharger la présentation

Programmieren mit JAVA

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programmieren mit JAVA Teil IV

  2. Hauptbestandteile der Sprache • Token • Typen • Ausdrücke und Operatoren • Anweisungen • Klassen • Methoden • Schnittstellen • Pakete

  3. 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());}

  4. 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());}

  5. 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); }}

  6. 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

  7. 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); }}

  8. 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

  9. 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); } } }

  10. 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

  11. 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;} }

  12. Pakete 1 java.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

  13. Pakete 2 java.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

More Related