ts——类与接口

我们已经知道,可以使用接口来定义对象的类型

今天主要来介绍接口对类的一部分进行抽象

类实现接口

实现是面向对象中的一个重要概念,一般来讲,一个类只能继承自另一个类,有时候不同类之间会有一些共同的特性,这个时候就可以把共性提取成接口。

举例来说,门是一个类,防盗门是门的子类。如果防盗门有一个报警器的功能,我们可以简单的给防盗门添加一个报警方法。这时候如果有另一个类,车,也有报警器的功能,就可以考虑把报警器提取出来,作为一个接口,防盗门和车都去实现它:

interface Alarm {
    alert(): void;
}

class Door {
}

class SecurityDoor extends Door implements Alarm {
    alert() {
        console.log('SecurityDoor alert');
    }
}

class Car implements Alarm {
    alert() {
        console.log('Car alert');
    }
}

接口与接口之间的继承

interface Alarm {
    alert(): void;
}

interface LightableAlarm extends Alarm {
    lightOn(): void;
    lightOff(): void;
}

可以看出LightableAlarm继承了Alarm,拥有继承来的alter方法,也有两个新方法。

接口继承类

在常见的面向对象语言中,接口是不能继承类的,但在ts中是可以的

class Num {
    x: number;
    y: number;
    constructor(x: number, y: number) {
        this.x = x;
        this.y = y;
    }
}

interface NumIn extends Point {
    z: number;
}

let NumIn: NumIn = {x: 1, y: 2, z: 3};

在我们创建Num类时,除了创建了一个名为Num的类之外,同时也创建了一个名为Num的类型。

可以把Num当成一个类在用,也可以当成一个类型使用。

类与接口 · TypeScript 入门教程从 JavaScript 程序员的角度总结思考,循序渐进的理解 TypeScript。http://ts.xcatliu.com/advanced/class-and-interfaces.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在这篇文章中,我们将对 NJ4X 的 TypeScript 版本进行初步分析。首先,我们需要知道 NJ4X 是什么。NJ4X 是一个 MetaTrader 4(MT4)的 Java 接口,它允许使用 Java 或 C# 编写的策略与 MT4 进行通信。NJ4X-ts 是 NJ4X 的 TypeScript 版本,它允许使用 TypeScript 编写的策略与 MT4 进行通信。 在 NJ4X-ts 中,有一个核心 NJ4XClient,它实现了与 MT4 服务器进行通信的功能。NJ4XClient 中有一个属性 socket,它是一个 WebSocket 对象,用于与 MT4 服务器进行通信。NJ4XClient 中也有一些方法,用于发送命令并处理服务器的响应。这些方法包括: - sendCommand(command: string): Promise<any>:发送命令并返回一个 Promise 对象,该对象会在接收到服务器响应后被解析。 - sendCommandWithTimeout(command: string, timeout: number): Promise<any>:与 sendCommand 方法似,但它还接受一个超时时间参数,如果在超时时间内未收到服务器响应,则 Promise 对象会被拒绝。 - readResponse(): Promise<any>:读取服务器响应并返回一个 Promise 对象,该对象会在响应被解析后被解析。 在 NJ4X-ts 中,还有一些辅助和函数,用于解析服务器响应和生成命令。这些和函数包括: - NJ4XResponse:表示从服务器接收到的响应,它包含响应的状态码、错误信息和数据。 - NJ4XCommand:表示要发送到服务器的命令,它包含命令字符串和一个可选的参数对象。 - parseResponse(response: string): NJ4XResponse:将服务器响应字符串解析为 NJ4XResponse 对象。 - buildCommandString(command: string, params?: object): string:将命令字符串和参数对象转换为命令字符串。 这些和函数的实现可以在 NJ4X-ts 的源代码中找到。 在下一篇文章中,我们将继续分析 NJ4X-ts 的源代码,了解更多关于 NJ4X-ts 的实现细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值