结构体的实例变量以及成员方法,结构体与类的区别
/*
1、结构体定义,实例和属性访问
struct Rect-C {
Double width;
Double height;
};
*/
print("1、结构体定义")
//struct关键字
//struct Rect {
// var width:Double = 0.0
// var height:Double = 0.0
// //成员方法可以访问使用成员属性
// func getWidth() -> Double {
// return width
// }
// //和C、OC不一样:swift结构体中还可以有成员方法
// func show(){
// print("width=\(width),height=\(height)")
// }
//}
/*
class 类名称 {
} 基本和结构体一致,class关键字
*/
class Rect {
var width:Double = 0.0
var height:Double = 0.0
//成员方法可以访问使用成员属性
func getWidth() -> Double {
return width
}
//和C、OC不一样:swift结构体中还可以有成员方法
func show(){
print("width=\(width),height=\(height)")
}
}
//结构体逐一成员构造器
var rect:Rect = Rect()//Rect(width:5,height:5)
//print("\(rect.width),\(rect.height)")
//成员方法的调用语法 -- 对象.方法()
rect.getWidth()
//rect.width = 10
//rect.height = 10
//print("\(rect.width),\(rect.height)")
//struct结构体:rect1和rect是两个不同的实例,但是内容一致(拷贝)
//class类:rect1和rect指向同一块内存(引用了同一个实例,不会拷贝)
var rect1 = rect//给结构体赋值,内容完全一样
rect.width = 10
rect.height = 10
rect.show()
rect1.show()
//类是引用类型,结构体是值类型
//===或者!== 三个===恒等于(等价),只可以应用于类的实例
if rect1 === rect{
print("equal")
}
结构体:
类: