Browse Source

Merge 6e0d84fe10 into ed7cbf64da

pull/1395/merge
shkabaturd 2 weeks ago committed by GitHub
parent
commit
a604463a74
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 4
      rustbook-ru/src/ch10-02-traits.md

4
rustbook-ru/src/ch10-02-traits.md

@ -20,7 +20,7 @@ @@ -20,7 +20,7 @@
<span class="caption">Листинг 10-12: Определение типажа <code>Summary</code>, который содержит поведение предоставленное методом <code>summarize</code></span>
Здесь мы объявляем типаж с использованием ключевого слова `trait`, а затем его название, которым в нашем случае является `Summary`. Также мы объявляем крейт как `pub` что позволяет крейтам, зависящим от нашего крейта, тоже использовать наш крейт, что мы увидим в последующих примерах. Внутри фигурных скобок объявляются сигнатуры методов, которые описывают поведения типов, реализующих данный типаж, в данном случае поведение определяется только одной сигнатурой метода `fn summarize(&self) -> String`.
Здесь мы объявляем типаж с использованием ключевого слова `trait`, а затем его название, которым в нашем случае является `Summary`. Также мы объявляем типаж как `pub` что позволяет крейтам, зависящим от нашего крейта, тоже использовать наш типаж, что мы увидим в последующих примерах. Внутри фигурных скобок объявляются сигнатуры методов, которые описывают поведения типов, реализующих данный типаж, в данном случае поведение определяется только одной сигнатурой метода `fn summarize(&self) -> String`.
После сигнатуры метода, вместо предоставления реализации в фигурных в скобках, мы используем точку с запятой. Каждый тип, реализующий данный типаж, должен предоставить своё собственное поведение для данного метода. Компилятор обеспечит, что любой тип содержащий типаж `Summary`, будет также иметь и метод `summarize` объявленный с точно такой же сигнатурой.
@ -224,4 +224,4 @@ let s = 3.to_string(); @@ -224,4 +224,4 @@ let s = 3.to_string();
["Использование объектов типажей, которые разрешены для значений или разных типов"]: ch17-02-trait-objects.html#using-trait-objects-that-allow-for-values-of-different-types
[“Определение методов”]: ch05-03-method-syntax.html#defining-methods
[“Определение методов”]: ch05-03-method-syntax.html#defining-methods

Loading…
Cancel
Save