class 类
class A{
a: string;
name:string;
constructor(a:string,name:string){
this.a = a;
this.name = name;
}
}
继承
class B extends A{
b: string;
construstor(a,name){
super(a,name);
this.b = '456';
}
}
//实例化
var b = new B('a','abc');
console.log(b.name);
修饰符静态方法,不需要实例化处理,可直接通过类来调用
class Animal{
static eat(){
console.log('吃')
}
}
Animal.eat();
ts中的三种修饰符
ts中三种修饰符 修饰属性和方法 public private protected
- public 修饰属性和方法是公共的,任何地方都可以访问
- private 私有的 不能在外部声明和使用
- protected 修饰属性和方法是受保护的 区别是子类可以访问
class Animal2{
//public name:string;
//private name:string;
protected name:string;
constructor(name:string){
this.name = name;
}
public eat():string{
return '吃老鼠';
}
}
var a = new Animal2('abc') ;
//a.name
//a.eat()
class Dog extends Animal2{
constructor(name){
super(name);
}
action():string{
return this.name; //调用父类的
}
}
var d = new Dog('tom');
d.action();
类实现接口
实现 implements
例如:
门是一个类 防盗门是属于门的子类 防盗门添加一个报警器的功能
除了门,车也有报警器的功能
报警器提取出来,作为一个接口 门,车去实现它
首先定义报警器的接口
interface Alarm{
sing(); //抽象空的方法 规范
}
interface Light{
lightOn();
lightOff();
}
定义门的类及实现防盗门继承门
class Door{};
class SecurityDoor extends Door implements Alarm{
sing(){
console.log("sing...")
}
}
一个类可以实现多个接口
扫描二维码关注公众号,回复:
4897791 查看本文章
class Car implements Alarm,Light{
sing(){
console.log('....')
}
lightOn(){
}
lightOff(){
}
}
调用它们的方法
var s2 = new SecurityDoor();
var car = new Car();
s2.sing();
car.sing()