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

Dies und Super in Typescript verstehen

Barbara Streisand
Freigeben: 2024-12-24 03:26:17
Original
1064 Leute haben es durchsucht

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();

Nach dem Login kopieren

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();
Nach dem Login kopieren

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

Buddy makes a sound.
Buddy barks.
Nach dem Login kopieren

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!

Nach dem Login kopieren

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!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage