Looking for rust Keywords? Try Ask4Keywords

RustZüge


Einführung

Merkmale sind ein Weg, um einen "Vertrag" zu beschreiben, den eine struct implementieren muss. Merkmale definieren typischerweise Methodensignaturen, können jedoch auch Implementierungen bereitstellen, die auf anderen Methoden des Merkmals basieren, sofern die Merkmalsgrenzen dies zulassen.

Für Personen, die mit der objektorientierten Programmierung vertraut sind, können Merkmale als Schnittstellen mit geringfügigen Unterschieden betrachtet werden.

Syntax

  • Eigenschaft Eigenschaft {Fn-Methode (...) -> ReturnType; ...}
  • Merkmal Merkmal: Gebundene {fn-Methode (...) -> ReturnType; ...}
  • impl Eigenschaft für Typ {fn-Methode (...) -> ReturnType {...} ...}
  • impl <T> Eigenschaft für T wobei T: Bounds {fn-Methode (...) -> ReturnType {...} ...}

Bemerkungen

  • Merkmale werden im Allgemeinen mit Schnittstellen verglichen, aber es ist wichtig, zwischen den beiden zu unterscheiden. In OO-Sprachen wie Java sind Schnittstellen ein wesentlicher Bestandteil der Klassen, die sie erweitern. In Rust kennt der Compiler nichts von den Eigenschaften einer Struktur, es sei denn, diese Eigenschaften werden verwendet.

Züge Verwandte Beispiele