3分钟快速了解TypeScript( 三 )


console.log(x,y);
输出结果为:12 , 13
四、 面向对象相关设计
TypeScript 是面向对象的 JavaScript 。
TypeScript 支持面向对象的所有特性,比如 类、接口等 。
TypeScript在面向对象设计这块跟Java如出一辙 。Java基础好的同学,可以无痛过渡 。
1. 类
类描述了所创建的对象共同的属性和方法 。跟Java中几乎完全一样,仅仅构造函数略有区别 。
class Car {
// 字段
engine:string;
// 构造函数
constructor(engine:string) {
this.engine = engine
}
// 方法
disp():void {
console.log("发动机为 : "+this.engine)
}
}
使用 new 关键字来实例化类的对象,语法格式如下:
var object_name = new class_name([ arguments ])
类实例化时会调用构造函数,例如:
var obj = new Car("Engine 1")
类中的字段属性和方法可以使用 . 号来访问:
// 访问属性
obj.field_name
// 访问方法
obj.function_name()
其它封装、继承、多态等跟Java中几乎一毛一样 。在此不做过多介绍 。只是细微区别,例如默认访问修饰符为public(默认) : 公有,可以在任何地方被访问 。
2. TypeScript 接口
接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法 。TypeScript 接口定义如下:
interface interface_name {
}
以下实例中,我们定义了一个接口 IPerson,接着定义了一个变量 customer,它的类型是 IPerson 。
customer 实现了接口 IPerson 的属性和方法 。
interface IPerson {
firstName:string,
lastName:string,
sayHi: ()=>string
}
var customer:IPerson = {
firstName:"Tom",
lastName:"Hanks",
sayHi: ():string =>{return "Hi there"}
}
console.log("Customer 对象 ")
console.log(customer.firstName)
console.log(customer.lastName)
console.log(customer.sayHi())
var employee:IPerson = {
firstName:"Jim",
lastName:"Blakes",
sayHi: ():string =>{return "Hello!!!"}
}
console.log("Employee 对象 ")
console.log(employee.firstName)
console.log(employee.lastName)
需要注意接口不能转换为 JavaScript 。它只是 TypeScript 的一部分 。

3分钟快速了解TypeScript

文章插图
 




推荐阅读