TypeScript-Class

邱繼祥
Will-Cocos Creator
Published in
3 min readJul 24, 2019

typescript是由javascript衍生而來,而眾所皆知的就是其多餘js的物件導向概念
typescript在寫起來可以說是類似js+c#

基本的類別架構

class Person{
sentence :string;
constructor(text: string) //建構元
{
this.sentence = text;
}
Talk()
{
console.log(this.sentence);
}
}
let Andy = new Person(“Hello”);
Andy.Talk();//'Hello'

如果有學過c++的人相信都能理解,概念相同

我們建立一個人的類別,他有一個變數是句子,而建構元就是在宣告人的時候要給定說這個變數的內容

我們可以這樣想,世界上有很多人,每個人心中都有一句話但是各自不同,假設宣告有一個人它叫Andy,我們賦予它Person這個類別,然後我們要告訴Person類別說Andy心中的那句話是hallo,那麼建構元就會把Andy的sentence設為'hello’,假設現在又宣告了一個Tony,那麼他的sentence並不會是’hello’,儘管他們都是使用Person這個類別

繼承

class Animal{ 
Move(distance: number = 0)
{
console.log('moved ${distance}m.');
}
}
class Person extends Animal {
Talk()
{
console.log('hello');
}
}
const Andy= new Person();
Andy.Talk(); //'hello'
Andy.move(10); //'move 10m.'

ts的繼承需要加上extends

繼承改寫

class Animal{
name:string;
constructor(name: string) //建構元
{
this.name=name;
}
Move(distance: number = 0)
{
console.log('moved ${distance}m.');
}
}
class Person extends Animal {
constructor(name: string) //建構元
{
super(name);
}
Move(distance: number = 0)
{
console.log('person move.');
super.Move(distance);
}
Talk()
{
console.log('hello');
}
}
const Andy= new Person(50);//'person move.'
'move 50m.'

改寫父類別的內容,需要加上super

--

--