TS基础记录

发布于:2024-08-16 ⋅ 阅读:(55) ⋅ 点赞:(0)

面向对象: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的这节可以不看 


网站公告

今日签到

点亮在社区的每一天
去签到