class Caculator { private name: string; constructor(name: string) { this.name = name; } public add(a: number, b: number): number { return a + b; } public sub(a: number, b: number): number { return a - b; } public mul(a: number, b: number): number { return a * b; } public div(a: number, b: number): number { return a / b; } }
import Caculator from './Caculator'; const caculator = new Caculator('example'); console.log(caculator.add(1, 2)); console.log(caculator.sub(1, 2)); console.log(caculator.mul(1, 2)); console.log(caculator.div(1, 2));
class ....
const caculator = new Caculator('example'); const caculator2 = new Caculator('mycaculator');
constructor(name: string) { this.name = name; }
要使用class內部的方法、取得class內部的變數要使用this
不用知道別人的class怎麼寫的就可以直接使用
可以繼承別的class的內容,並新增自己需要的功能上去
class ScientificCaculator extends Caculator { constructor(name: string) { super(name); } ... }
同一個方法在不同子類別裡面,可以有不同的實作方法
用以改變屬性的讀取和賦值行為
class Caculator { private name: string; constructor(name: string) { this.name = name; } ... get Name(): string { return this.name; } set Name(name: string) { this.name = name; } }
class Caculator { private name: string; constructor(name: string) { this.name = name; } public abstract add(a: number, b: number): number { return a + b; } public abstract sub(a: number, b: number): number { return a - b; } public abstract mul(a: number, b: number): number { return a * b; } public abstract div(a: number, b: number): number { return a / b; } }
Caculator.add(1 + 2)
absract class Caculator { private name: string; constructor(name: string) { this.name = name; } public abstract add(a: number, b: number); public abstract sub(a: number, b: number); public abstract mul(a: number, b: number); public abstract div(a: number, b: number); }