TypeScript 中的类:面向对象编程的基础

🤍 前端开发工程师、技术日更博主、已过CET6

🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1

🕠 牛客 高级专题作者、打造专栏《前端面试必备》《2024面试高频手撕题》

🍚 蓝桥云课 签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》《带你从入门到实战全面掌握 uni-app》

💬 前些天发现了一个巨牛的人工智能学习网站 ,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

文章目录

在 TypeScript 中,类(Classes)是实现面向对象编程(OOP)的基础。类允许你创建可重用的代码,通过封装、继承和多态等特性,TypeScript 类为开发者提供了强大的工具来构建复杂的应用程序。

什么是类?

类是创建对象的蓝图或模板。它定义了对象的属性(数据)和方法(行为)。在 TypeScript 中,类还支持类型注解,这有助于提高代码的可读性和可维护性。

创建类

在 TypeScript 中,你可以使用 class 关键字来创建一个类。

typescript 复制代码
class Greeter {
  greeting: string;

  constructor(message: string) {
    this.greeting = message;
  }

  greet() {
    return 'Hello, ' + this.greeting;
  }
}

在这个例子中,Greeter 是一个类,它有一个 greeting 属性和一个 greet 方法。

实例化类

你可以使用 new 关键字来创建类的实例。

typescript 复制代码
let greeter = new Greeter('world');
console.log(greeter.greet()); // 输出 'Hello, world'

在这个例子中,我们创建了一个 Greeter 类的实例,并调用了它的 greet 方法。

类的属性和方法

类可以包含属性和方法。属性是类的状态,方法是类的行为。

typescript 复制代码
class Employee {
  name: string;
  age: number;

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

  getAge() {
    return this.age;
  }
}

在这个例子中,Employee 类有两个属性 nameage,以及一个方法 getAge

继承

TypeScript 支持继承,这意味着你可以创建一个基于另一个类的类。子类继承父类的属性和方法。

typescript 复制代码
class Manager extends Employee {
  department: string;

  constructor(name: string, age: number, department: string) {
    super(name, age);
    this.department = department;
  }

  getDepartment() {
    return this.department;
  }
}

在这个例子中,Manager 类继承了 Employee 类,并添加了一个 department 属性和一个 getDepartment 方法。

访问修饰符

TypeScript 提供了访问修饰符(publicprotectedprivate),它们用于控制类成员的可见性。

typescript 复制代码
class Employee {
  private name: string;
  protected age: number;

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

  public getAge() {
    return this.age;
  }
}

在这个例子中,name 属性是私有的,只能在类内部访问。age 属性是受保护的,可以在类内部和子类中访问。getAge 方法是公共的,可以在任何地方访问。

结论

在 TypeScript 中,类是实现面向对象编程的基础。类允许你创建可重用的代码,通过封装、继承和多态等特性,TypeScript 类为开发者提供了强大的工具来构建复杂的应用程序。通过使用类,开发者可以创建更强大和灵活的代码,从而提高生产力和代码质量。

相关推荐
阿金要当大魔王~~5 分钟前
uniapp 页面标签 传值 ————— uniapp 定义 接口
前端·javascript·uni-app·1024程序员节
全栈软件开发29 分钟前
uniapp三端影视源码苹果cms自动采集电影视频网站源码前端源码带VIP
前端·uni-app·影视源码
chxii1 小时前
10.4FormData :前端文件上传与表单数据处理的核心工具
前端
AntBlack1 小时前
不当韭菜 : 好像真有点效果 ,想藏起来自己用了
前端·后端·python
楊无好1 小时前
react中props的使用
前端·react.js·前端框架
一个处女座的程序猿O(∩_∩)O1 小时前
Vue-Loader 深度解析:原理、使用与最佳实践
前端·javascript·vue.js
一点一木2 小时前
火山方舟 Responses API 实战指南:从概念到「公司尽调 Dossier 生成器」
前端·人工智能·api
还是大剑师兰特2 小时前
TypeScript 面试题及详细答案 100题 (91-100)-- 工程实践与框架集成
前端·javascript·typescript·1024程序员节
可触的未来,发芽的智生2 小时前
触摸未来2025-10-25:蓝图绘制
javascript·python·神经网络·程序人生·自然语言处理
用户47949283569152 小时前
typeof null === 'object':JavaScript 最古老的 bug 为何 30 年无法修复?
前端·javascript·面试