191 Shares 7564 views

Abstrakte Klasse und Methode: die Beschreibung, Merkmale und Funktionen. Was von der abstrakten Klasse Schnittstelle unterscheidet

Jeder, der eine wenig Kenntnisse in der Programmierung hat, fragen, warum gibt es abstrakte Basisklassen. Was ist ihr Zweck? Wie eine abstrakte Klasse erstellen? Was sind die Vorteile, die sie in der Praxis anbieten? Warum sind sie in der Programmierung benötigt und einige Funktionen ihrer Umsetzung berücksichtigen sollte?

abstrakte Klassen

So in der Programmierung genannt Einheitencode auf Basis der die Objekte nicht erstellt werden kann. Es wird darauf hingewiesen, dass diese Klasse von Nachfolgern nicht abstrakt sein kann. Daher ist die Erstellung von Objekten basierend auf sie durchaus möglich. Wenn wir das Beispiel von Java betrachten, konstruieren wir ein Modell, das wir die Konstrukteure in der Klasse A. beschreiben kann aber, sie zu nutzen, können wir nicht. Der Ausweg aus dieser Situation ist ein Variable Bezug zu erklären. Und Sie müssen klar definiert werden, so dass es zu einem Objekt der Klasse A. Punkte Dies ist, wie es gemacht werden kann? Dies wird uns helfen, zu bringen. Es ist daran zu erinnern, dass die übergeordnete Klasse immer betrachtet als der Nachkomme vielseitiger zu sein. In vielen Programmiersprachen verwendet automatisch zu bringen. Aber wenn es kein Vertrauen in Gegenwart eines solchen Mechanismus ist, dann müssen Sie das Objekt explizit verweisen.

abstrakte Methoden

Was sind sie? Zusammenfassung Aufruf jene Methoden, die in dieser Klasse nicht implementiert sind. Somit Klammern nach (die die Argumente listet darin verwendeten) geben nicht geformten Öffnung (worauf lokalisierten Blocks Beschreibung des Verfahrens), und nur ein Semikolon. Somit wird in diesem Fall gibt es keine Informationen darüber, was es tut. Hier ist die Frage kann gestellt werden: „Und welche Methode ohne Umsetzung?“ Schließlich ist er nicht verwendet werden! Natürlich im Klassenzimmer, wo er beschrieben wurde, ist dies nicht möglich. Aber wenn wir die Situation aus der Sicht eines Nachkommen betrachten, kann sie aufgerufen werden. Und es wird auf eine genaue Beschreibung in dieser Klasse arbeiten.

Features abstrakte Methoden

Es gibt Einschränkungen im Umgang mit ihnen. Nehmen wir das Beispiel von betrachten die Java – Programmiersprache. Es ist eine Voraussetzung, wenn die Klasse mindestens eine solche Methode hat, es abstrakt sein muss. Und in jedem Fall ist es angebracht, eine solche Konstruktion zu benutzen? Lassen Sie uns verstehen dies mit einem Beispiel-Klasse erlaubt. Um zu beginnen zu verstehen, dass es kein Ton, die sie veröffentlicht werden. Daher ist in der allgemeinsten Klasse nicht ordnungsgemäße Umsetzung des Verfahrens festgelegt. Aber erstellt Körper die neben über die Blöcke für ihn. Und in der folgenden, bei der Erstellung von Hundeklasse, Katze oder Hamster wird eine einzige Methode für die es vorgeschrieben werden, in deren Rahmen auf alle Funktionen offenbart wird.

Schnittstelle

