今天学习TypeScript如何创建类
1、类的创建:
class Person {
name:string;
age:number;
constructor(name:string, age:number) {
this.name = name;
this.age = age;
}
print() {
return "Hello " + this.name + ", you age is " + this.age;
}
}
这是一个简单的TypeScript类,类的名字叫做Person,它包含两个变量name和age,一个自定义的方法print(),constructor(...) 这个是类的构造方法。
2、类的调用:
var p = new Person("LSW", 110);
p.print();
可以看到类的调用非常简单,和其他的语言一样直接new,同时传入构造方法中的参数值(name,age)
调用方法直接使用定义的变量p,通过"."调用print()方法。
3、类的继承
class Person {
name:string;
age:number;
constructor(name:string, age:number) {
this.name = name;
this.age = age;
}
print() {
return "Hello " + this.name + ", you age is " + this.age;
}
}
class Student extends Person {
school:string;
constructor(school:string) {
this.school = school;
super("lsw", 120);
}
print() {
return "Hello " + this.name + ", you age is" + this.age + ",school is" + this.school;
}
}
var s = new Student("JLD_school");
s.print();
4、类中访问修饰符的限制,也就是public(公共)、private(私有)。参数和方法默认是公共的,也就是子类可以访问父类中的方法,变成私有的话,子类是不能访问父类中的参数或者方法。
5、类的封装
class Person {
private _name:string;
set name(newName:string) {
this._name = newName;
}
get name():string {
return this._name;
}
print() {
return "name is : " + this._name;
}
}
var p = new Person();
p.name = "LSW";
p.print();
封装就是类不想让外部访问定义的私有属性,但是我们有需要修改这个属性。这时候就需要我们封装一个方法,外部通过这个方法操作内部的私有属性。例子中 set/get方法就是对于私有属性 _name 的封装。外部通过 name修改 _name的值。
6、静态static参数,调用需要通过类名来调用,这里不再赘述。