语法格式如下:
class 类名{
字段1:类型
字段2:类型
constructor(参数...) {
this.字段 = 参数
}
}
实例化:
const 实例1 = new 类名(参数...)每new一次就去执行一次constructor方法,创建不同的实例。
每次new都要传参数,如果参数是一个一个的传,那如果增加字段了就需要增加相应的参数,如果这个方法有许多地方修改,那就得修改许多地方,怎么办呢?增加一个构造方法呗,不好意思,鸿蒙一个类中只能有一个构造方法,解决这种问题是,构造函数中传接口对象,增加字段只需要在接口对象中添加,类中也新增字段,然后在构造函数中体增加赋值就可以了,就是这个构造函数之前有许多地方调用也不用修改,new的时候 传参数直接一个实例扔给构造方法完事 代码如下:
// 类
// class 类名 {
// 字段名:类型 = 初始值
// 字段名?:类型
// }
interface ICat{
name: string
foods?: string
age:number
}
class Cat {
name: string
foods?: string
age:number
constructor(iCat:ICat) {
this.name = iCat.name
this.foods = iCat.foods
this.age = iCat.age
}
}
// 基于类, 创建对象
const c:Cat = new Cat({
name:"猫咪",
foods:"肉",
age:1
})
c.foods = '大米饭'
console.log('大米饭:', c.name.length)
let p: Cat = new Cat({
name:"猫咪名字",
foods:"猫粮",
age:1
})
@Entry
@Component
struct Index {
build() {
}
}

总结:鸿蒙开发中类的构造函数,不同对象的实例化,需要在构造函数中传不同的值,鸿蒙中没有重载的语法,为了使代码改动最小,构造方法中最好是接收接口对象,因为接口对象的实例化不需要构造方法,在构造方式实体内取到接口对象的值然后赋值给对象即可



















