鸿蒙初开,开天辟地
ArkTS中的接口是一个非常灵活的概念,除了用于类的规范以外,也可以直接描述对象的类型
let coder:{name:string,version:number,encode:string} = {name:'JAVA',version:10,encode:'javac'};
接着我们抽离匿名类的构造出来
interface Lan{
name:string,
version:number,
encode:string
}
然后,我们就可以直接基于这个接口来创建对象了
let java:Lan = {name:'JAVA',version:10,encode:'javac'};
interface Lan{
name:string,
version:number,
encode:string
}
变成了这样的一个场景
接下来我们尝试获取它的属性和判断它的类型
interface Lan{
name:string,
version:number,
encode:string
}
let java:Lan = {name:'JAVA',version:10,encode:'javac'};
console.log(java.name);
console.log(java.version);
console.log(java.encode);
console.log(typeof java);
获取属性
判断类型
我们可以清楚的看到,所有功能都是正常的,这里和JAVA这样的面向对象编程语言很不一样,因为JAVA中这个接口应当是不能创建对象的,因为接口是抽象的,没有接口的具体实例,但是TS中是可以的,而且我们能看到,它是一个Object类型的对象
而这个特性也是我们在后续开发鸿蒙应用中会经常用到的特性