接口的讲解-强制约束-可选属性-任意多个属性-只读属性

简介: 接口的讲解-强制约束-可选属性-任意多个属性-只读属性

接口


接口:可以描述类的一部分抽象行为, 也可以描述数据的结构形状


接口一般首字母大写,


接口中 可以定义为 强制约束 可选属性 只读属性 任意属性


# 强制约束
// 定义接口  
interface Instate {
name: string;
zge: number;
}
// obj1 满足接口所描述的数据结构的类型
// 并且里面的字段是不能够少的哈。否则会报错的哟
var obj1: Instate;
// 接口数据
obj1 = {
name: "张三",
zge: 4
};
console.log(obj1);


可选属性


// 定义接口
interface Instate {
name: string;
zge?: number; //这个字段可有可无
}
// obj1 满足接口所描述的数据结构的类型
// 并且里面的字段是不能够少的哈。否则会报错的哟
var obj1: Instate;
// 接口数据
obj1 = {
name: "张三"
};
console.log(obj1);


任意属性


// 定义接口 可以有任意多个字段 方便后面动态添加属性
ps==》 属性个数不确定的时候, any 必须是任意的类型。 [propN:string]:any,
interface Instate {
name: string,
zge?: number,
[propN:string]:any,
}
// obj1 满足接口所描述的数据结构的类型
var obj1: Instate;
// 接口数据
obj1 = {
name: "张三"
};
console.log(obj1);


只读属性


// 定义接口 可以有任意多个字段 方便后面动态添加属性
interface Instate {
readonly name: string; //只读属性
zge?: number; //这个属性可以有 可以没有
[propN: string]: any; //动态添加字段哈
}
// obj1 满足接口所描述的数据结构的类型
var obj1: Instate;
// 接口数据
obj1 = {
name: "张三"
};
obj1.name = "张四"; //你修改了 所以会在这里报错的哈
obj1.zge = 10;
console.log(obj1);
相关文章
|
2月前
|
安全 C# 索引
C#一分钟浅谈:属性与索引器的定义
本文深入浅出地介绍了C#编程中的属性和索引器。属性让字段更安全,通过访问器方法在读写时执行额外操作,如验证数据有效性;索引器则赋予类数组般的访问方式,支持基于索引的数据访问模式。文章通过示例代码展示了如何定义及使用这两种特性,并提供了常见问题及其解决方案,帮助读者写出更健壮、易维护的代码。希望读者能从中学习到如何有效利用属性和索引器增强C#类的功能性。
94 12
|
6月前
|
测试技术
反射获取或修改对象属性的值
* 获取单个对象的所有键值对
52 3
|
6月前
|
XML JSON 移动开发
BpmnJS 元素属性的updateProperties 和updateModdleProperties的属性更新区别
BpmnJS 元素属性的updateProperties 和updateModdleProperties的属性更新区别
238 1
|
5月前
|
XML JavaScript 前端开发
nodeType 属性
XML DOM中的每个节点都是对象,具有方法和属性,可通过JavaScript处理。关键属性包括:nodeName、nodeValue和nodeType。nodeType是只读的,用于标识节点类型,如:元素(1)、属性(2)、文本(3)、注释(8)和文档(9)。
对象的属性和值转换
对象的属性和值转换
39 0
JSONModel 设置所有属性为可选
JSONModel 设置所有属性为可选
56 0
lodash创建一个函数属性名称的数组,包含继承属性
lodash创建一个函数属性名称的数组,包含继承属性
86 0
|
存储 Kotlin
【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
221 0
【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
|
JavaScript 前端开发
42、属性的操作
元素对象有一个attributes属性,返回一个类似数组的动态对象,成员是该元素标签的所有属性节点对象,属性的实时变化都会反映在这个节点对象上。其他类型的节点对象,虽然也有attributes属性,但返回的都是null,因此可以把这个属性视为元素对象独有的。
169 0
附加属性的不同使用方式
原文:附加属性的不同使用方式     [AttachedPropertyBrowsableForType(typeof(ButtonBase))] public static void SetIsClearTextButtonBehaviorEnabled(Button obj, bool value) { obj.
754 0