<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.flbk-hamm.de/index.php?action=history&amp;feed=atom&amp;title=Abstrakte_Klasse</id>
	<title>Abstrakte Klasse - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.flbk-hamm.de/index.php?action=history&amp;feed=atom&amp;title=Abstrakte_Klasse"/>
	<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Abstrakte_Klasse&amp;action=history"/>
	<updated>2026-05-06T19:59:36Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in FLBK-Wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Abstrakte_Klasse&amp;diff=2755&amp;oldid=prev</id>
		<title>Flbkwikiadmin: Flbkwikiadmin verschob die Seite Abstract nach Abstrakte Klasse</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Abstrakte_Klasse&amp;diff=2755&amp;oldid=prev"/>
		<updated>2026-02-23T08:09:46Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin verschob die Seite &lt;a href=&quot;/Abstract&quot; class=&quot;mw-redirect&quot; title=&quot;Abstract&quot;&gt;Abstract&lt;/a&gt; nach &lt;a href=&quot;/Abstrakte_Klasse&quot; title=&quot;Abstrakte Klasse&quot;&gt;Abstrakte Klasse&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 23. Februar 2026, 10:09 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;de&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(kein Unterschied)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key mediawiki:diff:1.41:old-2204:rev-2755 --&gt;
&lt;/table&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Abstrakte_Klasse&amp;diff=2204&amp;oldid=prev</id>
		<title>Thomas: /* Beispiel */</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Abstrakte_Klasse&amp;diff=2204&amp;oldid=prev"/>
		<updated>2025-10-30T11:56:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Beispiel&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 30. Oktober 2025, 13:56 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l79&quot;&gt;Zeile 79:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 79:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategorie:Programmierung]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategorie:AHR_I_Informatik_LK]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategorie:FI_I_SDM]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategorie:FI_I_TP2]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-2069:rev-2204:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Abstrakte_Klasse&amp;diff=2069&amp;oldid=prev</id>
		<title>Thomas: Die Seite wurde neu angelegt: „== Einführung == Eine abstrakte Klasse bezeichnet in der objektorientierten Programmierung eine spezielle Klasse, die keine , eine oder aber auch mehrere abstrakte  Methoden enthalten (also  Methoden ohne Körper (Implementierung) nur mit der Signatur). Per Definition können abstrakte Klassen nicht instanziiert, d.h. keine Objekte von ihnen erzeugt werden (Quelle: http://de.wikipedia.org/wiki/Abstrak…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Abstrakte_Klasse&amp;diff=2069&amp;oldid=prev"/>
		<updated>2025-09-29T11:59:55Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „== Einführung == Eine abstrakte &lt;a href=&quot;/Klasse&quot; title=&quot;Klasse&quot;&gt;Klasse&lt;/a&gt; bezeichnet in der &lt;a href=&quot;/Objektorientierung&quot; title=&quot;Objektorientierung&quot;&gt;objektorientierten&lt;/a&gt; Programmierung eine spezielle Klasse, die keine , eine oder aber auch mehrere abstrakte  &lt;a href=&quot;/Methode&quot; title=&quot;Methode&quot;&gt;Methoden&lt;/a&gt; enthalten (also  Methoden ohne Körper (Implementierung) nur mit der &lt;a href=&quot;/index.php?title=Signatur&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Signatur (Seite nicht vorhanden)&quot;&gt;Signatur&lt;/a&gt;). Per Definition können abstrakte Klassen nicht instanziiert, d.h. keine &lt;a href=&quot;/Objekt&quot; class=&quot;mw-redirect&quot; title=&quot;Objekt&quot;&gt;Objekte&lt;/a&gt; von ihnen erzeugt werden (Quelle: http://de.wikipedia.org/wiki/Abstrak…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Einführung ==&lt;br /&gt;
Eine abstrakte [[Klasse]] bezeichnet in der [[Objektorientierung|objektorientierten]] Programmierung eine spezielle Klasse, die keine , eine oder aber auch mehrere abstrakte  [[Methode|Methoden]] enthalten (also  Methoden ohne Körper (Implementierung) nur mit der [[Signatur]]). Per Definition können abstrakte Klassen nicht instanziiert, d.h. keine [[Objekt|Objekte]] von ihnen erzeugt werden (Quelle: http://de.wikipedia.org/wiki/Abstrakte_Klasse).&lt;br /&gt;
&lt;br /&gt;
Eine abstrakte Klasse ist in [[Java]] also eine Klasse, die niemals instanziiert wird. Ihr Zweck besteht darin die &amp;#039;&amp;#039;&amp;#039;Superklasse&amp;#039;&amp;#039;&amp;#039; verwandter Klassen zu sein.&lt;br /&gt;
&lt;br /&gt;
Als Basisklassen in einer Klassenhierarchie können abstrakte Klassen grundlegendes Verhalten durch Methoden an ihrer Unterklassen [[Vererbung|vererben]]. Diese Methoden können wie bei der Vererbung implementiert werden. Die Funktionalität steht dann in der erbenden Klasse zur Verfügung. Alternativ kann eine Methode auch als abstrakt definiert werden. Dann müssen alle vererbten abstrakten Methoden überschrieben und implementiert werden.&lt;br /&gt;
&lt;br /&gt;
Sobald eine Methode in einer Klasse als abstrakt [[Deklaration|deklariert]] wurde, ist die gesamte Klasse abstrakt!&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
Wird der [[Kopf]] einer [[Klasse]] mit dem Schlüsselwort &amp;#039;&amp;#039;abstract&amp;#039;&amp;#039; versehen, so ist die Klasse abstrakt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;public abstract class User {....}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wird die Signatur einer Methode mit dem Schlüsselwort abstract ergänzt, so sind die Methode und damit auch die Klasse abstrakt. Dann muss auch im Kopf der Klasse das Schlüsselwort &amp;#039;&amp;#039;abstract&amp;#039;&amp;#039; ergänzt werden:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
public abstract class User {&lt;br /&gt;
&lt;br /&gt;
    public abstract setzePasswort(String passwort);&lt;br /&gt;
&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Abstrakte Methoden haben keine [[Körper]], da sie erst in der [[Vererbung|erbenden]] Klasse implementiert werden (müssen!).&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
// Eine abstrakte Klasse. Sie kann keine Objekte erzeugen und dient der Vererbung.&lt;br /&gt;
&lt;br /&gt;
public abstract class Anwender{&lt;br /&gt;
   private int nummer;&lt;br /&gt;
   public int getNummer(){&lt;br /&gt;
       return nummer;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   public void setNummer(int nummer){&lt;br /&gt;
       this.nummer = nummer;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   // Eine Abstrakte Methode. Sie muss mit identischer Signatur in erbenden Klassen überschrieben werden!&lt;br /&gt;
&lt;br /&gt;
    public abstract String toString();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Diese Klasse erbt von der abstrakten Klasse Anwender&lt;br /&gt;
public class Mitarbeiter extends Anwender{&lt;br /&gt;
&lt;br /&gt;
    private String vorname;&lt;br /&gt;
    private String nachname;&lt;br /&gt;
    public Mitarbeiter(int mitarbeiterNummer, String vorname, String nachname){&lt;br /&gt;
&lt;br /&gt;
        this.vorname = vorname;&lt;br /&gt;
        this.nachname = nachname;&lt;br /&gt;
        this.setNummer(mitarbeiterNummer);// Die Methode setNummer wurde von der Klasse Anwender geerbt.&lt;br /&gt;
    }&lt;br /&gt;
     public String getNachname(){&lt;br /&gt;
        return nachname;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void setNachname(String nachname){&lt;br /&gt;
        this.nachname = nachname;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public String getVorname(){&lt;br /&gt;
        return vorname;&lt;br /&gt;
    }&lt;br /&gt;
    public void setVorname(String vorname){&lt;br /&gt;
        this.vorname = vorname;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public String getVollstaendigenNamen(){&lt;br /&gt;
        return getVorname() +  &amp;quot; &amp;quot; + getNachname();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Diese Methode muss implementiert werden, weil die Klasse Mitarbeiter von der abstrakten Klasse Anwender erbt&lt;br /&gt;
    // und in dieser Klasse die Methode toString() als abstrakt deklariert wurde!&lt;br /&gt;
&lt;br /&gt;
    public String toString(){&lt;br /&gt;
        return getNummer() + &amp;quot; &amp;quot; + getVollstaendigenNamen();&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
</feed>