struct Fahrenheit {
var temperature: Double
init() {
temperature = 32.0
}
}
var f = Fahrenheit()
print("Temperature pada saat ini adalah \(f.temperature)")
struct Celcius {
var temperatureCelcius: Double
init(fromFahrenheit fahrenheit: Double) {
temperatureCelcius = (fahrenheit - 32.0) / 1.8
}
init(fromKelvin kelvin: Double) {
temperatureCelcius = kelvin - 273.15
}
}
struct Size {
var width = 0.0, height = 0.0
}
// akan tetap didefinisikan dan bisa menerima init tanpa harus deklarasi init
// struct di atas diubah dengan menambah initializer
class Size {
var width: Double, height: Double
init(w: Double, h: Double) {
width = w
height = h
}
}
let twoByTwo = Size(w: 2.0, h: 2.0)
var counter = 3;
class baseClass {
var counter: Int
init() {
counter += 1
}
deinit {
counter -= 1
}
}
var base: baseClass? = baseClass()
print(counter)
base = nil // jika di assign dengan nil, maka akan memanggil deinit!
print(counter)