1.什么是对象
定义:对象是一个可以存储多个数据的容器。
与数组不同之处:数组是存储多个同一类型数据的容器,而对象可以存储不同类型的容器;一般由属性名和属性值或属性方法构成。
2.对象的作用
作用:对象是用于描述一个物体的特征和行为。
3.对象怎么定义和使用
3.1 属性的定义和使用
3.1.1 接口定义
interface
: interface 用于定义对象形状的接口,定义约定好的接口属性和属性方法,不
对接口属性和属性方法进行初始化。
在接口中,可以定义属性值和属性方法。
注意:接口中,可以不使用逗号分隔属性名或属性方法;
- 在接口中定义属性名
// 在接口定义属性名的格式
interface 接口名 {
属性1 : 数据类型
属性2 : 数据类型
属性3 : 数据类型
}
在代码中定义属性名
2. 在接口中定义属性方法
属性方法也称为抽象方法,只定义,不实现。也就是说,只完成定义,不具体的编写实现的内部代码。
// 在接口定义属性方法格式
interface 接口名{
属性方法1(参数1: 参数类型) : 返回值类型
属性方法2(参数1: 参数类型) : 返回值类型
属性方法3(参数1: 参数类型) : 返回值类型
}
代码如下图:
3.2 接口属性(对象)的初始化
implements
:implements 用于类实现接口,初始化接口属性值或属性方法;
接口属性的初始化,不会跟随程序运行而执行,需要调用才会执行。
- 属性值的初始化
注意:属性值要与接口中的数据类型一致
// 定义对象格式
let 对象名 : 接口名 = {
属性1 : 值,
属性2 : 值,
属性3 : 值
}
代码如下图:
或使用implements
对接口属性进行初始化,属性使用;
分隔。
class A implements B 接口名 = {
属性1 = 值;
属性2 = 值;
属性3 = 值;
}
代码如下图:
2. 属性方法的初始化
注意:返回类型如果时void,可以不写;
let 对象名: 接口名 = {
属性方法1(参数1: 参数类型) : 返回类型{
//方法体
//如果返回类型不是void,需要写 return 返回值
}
属性方法2(参数1: 参数类型) : 返回类型{
//方法体
//如果返回类型不是void,需要写 return 返回值
}
}
代码如下图:
或使用implements
对接口属性方法进行初始化
class 类名 implements 接口名{
属性方法1(参数1: 参数类型) : 返回类型{
//方法体
//如果返回类型不是void,需要写 return 返回值
}
属性方法2(参数1: 参数类型) : 返回类型{
//方法体
//如果返回类型不是void,需要写 return 返回值
}
}
代码如下图:
3.3 对象属性值的获取
3.3.1 创建接口对象属性使用方法
通过接口对象,已经初始化了,可以直接使用对象名获取;
- 属性值的获取
通过接口对象初始化的对象,由对象.
属性,可以获取到其数值;
- 属性方法的获取
通过接口对象初始化的对象,由对象.
属性方法,可以调用其属性方法,注意是否需要传参以及参数数量;
3.3.2 implements接口类属性使用方法
通过类初始化的属性数据,需要对类实例化转为对象,才能获取其数据;实例化之后,与接口对象获取属性值和属性方法一致。
let 对象名 : 接口名 = new 类名()
-
属性值获取
通过实例化后的对象,由对象.
属性,可以获取到其数值;
-
属性方法的获取
通过实例化后的对象,由对象.
属性方法,可以调用其属性方法,注意是否需要传参以及参数数量;
4.对象的方法
方法:对象里面的函数称为方法
4.1 对象方法
作用:描述对象的具体行为
首先需要在接口中定义方法类型(包括方法名、参数、参数数量、参数类型、返回值类型),然后在对象中实现方法,最后使用对象.
方法名进行调用。
4.1.1 约定方法类型
// 格式
interface 接口名{
方法名: (参数:数据类型) => 返回值类型
方法名: (参数:数据类型) => 返回值类型
}
4.1.2 添加方法(箭头函数)
4.1.2 属性值获取(对象方法的调用)
属性方法的调用:对象名.方法名(),注意参数的传递