开发者社区> 天飞> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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")


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
swift UI专项训练42 用Swift代码实现页面跳转与传值
   之前我们做过如果要点击一个按钮实现跳转到另一个按钮的办法,有时候我们需要通过一些动作来触发页面的跳转,比如摇动手机,这样就不能直接用连线的办法来实现跳转了,那么如何通过代码的方式来实...
805 0
Swift UI专项训练35 UIAlertController
   之前我们介绍过AlertView和ActionSheet的用法,前者显示在页面中,而后者是从页面底部飞入的。
941 0
Swift UI专项训练34 TabBar底部导航栏
    TabBar大家应该不会陌生,也是我们经常接触的控件,与navigation类似。首先来看下它的属性: Background用来摄住TabBar的背景图片。
1250 0
swift UI专项训练26 控件综述
    控件和视图一样,都是与用户交互的,什么是控件呢?我们常用的滑块、开关等都是控件。控件的基类都是UIControl。
836 0
swift UI专项训练27 UIButton按钮控件
   按钮大家都很熟悉了,按钮的基类是UIButton,它的内容设置是比较多的。 Type是按钮的样式,system就是我们常见的无边框按钮,如果换成Detail Disclosure,会变成这个样子: 也就是我们常说的详细信息。
840 0
swift UI专项训练31 Slider 滑块
   滑块是用一种渐进柔和的方式来展示一种设置或者一个进度。滑块的基类是UISlider,属性比较简单 主要是最小值最大值和当前值。
840 0
swift UI专项训练21 网页浏览器
   网页浏览器不同于上一话的webview,我们的网页浏览器不要求用户输入前面的HTTP,并且能实现自动布局,这一话的内容是前几话的总结。
724 0
swift UI专项训练20 WebView浏览器
    WebView就是一个HTML浏览器,用来显示网页,webView的属性如图:     Scaling中如果勾选了后面的话,那么打开的网页会根据webView的尺寸来调整尺寸。
591 0
swift UI专项训练13 AlertView警告框
     有时候我们进行操作的时候需要一个弹框进行确认或者返回,这就是AlertView。在上一话的工程中,当我们点击停止按钮的时候,弹窗确认。
593 0
swift逻辑分支
swift逻辑分支
10 0
+关注
天飞
一个运维老同志
1510
文章
0
问答
文章排行榜
最热
最新