TypeScript中定义类使用class关键字,关键字后紧跟类名。类描述了构建对象共同的属性和方法。定义类如下:
class Person{
//属性
private name:string;
private age:number;
//构造方法
constructor(name:string,age:number){
this.name = name;
this.age = age;
}
//正常方法
public getPersonInfo():string{
return `My name is ${this.name} and age is ${this.age}`;
}
}
let person = new Person('张三',18);
console.log(person.getPersonInfo());
注意: 类中的属性需要在字符串中直接使用,则需要让整个字符串用``符号包裹。并在字符串中使用${}进行属性的使用。
类中的属性和方法也可以使用public和private等修饰符进行对属性和方法的访问控制。
继承是指子类继承父类的特征和行为(属性和方法),使得子类具有父类相同的特征和行为。TypeScript中使用extends关键字完成对类的继承。
class Person{
private name:string;
private age:number;
//构造方法
constructor(name:string,age:number){
this.name = name;
this.age = age;
}
public getPersonInfo():string{
return `My name is ${this.name} and age is ${this.age}`;
}
}
class Employee extends Person{
private address:string;
//构造方法
constructor(name:string,age:number,address:string){
//调用父类的构造方法
super(name,age);
this.address = address;
}
public getEmployee():string{
return this.getPersonInfo() + `and Adress is ${this.address}`;
}
}
//开始调用
let employee = new Employee('张三',18,'陕西西安');
console.log(employee.getEmployee());
项目中可以将代码拆分为多个文件,多个文件可以互相加载,并通过export和import关键字完成模块功能的交换(从一个模块调用另外一个模块的函数)。
//代码文件1,export写法:
export class Mail {
title:string;
content:string;
constructor(title:string,content:string){
this.title = title;
this.content = content;
}
}
//代码文件2,import写法:
import {Mail} from './Mail';
//使用代码文件1中的属性。
let mail = new Mail('邮箱标题','邮箱内容');
mail.content;