Bei der Programmierung erstellt viele Werkzeuge, deren Zweck – Menschen zu helfen, ein qualitativ hochwertiges Produkt zu machen. Und das Thema unter Berücksichtigung soll diesen Aspekt gegeben werden, und dass jeder weiß Im Gegensatz zu einer abstrakten Klasse aus der Schnittstelle. So ist das letzte Merkmal, dass es nicht die Eigenschaften und Methoden sein kann, sind nicht Körper definiert. Durch die Untersuchung der Unterschied zwischen einer abstrakten Klasse von der Schnittstelle, sollte mehr auf einen bestimmten wohnen. Somit wird die erste geerbt, während die zweite – realisiert wird. Unerfahrene Person kann dies belanglos erscheinen. Aber die Tatsache ist, dass nur eine Klasse vererbt werden kann und realisiert – so viel wie nötig. Das ist , was von der Schnittstelle unterscheidet von der abstrakten Klasse. Java ist immer noch die Funktionen , die es nur abstrakt öffentliche Methoden und statische Konstanten beschrieben werden kann. Aber bei den gleichen Schnittstellen können Sie auch vererbt werden. Es ist notwendig, darauf hinzuweisen, dass die verwendeten Betreiber über öffentliche öffentlich sind.

Mehrfachvererbung von Schnittstellen

Diese Funktion ist für die Klassen in vielen Programmiersprachen nicht verfügbar (zB Java von uns berücksichtigt). Dies ist auf eine Reihe von Problemen. Als solche Mehrdeutigkeiten kennzeichnen, die in Folge auftreten. Dies war der Grund für die Einführung von mehrere Schnittstellenvererbung. Dies löst teilweise die bestehenden Probleme, aber nicht alle. So dank der Prinzipien der Einkapselung und Polymorphismus kann Schnittstellen erfolgreich in verschiedenen Klassen implementiert wird nach verschiedenen Methoden (obwohl sie die gleichen Namen haben). Aber vergessen Sie nicht über die bestehenden Probleme. Also, wenn Sie mit mehreren Schnittstellen arbeiten müssen immer angeben, die wir im Auge haben. Außerdem werden die Probleme sein, und wenn Sie mit dem gleichen Namen zwei Methoden zu arbeiten versuchen – in diesem Fall werden sie nicht in der Lage sein zu nutzen. Daher ist in solchen Fällen ist es notwendig, Pflege der Präsenz des Gesamtumsatzes zu nehmen.

abstrakte Daten

Dieses Konzept ist der Schlüssel zum Programm. In diesem Fall wird unter der Abstraktion von unabhängiger Überprüfung und zu verstehen, die Trennung von Schnittstelle und Implementierung. Betrachten wir ein Beispiel. Wir haben einen Fernseher, die ein Objekt oder ein Modul ist. Es verfügt über eine Schnittstelle. Als solche sind sie die Kontrollen sowie Ton und Bild. Je mehr perfekte Schnittstelle ist, desto wohler sich das Fernsehgerät im Einsatz verwendet. Wir können durch Drücken einer beliebigen Taste, um zwischen Programmen wechseln. In diesem Fall gibt es keine Notwendigkeit, über die physikalischen Vorgänge im TV zu denken. Achten Sie darauf, von ihnen Spezialisten, die das Gerät zu sammeln. Wir möchten Menschen in Immobilien nur interessiert sind. Zurückkommend auf die Programmierung, können wir sagen, dass sie auf eine ähnliche Schnittstelle und Implementierung sind. Auch wenn eine Person zuversichtlich in seinem Wissen ist, kann er „entfernen“ deckt unsere hypothetische TVs und verbessern. Obwohl dies zu lokalem Erfolg führen kann, in den meisten Fällen ist das Endergebnis negativ. Daher wird bei der Programmierung unterstützt Verbot des Zugangs und die internen Komponenten der abstrakten Daten zu verstecken. Das Prinzip dieses Mechanismus sieht einen Weg, um die beabsichtigte oder unbeabsichtigte Verstellung der internen Komponenten zu verhindern. Und wenn es um abstrakte Datentypen, der Mittelwert eines Satzes aus einer Reihe von Operationen, die an ihnen durchgeführt werden kann.

Objekte

Wir haben bereits eine abstrakte Klasse und Schnittstelle im Allgemeinen und allgemein gesehen. Lassen Sie uns nun ausführlich die unser Wissen. So starten Sie Objekte achten. Unter sie im allgemeinen Bewusstsein der ökologischen Realität, die in Raum und Zeit existiert. Aber formal Objekte identifizieren innerhalb des Programm schwierig ist (mit dem philosophischen und theoretischen Standpunkt aus). Daher ist es, um seine Eigenschaften durch. Als ein Beispiel, die folgend: Ein Objekt kann eindeutig identifiziert werden kann (mit einem eindeutigen Namen), ist es in einem bestimmten Zustand und verwendet ein bestimmtes Muster des Verhaltens.

Erbschaft

Da Ihre Programmierung auf einer hierarchischen Baum des Aufbaus von Beziehungen zwischen Objekten basiert, ist die Frage über die Tatsache geäußert, dass die zugrunde liegenden Eigenschaften der verschiedenen Arten von Elterncodebibliotheken übertragen wurden. Unter Vererbung versteht die Beziehung, wenn jemand ein, das Verhalten und die Struktur von etwas anderes wiederholt. Im gewöhnlichen Leben, kann es überall zu finden. Eine solche wurde relativ abstrakte Elemente verschoben und Programmierung. Als Vergleich, dass die Tatsache, gibt es keine solche Körper wie ein Vogel. Dies ist ein abstrakter Name. Als spezielles Beispiel Tee, Nachtigall oder Spatz führen. Dank der Vererbung wir die Klassenbibliotheken verwenden können, sowie sie für ein bestimmtes Programm zu entwickeln. Dieses Tool ermöglicht es uns, neue Objekte zu erstellen, gleichzeitig das Hinzufügen oder Ändern der Eigenschaften eines bereits erstellt. Heir erhält alle Methoden und Felder seines Vorfahren und erhält seine eigenen Attribute, falls erforderlich. Aufgrund der Tatsache, dass es abstrakte Elemente und das Prinzip des Erbe ist, gibt es zahlreiche Möglichkeiten zur Modifikation innerhalb der objektorientierten Programmierung. Darüber hinaus ermöglicht es einen flexiblen Ansatz zur Lösung von Problemen. Wenn Sie eine neue Klasse von übertragenen Daten und Funktionen erben.

Polymorphismus

Es ist notwendig, um die gleiche Funktion gilt verschiedene Arten von Problemen zu lösen. In diesem Fall wird das Vorhandensein der Möglichkeit einer anderen Aktion bietet, wird deren Inhalt von der Art des Objekts ab, mit dem gearbeitet wird. Unter Polymorphismus die Eigenschaften der Elemente verstehen, die einen gemeinsamen Elternteil haben, auf die semantische Bedeutung des Problems auf unterschiedliche Weise ähnlich auszuführen. Wir ziehen eine Analogie mit den Tieren. Es ist Aktion – zu laufen. Wir alle wissen, wie es passiert. Aber verschiedene Tiere (Löwe, Elefant, Schimpanse, Krokodil, Schildkröte) Diese Aktion wird auf unterschiedliche Weise durchgeführt werden. In diesem Fall ist die Bewegung verantwortlich Entwickler, die bei Bedarf für einen bestimmten Fall eine gewisse Routine, Algorithmus und deren Umsetzung erfolgreich führen kann. Dies geschieht mit Hilfe einer Reihe von Methoden. Zur gleichen Zeit in jeder Klasse Programmierer spezifiziert, welche Objekteigenschaften, die inhärent sind. Ändern Sie etwas in den Nachkommen, können Sie bestimmte, gewünschte Aktion in diesem Fall erreichen. Ein solcher Effekt ist Polymorphismus von Objekten aufgerufen. Im Allgemeinen ist eine abstrakte Klasse ein äußerst nützliches Werkzeug für die Programmierung.