typescript 中,我们可以用class 实现接口(interface),也可以用class 扩展抽象类(abstract class),
但是:
1、我们如何知道如何选择使用接口还是抽象类?
2、有了interface,还有abstract class 存在的必要吗?
3、我们使用interface好还是选择abstract class好?
typescript 中,我们可以用class 实现接口(interface),也可以用class 扩展抽象类(abstract class),
但是:
1、我们如何知道如何选择使用接口还是抽象类?
2、有了interface,还有abstract class 存在的必要吗?
3、我们使用interface好还是选择abstract class好?
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
区别的话大概就这些。
你要是真·OOP 开发,编译后你希望在 JS 里也保留 class(比如你是开发一个库,别人引用后也能 new 对象出来的),那就用 abstract class。
不过绝大部分情况下,我们用 TypeScript 仅仅是为了类型声明、从而带来更好的 IDE 智能提示,这种情况下 interface+type 可以满足 99% 的场景了。