Swift-结构体
来源:互联网 发布:百胜软件单机版 编辑:程序博客网 时间:2024/04/30 12:47
//定义结构体理解为定义一种类型
struct Point{
var x,y:Double
}
struct Size {
var width, height:Double
}
struct Rect1{
var origin:Point
var size:Size
}
//初始化(方法是系统自带的);也可以有自定义的初始化方法
var point1=Point(x:11.1,y:222)
var xxx=point1.x
//结构体可以带算值属性,属性观察
//可以内置方法
struct Rect2{
var origin:Point //可定义为结构体类型
var size:Size
var area:Double{
get{
return10//size.width * size.height
}
set(newRect){//使用别名newRect代替newValue
size.height = newRect /size.height
println("新值=\(size.height)")
}
}
func isBiggerThanRect(other:Rect2)->Bool{
return self.area > other.area
}
}
//扩展结构体Rect2
extensionRect2 {
var计算1:Double{
returnsize.height * size.width
}
mutatingfunc increaseByFactor(factor:Double) {
size.height *= factor
size.width *= factor
}
}
var varrect1 =Rect2(origin:Point(x:0, y: 0), size: Size(width: 10, height: 5))
varrect1.area
varrect1.area = 100
varrect1.increaseByFactor(10.0)
varrect1.size.height
varrect1.计算1
//结构体和类的区别:
//1、结构体不能继承 2、结构体是值传递(会复制对象),类是引用传递(传递对象的地址)
//结构体内部值的修改-用关键字mutating
struct Point3{
var x,y:Double
func printmethod()->String{
return "ABC"
}
mutatingfunc moveToTheRightBy(dx:Double){
x += dx
}
}
//定义为结构体变量才能修改内部值
var p3 =Point3(x:0.0, y:0.0)
p3.moveToTheRightBy(100)
p3.printmethod()
//定义为结构体常量不能修改内部值
- 【Swift初见】Swift结构体
- Swift 之结构体
- Swift 类 结构体
- Swift Struct结构体
- Swift-结构体
- swift与结构体
- [Swift]结构体
- swift -结构体
- Swift 结构体
- swift 2.0 结构体
- swift 结构体
- Swift 的结构体
- swift-结构体
- Swift 结构体
- swift中的结构体
- Swift--10结构体
- Swift 结构体指针
- Swift 结构体
- ios中的视图调试(ios8苹果引入了强大的新技术,不可不看)
- 爸爸妈妈,我想你们了
- java中struts2中配置struts.xml的package
- 8.3(2)多分支函数求值(switch语句)
- 有趣的指针
- Swift-结构体
- C++ 动态数据结构(三)
- ios - run loop (timer)
- 黑马程序员,Java基础知识九:GUI图形用户界面
- HDU - 1019ACM
- Linux的进程与线程
- Mac下postgresql安装和配置
- Excel 已经检测到"XXX.xsl"是SYLK文件,但是不能将其加载的问题
- HTTP与HttpServlet