前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【原创】TypeScript中的类和模块

【原创】TypeScript中的类和模块

作者头像
零点
发布2024-04-04 09:48:15
980
发布2024-04-04 09:48:15
举报
文章被收录于专栏:微科技微科技

TypeScript中定义类

TypeScript中定义类使用class关键字,关键字后紧跟类名。类描述了构建对象共同的属性和方法。定义类如下:

代码语言:javascript
复制
class Person{
  //属性
  private name:string;
  private age:number;
	
  //构造方法
  constructor(name:string,age:number){
    this.name = name;
    this.age = age;
  }
  
  //正常方法
  public getPersonInfo():string{
    return `My name is ${this.name} and age is ${this.age}`;

  }
}

let person = new Person('张三',18);

console.log(person.getPersonInfo());

注意: 类中的属性需要在字符串中直接使用,则需要让整个字符串用``符号包裹。并在字符串中使用${}进行属性的使用。

类中的属性和方法也可以使用public和private等修饰符进行对属性和方法的访问控制。

TypeScript中类的继承

继承是指子类继承父类的特征和行为(属性和方法),使得子类具有父类相同的特征和行为。TypeScript中使用extends关键字完成对类的继承。

代码语言:javascript
复制
class Person{
  private name:string;
  private age:number;
	
  //构造方法
  constructor(name:string,age:number){
    this.name = name;
    this.age = age;
  }

  public getPersonInfo():string{
    return `My name is ${this.name} and age is ${this.age}`;

  }
}

class Employee extends Person{
    
    private address:string;
	
    //构造方法
    constructor(name:string,age:number,address:string){
	//调用父类的构造方法
        super(name,age);
        this.address  = address;
    }
	
 
    public getEmployee():string{
        return this.getPersonInfo() + `and Adress is ${this.address}`;
    }
}


//开始调用
let employee = new Employee('张三',18,'陕西西安');

console.log(employee.getEmployee());

TypeScript中的模块

项目中可以将代码拆分为多个文件,多个文件可以互相加载,并通过export和import关键字完成模块功能的交换(从一个模块调用另外一个模块的函数)。

代码语言:javascript
复制
//代码文件1,export写法:
export class Mail {
    title:string;
    content:string;

    constructor(title:string,content:string){
        this.title = title;
        this.content = content;
    }
}

//代码文件2,import写法:
import {Mail} from './Mail';

//使用代码文件1中的属性。
let mail = new Mail('邮箱标题','邮箱内容');
mail.content;
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-12-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TypeScript中定义类
  • TypeScript中类的继承
  • TypeScript中的模块
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档