类
在 TS 中可以使用 public、private、protected 关键字来对构造函数、成员变量和成员方法、静态变量和静态方法的外部可见性进行控制。 虽然默认情况下,所有的成员都是 public 的,但是我依然建议对所有的成员(除了 constructor 之外)进行显式的可见性标注。
class MyClass {
public static shared = new MyClass();
public static publicStaticProperty = 'hello world';
private static _privateStaticProperty = 'hello myself';
public static publicStaticMethod() {}
private static privateStaticMethod() {}
public publicProperty = 'hi';
private _privateProperty = '';
private #privatePropertyUsingNewSyntax = '';
private constructor() {
// I don't want outer context to create object using constructor directly.// They should use the static shared instance to access it.
}
public publicMethod() {}
private privateMethod() {}
}
根据上述的示例代码,建议在编写 class 的时候,应当按照以下顺序来进行编写,这样可以提高代码的可读性和可维护性。
-
Public static properties
-
Private static properties
-
Public static methods
-
Private static methods
-
Public properties
-
Private properties
-
Constructor
-
Public methods
-
Private methods
可以用 class 来声明 interface
再用 interface extends class
最后直接用 interface 或者 class implements interface 这里直接引用官方示例来进行说明:
class Point {
x: number;
y: number;
}
interface Point3d extends Point {
z: number;
}
let point3d: Point3d = { x: 1, y: 2, z: 3 };