Protocols
Property Requirements
Protocols can require readable or writable properties.
Require calculated data
property_requirements.swift
protocol HasArea {
var area: Int { get }
}
struct Rectangle: HasArea {
let width: Int
let height: Int
var area: Int {
return width * height
}
}
let width =
let rectangle = Rectangle(width: width, height: 4)
let area = rectangle.area
print("width=\(width)")
print("area=\(area)")
protocol HasArea {
var area: Int { get }
}
struct Rectangle: HasArea {
let width: Int
let height: Int
var area: Int {
return width * height
}
}
let width =
let rectangle = Rectangle(width: width, height: 4)
let area = rectangle.area
print("width=\(width)")
print("area=\(area)")
protocol HasArea {
var area: Int { get }
}
struct Rectangle: HasArea {
let width: Int
let height: Int
var area: Int {
return width * height
}
}
let width =
let rectangle = Rectangle(width: width, height: 4)
let area = rectangle.area
print("width=\(width)")
print("area=\(area)")
property requirement
A computed property can satisfy a protocol requirement just like a stored property can.