123 lines
1.6 KiB
Swift
123 lines
1.6 KiB
Swift
import Foundation
|
|
|
|
class Person {
|
|
var name: String
|
|
var age: Int
|
|
|
|
init(name: String, age: Int) {
|
|
self.name = name
|
|
self.age = age
|
|
}
|
|
|
|
func increaseAge() {
|
|
self.age += 1
|
|
}
|
|
}
|
|
|
|
let foo = Person(name: "Foo", age: 20)
|
|
|
|
foo.age
|
|
foo.increaseAge()
|
|
foo.age
|
|
|
|
let bar = foo
|
|
bar.increaseAge()
|
|
bar.age
|
|
foo.age
|
|
|
|
|
|
if foo === bar {
|
|
"Foo and Bar point to the same memory"
|
|
} else {
|
|
"Foo and Bar don't point to the same memory"
|
|
}
|
|
|
|
class Vehicle {
|
|
func goVroom() {
|
|
"Vroom Vroom"
|
|
}
|
|
}
|
|
|
|
class Car: Vehicle {
|
|
|
|
}
|
|
|
|
let car = Car()
|
|
car.goVroom()
|
|
|
|
|
|
class Person2 {
|
|
private(set) var age: Int
|
|
init(age: Int) {
|
|
self.age = age
|
|
}
|
|
|
|
func increaseAge() {
|
|
self.age += 1
|
|
}
|
|
}
|
|
|
|
let baz = Person2(age: 20)
|
|
baz.increaseAge()
|
|
baz.age
|
|
//baz.age += 1
|
|
|
|
|
|
class Tesla {
|
|
let manufacturer = "Tesla"
|
|
let model: String
|
|
let year: Int
|
|
|
|
init() {
|
|
self.model = "X"
|
|
self.year = 2025
|
|
}
|
|
|
|
init(model: String, year: Int) {
|
|
self.model = model
|
|
self.year = year
|
|
}
|
|
|
|
convenience init(
|
|
model: String
|
|
) {
|
|
self.init(
|
|
model: model,
|
|
year: 2024
|
|
)
|
|
}
|
|
}
|
|
|
|
class TeslaModelY: Tesla {
|
|
override init() {
|
|
super.init(model: "Y", year: 2024)
|
|
}
|
|
}
|
|
|
|
|
|
let modelY = TeslaModelY()
|
|
modelY.model
|
|
modelY.year
|
|
|
|
class MyClass {
|
|
init() {
|
|
"Intialized"
|
|
}
|
|
|
|
func doSomething() {
|
|
"Do Something"
|
|
}
|
|
|
|
deinit {
|
|
"Deinitialized"
|
|
}
|
|
}
|
|
|
|
let myClass = MyClass()
|
|
let myClosure = {
|
|
let myClass = MyClass()
|
|
myClass.doSomething()
|
|
}
|
|
|
|
myClosure()
|