typescript学习之 类

类的定义
class Person {
    public name:string; // 公共属性
    constructor (n:string) { // 构造函数  实例化类的时候触发的方法
        this.name = n
    }
    run():void {
        console.log(this.name)
    }
}
var p = new Person('张珊');
p.run();
继承,关键字(extends, super)
class Person {
    name:string;
    constructor(n:string) {
        this.name = n;
    }
    run():void{
        console.log(this.name)
    }
}
// 继承
class Children extends Person{
    constructor(name:string) {
         super(name); // 就相当于在调用父类的构造函数
    }
    work():void{
         console.log(this.name)
    }
}
var child = new Children('李四');
child.run() // 李四
child.work() // 李四
// 在子类也可创建一个和父类相同名字的方法,
// 在调用的时候会先去调用自己本身,如果本身没有该方法,则到父类中找
类里面的修饰符
  • public
    公有属性 注:在类里面、子类、类外部都可以访问通过这个修饰符定义的属性

  • protected
    保护类型 注:在类里面、子类中可以访问定义的属性,在类的外部不能访问

  • private
    私有属性 注:在类里面可以访问,但是在子类和类的外面不能访问

class Person {
    public name:string;  // 表示公有属性
    protected age:number;  // 表示保护类型的属性
    private sex:string;   // 表示是有属性
}
静态属性、静态方法

类中的静态方法没法直接调用类的属性,只能调用类的静态属性,定义静态方法和静态属性,需要在前面加一个关键字 static

class Person {
    public name:string;
    constructor(name:string) {
        this.name = name;
    }
    static sex:string = "男"// 定义类中的静态属性
    static showSex():void{     // 定义类中的静态方法
        console.log(this.sex)
    }
}
多态

概念:父类定义一个方法不去实现,让继承它的子类去实现,每一个子类都有不同的表现,多态也属于继承

抽象类、抽象方法
  • 抽象类和抽象方法的特点

    1、typescript中的抽象类是提供其他类继承的基类,不能直接被实例化
    2、用 abstract 关键字定义抽象类和抽象方法,抽象类中的抽象方法不需要具体实现,但是必须要在子类中实现
    3、抽象方法只能在抽象类中出现
    4、抽象类和抽象方法主要用来定义标准,例如:在Person这个抽象类中,有一个work的抽象方法,这个抽象方法不需要具体实现逻辑处理,但是在Person的子类中必须要实现work这个方法

abstract class Person{  // 定义抽象类
    public name:string;
    constructor(name:string) {
        this.name = name;
    }
    abstract work():any;    // 定义抽象方法
}
class Child extends Person{
    constructor(name:string){
        super(name)
    }
    work() {
        console.log('在子类中实现逻辑处理')
    }
}
const c = new Child('张山');
c.work();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值