TypeScript和JavaScript最大区别就是后者引入了类。
①如何声明TypeScript的类?
主要的声明格式如下:
class class_name {
// 类作用域
// 声明一些函数和变量
}
面向对象的程序设计语言最经典的C++类声明的格式是这样的:
class class_name {
public:
class_name();// 构造函数
~class_name();// 析构函数
void setclass_name(int name) {
class_name = name;
}
protected:
// 一些继承的声明
private:
int class_name;
}
TypeScript类声明格式如下:
class Als {
als:string; // 字段,也即数据成员
// 构造函数
constructor(als:string) {
this.als = als;
}
// 方法
disp():void {
console.log("als: "+this.als);
}// 一些成员函数
}
②如何使用类?
TypeScript的类需要实例化后使用,即:
var object_name = new class_name([ arguments ]);
这样就声明了一个对象。此时会调用这个类的构造函数,这也和C++相同。
此时要访问类内部的函数或变量,使用“.”运算符即可,如:
obj.field_name; // 提供属性(变量)名
obj.function_name(); // 提供函数(方法)名
这也和C++类似。但是C++存在“::”运算符来在类外对类内部的变量或函数进行声明定义。