类 class
class Person {
name;
eat() {
console.log("I'm eating");
}
}
var p1 = new Person();
p1.name = "batman";
p1.eat();
var p2 = new Person();
p2.name = "superman"
p2.eat();
访问控制符(public,private,protected)
public 默认的访问控制符,属性和方法在类的内部和外部都可以被调用
private 属性和方法只有在类的内部能被调用
protected 属性和方法可以在类的内部和子类被访问到
构造函数 constructor
class Person {
constructor(public name:string) {
}
eat() {
console.log(`${this.name} eating`);
}
}
var p1 = new Person("batman");
p1.eat();
var p2 = new Person("superman");
p2.eat();
继承 extends super
extends 继承
super 子类的构造函数,必须要调用父类的构造函数
super. 用来调父类的其他方法
class Person {
constructor(public name:string) {
}
eat() {
console.log(`${this.name} eating`);
}
}
class Employee extends Person {
constructor(name: string, code: string) {
super(name);//子类的构造函数,必须要调用父类的构造函数
this.code = code;
}
code: string;
work() {
super.eat(); //调用父类的方法
this.doWork();
}
private doWork() { //私有方法
console.log(`${this.name} working`)
}
}
var e1 = new Employee("batman", "1");
e1.work();