类
首先举个例子:
class Greeter {
greeting:string
constructor(message:string) {
this.greeting = message
}
greet(){
return 'Hello,' + this.greeting
}
}
let greeter = new Greeter('world')
// 首先声明一个Greeter类。这个类有3个成员:一个叫做greeting的属性,一个构造函数和一个greet方法
// 引用任何一个成员的时候都用了this。表示我们访问的是类的成员。
// 最后我们使用new构造了Greeter类的一个实例。它会调用之前定义的构造函数,创建一个Greeter类行的新
//对象,并执行构造函数初始化它。
继承
在ts中,我们可以使用常用的面向对象模式。基于类的设计中一种最基本的模型是允许使用继承来扩展现有的类
有个例子:
class Animal {
move(distanceInMeters:number = 0) {
consel.log('xiaofan')
}
}
class Dog extends Animal {
bark(){
consel.log('woof,woof')
}
}
const dog = new Dog()
dog.bark()
dog.move(10)
dog.bark()
展示了最基础的继承:类从基类中继承了属性和方法。这里,Dog是一个派生类,它派生自Animal基类,通过extends关键字。派生类通常被称作子类,基类通常被称作超类。
因为Dog继承了Animal的功能,因此我们可以创建一个Dog的实例,它能够 bark()和 move()。