Закрыть. Это означает, что aBar
будет экземпляром класса, соответствующего протоколу foo
. Это может быть bar
(если этот класс соответствует foo
) или другой класс, соответствующий foo
. Все, что вы знаете из этой декларации, это то, что aBar
соответствует протоколу.
Кроме того, они проверяются только во время компиляции, а не во время выполнения. В aBar
можно поместить объект, который не является экземпляром класса, соответствующего foo
. Но компилятор предупредит вас об этом в большинстве случаев.