Skip to content

Commit 18baf49

Browse files
authored
Update abstract-type-members.md (#3193)
1 parent 1ae6d88 commit 18baf49

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

_ru/tour/abstract-type-members.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ topics: abstract type members
1010
prerequisite-knowledge: variance, upper-type-bound
1111
---
1212

13-
Абстрактные типы, такие как трейты и абстрактные классы, могут содержать членов абстрактного типа.
13+
Абстрактные типы, такие как трейты и абстрактные классы, могут содержать члены абстрактного типа.
1414
Абстрактный означает, что только конкретный экземпляр определяет, каким именно будет тип.
1515
Вот пример:
1616

@@ -36,7 +36,7 @@ trait Buffer:
3636
{% endtab %}
3737
{% endtabs %}
3838

39-
Здесь мы определили абстрактный тип `T`, который используется для описания типа члена `element`. Мы можем расширить его в абстрактном классе, добавив верхнюю границу нового типа `U` связанного с `T`, делая описание типа более конкретным.
39+
Здесь мы определили абстрактный тип `T`, который используется для описания типа члена `element`. Мы можем расширить его в абстрактном классе, добавив верхнюю границу нового типа `U`, связанного с `T`, делая описание типа более конкретным.
4040

4141
{% tabs abstract-types_2 class=tabs-scala-version %}
4242
{% tab 'Scala 2' for=abstract-types_2 %}
@@ -64,7 +64,7 @@ abstract class SeqBuffer extends Buffer:
6464

6565
Обратите внимание, как мы можем использовать новый абстрактный тип `U` в качестве верхней границы типа. Класс `SeqBuffer` позволяет хранить в буфере только последовательности, указывая, что тип `T` должен быть подтипом `Seq[U]` для нового абстрактного типа `U`.
6666

67-
[Трейты](traits.html) или [классы](classes.html) с членами абстрактного типа часто используются в сочетании с анонимными экземплярами классов. Чтобы проиллюстрировать это рассмотрим программу, которая имеет дело с буфером, который ссылается на список целых чисел:
67+
[Трейты](traits.html) или [классы](classes.html) с членами абстрактного типа часто используются в сочетании с анонимными экземплярами классов. Чтобы проиллюстрировать это рассмотрим программу, имеющую дело с буфером, который ссылается на список целых чисел:
6868

6969
{% tabs abstract-types_3 class=tabs-scala-version %}
7070
{% tab 'Scala 2' for=abstract-types_3 %}
@@ -104,9 +104,9 @@ println("content = " + buf.element)
104104
{% endtab %}
105105
{% endtabs %}
106106

107-
Здесь класс `newIntSeqBuf` создает экземпляры `IntSeqBuffer`, используя анонимную реализацию класса `IntSeqBuffer` (т.е. `new IntSeqBuffer`), устанавливая тип `T` как `List[Int]`.
107+
Здесь метод `newIntSeqBuf` создает экземпляры `IntSeqBuffer`, используя анонимную реализацию класса `IntSeqBuffer` (т.е. `new IntSeqBuffer`), устанавливая тип `T` как `List[Int]`.
108108

109-
Мы можем вывести тип класса из типа его членов и наоборот. Приведем версию кода, в которой выводится тип класса из типа его члена:
109+
Мы можем вывести тип класса из типа его членов и наоборот. Приведем версию кода, в которой выводится тип класса из типов его члена:
110110

111111
{% tabs abstract-types_4 class=tabs-scala-version %}
112112
{% tab 'Scala 2' for=abstract-types_4 %}

0 commit comments

Comments
 (0)