Heim >Web-Frontend >js-Tutorial >Dies und Super in Typescript verstehen

Dies und Super in Typescript verstehen

Barbara Streisand
Barbara StreisandOriginal
2024-12-24 03:26:171004Durchsuche

In Typescript sind this und super Schlüsselwörter, die in der objektorientierten Programmierung verwendet werden, um auf die aktuelle Instanz einer Klasse bzw. die Basisklasse zu verweisen.


Dieses Schlüsselwort

Definition: Bezieht sich auf die aktuelle Instanz der Klasse.
Anwendungsfall:

  • Auf Instanzeigenschaften und -methoden zugreifen.
  • Rufen Sie eine andere Methode innerhalb derselben Klasse auf.
  • Übergeben Sie das aktuelle Objekt als Argument
class Pizza {
    name: string

    constructor(name: string){
        this.name = name;
    }

    cook():void{
        console.log(`Start cooking ${this.name} pizza`)
    }
}

const pepperoniPizza = new Pizza("pepperoni");
pepperoniPizza.cook();

Understanding This and Super in Typescript

Super-Schlüsselwort

  • Definition: Bezieht sich auf die Basisklasse (die übergeordnete Klasse) der aktuellen Klasse.
  • Anwendungsfälle:
    • Rufen Sie den Konstruktor der Basisklasse auf.
    • Zugriff auf Methoden und Eigenschaften der Basisklasse

Beispiel:

class Animal {
    name: string;

    constructor(name: string) {
      this.name = name;
    }

    makeSound(): void {
      console.log(`${this.name} makes a sound.`);
    }
  }

  class Dog extends Animal {
    constructor(name: string) {
      super(name); // Calls the constructor of the base class
    }

    makeSound(): void {
      super.makeSound(); // Calls the base class method
      console.log(`${this.name} barks.`);
    }
  }

  const dog = new Dog("Buddy");
  dog.makeSound();

und die Ausgabe umfasst: makeSound() der Basisklasse ist Animal und makeSound der Unterklasse ist Dog wie folgt:

Buddy makes a sound.
Buddy barks.

Understanding This and Super in Typescript


Kernpunkte:

1. dies:

  • Bezieht sich immer auf die aktuelle Instanz
  • Kann in Konstruktor-, Methoden- oder Pfeilfunktionen verwendet werden.
  • In Pfeilfunktionen ist dies lexikalisch an den umgebenden Kontext gebunden.

*2. super: *

  • Kann nur in Klassen verwendet werden, die eine andere Klasse erweitern.
  • Muss im Konstruktor aufgerufen werden, bevor in einer abgeleiteten Klasse darauf zugegriffen wird.
  • Kann zum Aufrufen von übergeordneten Klassenmethoden verwendet werden.
class Parent {
  protected message: string = "Hello from Parent!";
}

class Child extends Parent {
  showMessage(): void {
    console.log(super.message); // Accesses the parent class property
  }
}

const child = new Child();
child.showMessage(); // Output: Hello from Parent!

Wenn Sie dies und super korrekt verwenden, können Sie Vererbung und Objektverhalten in Typescript effektiv verwalten.

Das obige ist der detaillierte Inhalt vonDies und Super in Typescript verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn