Declaration and initialization
Protocols
Declaration and initialization
Method requirements
Property requirements
Constructor requirements
Subscript requirements
Inheritance of interfaces
Protocol composition
Conformance checking (is, as)
Collection of interfaces
Type extension
Class-only protocols
Optional requirements
Protocol adoption
Nested interface
@
protocol
Printable
-(
void
) print;
@
end
Printable
*printable = [
Printable
new
];
//<- Error
Languages
Python
C
Java
C#
JavaScript
R
Rust
Golang
Delphi
PHP
Swift
Kotlin
TypeScript
Clojure