Sau đây là ví dụ giữa class và struct để cho các bạn dễ hiểu.
- Tạo 1 class tên là SomeClass, khởi tạo biến aClass với tham số là "Bob", sau đó gán biến aClass vào biến bClass. Đổi tên biến bClass thành "Sue".
Cuối cùng in tên của 2 biến đó ra màn hình thì chúng đều là "Sue":
- Tạo 1 struct tên là SomeStruct, khởi tạo biến aStruct với tham số là "Bob", sau đó gán biến aStruct vào biến bStruct. Đổi tên biến bStruct thành "Sue".
Cuối cùng in tên của 2 biến đó ra màn hình thì aStruct sẽ in ra là 'Bob' và bStruct sẽ in ra là 'Sue':
Tuỳ theo từng trường hợp mà bạn nên dùng đối tượng đó là class hay struct.
Bạn có thể tải playground của code này tại đây.
Tài liệu tham khảo:
- http://stackoverflow.com/questions/24217586/structure-vs-class-in-swift-language
class SomeClass {
var name: String
init(name: String) {
self.name = name
}
}
var aClass = SomeClass(name: "Bob")
var bClass = aClass // aClass and bClass now reference the same instance!
bClass.name = "Sue"
println(aClass.name) // "Sue"
println(bClass.name) // "Sue"
- Tạo 1 struct tên là SomeStruct, khởi tạo biến aStruct với tham số là "Bob", sau đó gán biến aStruct vào biến bStruct. Đổi tên biến bStruct thành "Sue".
Cuối cùng in tên của 2 biến đó ra màn hình thì aStruct sẽ in ra là 'Bob' và bStruct sẽ in ra là 'Sue':
struct SomeStruct {
var name: String
init(name: String) {
self.name = name
}
}
var aStruct = SomeStruct(name: "Bob")
var bStruct = aStruct // aStruct and bStruct are two structs with the same value!
bStruct.name = "Sue"
println(aStruct.name) // "Bob"
println(bStruct.name) // "Sue"
Tuỳ theo từng trường hợp mà bạn nên dùng đối tượng đó là class hay struct.
Bạn có thể tải playground của code này tại đây.
- http://stackoverflow.com/questions/24217586/structure-vs-class-in-swift-language
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.