Skip to content

Archives

  • Januar 2022
  • Dezember 2021
  • November 2021
  • Oktober 2021
  • September 2021

Categories

  • Keine Kategorien
Trend RepositoryArticles and guides
Articles

Die vier Säulen der objektorientierten Programmierung

On September 27, 2021 by admin

In diesem Blog werde ich die vier Säulen der OOP erklären und kleine Beispiele geben. Beispiele, die klein genug sind, dass Sie und ich sie leicht verstehen können.

Abstraktion ist im Wesentlichen „need to know“. Wir verstecken die wichtigen Implementierungsdetails, während wir die offensichtliche Verwendung in den Vordergrund stellen. Denken Sie also daran: „Verstecke die Details, zeige die Relevanz“.

Abstraktionsbeispiel…

Dies ist ein Anmeldeformular einer App, an der ich arbeite (die Relevanz).

Das ist die Implementierungslogik des Formulars. (

Polymorphismus

Polymorphismus bedeutet, dass man einen Codeblock verwendet, aber die Version des Codes, die verwendet wird, je nach den Eingaben, die er erhält, ändert. Um es also etwas klarer zu machen, können verschiedene Klassen mit der gleichen Schnittstelle verwendet werden, aber ihre eigene Implementierung dieser Schnittstelle bereitstellen.

Polymorphismus-Beispiel…

class Animal { speak = () => console.log('makes sound')}class Dog extends Animal { speak = () => console.log('woof')}class Cat extends Animal { speak = () => console.log('meowww')}class Cow extends Animal { speak = () => console.log('moooooo')}let dog1 = new Dog()let cat1 = new Cat()let cow1 = new Cow()dog1.speak() // => woofcat1.speak() // => meowwwcow1.speak() // => moooooo
Vollbildmodus betreten Vollbildmodus verlassen

Die Klassen Katze, Hund und Kuh erben von der Klasse Tier. Dadurch können die Klassen Katze, Hund und Kuh die Schnittstelle der Klasse Animal verwenden. Sie haben jedoch nur die Methode speak zur Verfügung. Wenn wir die speak-Methode aus der Klasse Cat, Dog und Cow weglassen und dann Instanzen der Klassen Cat, Dog und Cow erstellen, können wir die speak-Methode für diese Instanzen trotzdem aufrufen. Das einzige Problem ist, dass die Methode „Animals makes sound“ anstelle der entsprechenden Geräusche ausgeben würde, die eine Katze, ein Hund oder eine Kuh macht („miau“, „wuff“, „muh“).

Hier kommt das Überschreiben von Methoden ins Spiel. Wenn wir die speak-Methode in den Klassen Cat, Dog und Cow umdefinieren, können wir sie so anpassen, dass sie die Geräusche ausgibt, die Katzen und Hunde machen.

Verkapselung

Die Verkapselung bindet die Daten und die Funktionen, die die Daten bearbeiten, aneinander, und das schützt beide vor äußeren Einflüssen und Missbrauch. Ein gutes Beispiel für eine Verkapselung ist eine Klasse. Wir können auf das obige Beispiel zurückgreifen, in dem wir über Hunde, Katzen und Kühe sprechen, allerdings mit einigen leichten Änderungen.

class Dog { constructor(name) { this.name = name } printName = () => console.log(this.name)}class Cat { constructor(name) { this.name = name } printName = () => console.log(this.name)}class Cow { constructor(name) { this.name = name } printName = () => console.log(this.name)}let dog1 = new Dog()dog1.name = "Max"dog1.printName() // => Maxlet cat1 = new Cat()cat1.name = "Mark"cat1.printName() // => Marklet cow1 = new Cow()cow1.name = "Tom"cow1.printName() // => Tom
Vollbildmodus aufrufen Vollbildmodus verlassen

Beachten Sie, dass wir beim Erstellen von Instanzen für jedes Tier auch jedem einen Namen zuweisen. Der Clou dabei ist, dass die ‚.name‘ nach jeder erstellten Instanz (z.B. dog1.name) alle unterschiedlich sind. Diese ‚.name‘ sind in ihren jeweiligen Klassen gekapselt. Die Zuweisung eines Namens an eine Instanz ändert nicht den Namenswert einer anderen Instanz.

Vererbung

Vererbung ist wahrscheinlich am einfachsten zu verstehen. Vererbung ist das Konzept einer Klasse, die die Schnittstelle einer anderen Klasse benutzt (erbt). Sie wird dann zu einem Kind oder einer Unterklasse, während die Klasse, von der sie erbt, die Eltern- oder Oberklasse ist. In unserem zweiten Beispiel oben haben wir tatsächlich etwas geerbt. Die Klassen Katze, Hund und Kuh erben von der Klasse Animal, um Zugriff auf die Methode speak zu haben. Stellen Sie einfach sicher, dass Sie das extends-Schlüsselwort hinzufügen.

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Archive

  • Januar 2022
  • Dezember 2021
  • November 2021
  • Oktober 2021
  • September 2021

Meta

  • Anmelden
  • Feed der Einträge
  • Kommentare-Feed
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress