
回复
华为仓颉语言是鸿蒙原生应用的一种新的编程语言,采用面向对象的编程思想,为开发者带来新的开发体验。不仅可以和 ArkTs 相互调用,更能提升应用程序的性能,更重要的是仓颉语言的特点结合了 java 和 C 的特点。对开发者来说比较容易上手学习,本篇文章主要是详细介绍仓颉语言中的结构体 struct 和类 class 的区别,建议点赞收藏!
struct Person {
let name :String
let age:Int64
pubilc init(name:String,age:Int64){
this.name = name
this.age = age
}
public func speak(){
println("Hello World")
}
}
struct Person {
pubilc Person(let name:String,let age:Int64){}
public func speak(){
println("Hello World")
}
}
class Person {
let name :String
let age:Int64
pubilc init(name:String,age:Int64){
this.name = name
this.age = age
}
public func speak(){
println("Hello World")
}
}
public open class Person {
let name :String
let age:Int64
pubilc init(name:String,age:Int64){
this.name = name
this.age = age
}
public func speak(){
println("Hello World")
}
}
class Student <:Person{
}
public open class Person {
let name :String
let age:Int64
pubilc init(name:String,age:Int64){
this.name = name
this.age = age
}
public func speak(){
println("Hello World")
}
}
class Student <:Person{
public override func speak(){
println("Hello 仓颉")
}
}
仓颉中的结构体struct和 class 类有很多相同之处,开发者需要注意使用场景以及两者之间的异同之处。特别需要注意结构体 struct 的实例赋值给另一个实例对象后,相当于实例对象的拷贝,两者之间的内存地址并不相同,不同的操作两者之间并不会互相影响,而 class 类和 java 中的类一样,都是表示引用传递,拥有相同的内存地址。