← Каталог
Объектно-ориентированное программирование в Swift — Обязательные инициализаторы
Фрагмент из «Объектно-ориентированное программирование в Swift»: Обязательные инициализаторы.
class DataModel {
let identifier: UUID
required init() {
self.identifier = UUID()
}
init(identifier: UUID) {
self.identifier = identifier
}
}
class UserAccount: DataModel {
var username: String
required init() {
self.username = "guest"
super.init()
}
init(username: String) {
self.username = username
super.init()
}
}
class AdminAccount: UserAccount {
var privileges: [String]
required init() {
self.privileges = ["read", "write", "delete"]
super.init()
}
init(username: String, privileges: [String]) {
self.privileges = privileges
super.init(username: username)
}
} class DataModel {
let identifier: UUID
required init() {
self.identifier = UUID()
}
init(identifier: UUID) {
self.identifier = identifier
}
}
class UserAccount: DataModel {
var username: String
required init() {
self.username = "guest"
super.init()
}
init(username: String) {
self.username = username
super.init()
}
}
class AdminAccount: UserAccount {
var privileges: [String]
required init() {
self.privileges = ["read", "write", "delete"]
super.init()
}
init(username: String, privileges: [String]) {
self.privileges = privileges
super.init(username: username)
}
}