TS基础记录

面向对象:TS和java一样都是面向对象的思想(oop)

面向对象概念其实很简单,万物皆是对象,面向对象编程就是所有的东西都是对象封装起来的,需要什么直接在对象里面调,例如ts中的windows对象....

面向对象的代码示例

class Person {

  //静态属性,可以直接调用 readonly 只读属性无法修改

   static readonly age:number = 18;

  //实例属性,必须创建对象后使用不加readonly就可读可写

    name:string = "孙悟空";

    age:number = 18;

    //实例方法

    sayhello(){

      console.log("hello")

    }

    //静态方法

   static personSayhello(){

      console.log("hello")

    }

}

对象中分为属性和方法。

拿人举例,人有眼睛鼻子....这些就是属性,人会吃饭、睡觉这些就是方法。

属性分为静态属性和实例属性,静态可以直接调用,实例必须创建出对象才能使用。

方法和对象类似。

对象又分为抽象对象和对象。方法也是如此看代码

//抽象类,不能被创造,只能被继承,可以添加抽象方法

abstract class Animal{

  name:string;

  age:number;

  constructor(name:string,age:number){

    this.name = name;

    this.age = age;

  }

  //创建抽象方法,子类必须重写抽象方法

  abstract run():void;

  abstract sayhello():void;

}

 然后就是接口,其实和抽象对象类似

interface myInterface{

  name:string;

  sayhello():void;

}

 对象可以被继承,里面的方法可以被重写,例如

class cat extends Animal{

  //super的用法,调用子类构造方法必须先构造出父类的构造方法

  sex:number;

  constructor(sex:number , name:string, age:number){

    super(name,age);

    this.sex = sex;

  }

  //方法的重写

  run(){

    console.log(this.name,"在叫");

  }

  sayhello(){

    console.log("喵喵喵")

  }

}

接口必须被实现才能使用

class myInterface implements myInterface{

  name: string;

  constructor(name:string){

    this.name=name

  }

  sayhello(): void {

    console.log("666")

  }

}

 泛型,当不确定类型时候可以用,比any好

//定义函数或者类,如果类型不明确时候就可以用泛型

function fn<T>(a:T):T{

  return a;

}

TS类容到此结束,熟悉java的这节可以不看 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java菜鸟、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值