Typescript学习记录 - 类

类的定义

类结构与java类似

 class C {
 		//属性
        name: string;

		//构造函数
        constructor(name: string) {
            this.name = name;
        }
        
		//方法
        run() {
            console.info(`${this.name}`)
        }
        //方法也可以这样写
        run1 = () => {

        }
    }
修饰符

修饰符和java一样,有三种,若不写则为public
public (默认),任何地方都可以访问
protected ,只能在本类和子类中访问
private ,只能在本类中访问

        private name: string;
        protected age: number;
        public gender: number;
继承

继承语法和Java一样

	//父类
    class C {
        name: string;
        constructor(name: string) {
            this.name = name;
        }
    }
	//子类
    class C1 extends C {
        constructor(name: string) {
        	//super一定不能写掉
            super(name);
        }
    }
静态属性和方法
    class C {
        static name: string;
        constructor(name: string) {
            this.name = name;
        }
        static run(){
        }
    }

抽象类

和Java一样,在类和方法上标识abstract关键字代表抽象类和抽象方法,抽象类不能创建实例,抽象方法没有方法体,具体方法由子类实现

    abstract class Abs {
        //抽象方法没有具体实现,ts就不能自动判断类型,所以抽象方法要明确返回类型
        abstract run(): any;
    }
多态

多态的用法和java一样,子类实例可以赋值给父类类型,调用子类实例方法

    class C {
        private name: string;

        constructor(name: string) {
            this.name = name;
        }

        public run() {
            console.info(`${this.name}`)
        }
    }
    class C1 extends C {
        constructor(name: string) {
            super(name);
        }
    }
    let c: C;
    //c的类型是C,C1继承了C,所以可以将C1类型实例赋值给c
    c = new C1("abc");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值