Swift里的类继承,构造和析构代码

简介: 敲敲打打, 每天差不多一个小时来学这个, 相信到时候再用XCODE,感觉会熟悉很多。。

敲敲打打,

每天差不多一个小时来学这个,

相信到时候再用XCODE,感觉会熟悉很多。。



class Counter {
	var count = 0
	func increment() {
		count += 1
	}
	func increment(by amount: Int) {
		count += amount
	}
	func reset() {
		count = 0
	}
}

let counter = Counter()
counter.increment()
print(counter.count)
print(counter.increment(by: 5))
print(counter.reset())

class Vehicle {
	var currentSpeed = 0.0
	var description: String {
		return "traveling at \(currentSpeed) miles per hour"
	}
	func makeNoise() {
		//nothing
	}
}

class Bicycle: Vehicle {
	var hasBasket = false
}

let bicycle = Bicycle()
bicycle.hasBasket = true

bicycle.currentSpeed = 15.0
print("Bicycle: \(bicycle.description)")


let someVehicle = Vehicle()
print("Vehicle: \(someVehicle.description)")

struct Fahrenheit {
	var temperature: Double
	init() {
		temperature = 32.0
	}
}

var f = Fahrenheit()
print("The default temperature is \(f.temperature) Fahrenheit")

struct Color {
	let red, green, blue: Double
	init(red: Double, green: Double, blue: Double) {
		self.red = red
		self.green = green
		self.blue = blue
	}
	
	init(white: Double) {
		red = white
		green = white
		blue = white
	}
}

let magenta = Color(red: 1.0, green: 0.0, blue: 1.0)
let halfGray = Color(white: 0.5)

print(magenta.red)
print(halfGray.red)

class Bank {
	static var coinsInBank = 10_000
	static func distribute(coins numberOfCoinsRequested: Int) -> Int {
		let numberOfCoinsToVend = min(numberOfCoinsRequested, coinsInBank)
		coinsInBank -= numberOfCoinsToVend
		return numberOfCoinsToVend
	}
	static func receive(coins: Int) {
		coinsInBank += coins
	}
}

class Player {
	var coinsInPurse: Int
	init(coins: Int) {
		coinsInPurse = Bank.distribute(coins: coins)
	}
	
	func win(coins: Int) {
		coinsInPurse += Bank.distribute(coins: coins)
	}
	deinit {
		Bank.receive(coins: coinsInPurse)
	}
}

var playerOne: Player? = Player(coins: 100)

print("A new player has joined the game with \(playerOne!.coinsInPurse) coins")


目录
相关文章
|
存储 Java C#
30 如何在Swift中实现继承
如何在Swift中实现继承
61 0
|
2月前
|
存储 Swift 开发者
Swift 是一种现代编程语言,支持面向对象编程(OOP),包括类、对象、继承、多态等核心概念
Swift 是一种现代编程语言,支持面向对象编程(OOP),包括类、对象、继承、多态等核心概念。通过这些特性,Swift 能够帮助开发者构建结构清晰、可维护性强的代码。本文介绍了 Swift 中 OOP 的基本概念、高级特性和实际应用,并通过一个简单的 `Car` 类示例展示了如何在 Swift 中实现面向对象编程。
29 1
|
2月前
|
Swift 索引 容器
Swift 泛型-关联类
Swift 泛型-关联类
26 1
|
2月前
|
存储 安全 vr&ar
Swift 构造过程
10月更文挑战第30天
19 2
|
3月前
|
Swift
Swift 中 struct(结构体)和 class(类)的区别
【10月更文挑战第10天】理解 struct 和 class 的区别对于正确使用 Swift 语言进行编程非常重要。在实际开发中,需要根据具体的需求和场景来选择合适的数据类型,以充分发挥它们的优势,提高代码的质量和效率。
|
2月前
|
存储 Swift
Swift 继承
10月更文挑战第30天
30 0
|
2月前
|
存储 Swift iOS开发
Swift 类
10月更文挑战第29天
14 0
|
8月前
Swift4.0判断本函数是否在其它类有相同的方法
Swift4.0判断本函数是否在其它类有相同的方法
49 0
|
Swift 数据安全/隐私保护
40 Swift中代码访问权限控制
Swift中代码访问权限控制
80 0
|
8月前
|
安全 Swift 开发者
【Swift开发专栏】Swift类的继承与多态
【4月更文挑战第30天】Swift中的OOP聚焦于类继承与多态,提供代码复用和类型安全。继承通过`class`和冒号实现,子类继承父类属性和方法,支持单继承以降低复杂性。多态借助协议和类型兼容实现,允许统一处理不同类型的对象。继承用于构建复杂类,多态则使代码更通用、可扩展。理解并运用这些概念对Swift开发者至关重要。
65 0