Полное руководство по методам классов в TypeScript: изучение различных методов на примерах кода

В TypeScript оператор «класс экспорта» используется для определения класса, который можно экспортировать и использовать в других модулях. Методы класса являются важной частью объектно-ориентированного программирования, позволяя нам определять поведение и действия, связанные с классом. В этой статье мы рассмотрим различные методы в классах TypeScript и приведем примеры кода, иллюстрирующие их использование.

  1. Методы экземпляра:

Методы экземпляра связаны с отдельными экземплярами класса. Они могут получать доступ к свойствам экземпляра и выполнять действия на основе их значений. Вот пример:

export class MyClass {
  private name: string;
  constructor(name: string) {
    this.name = name;
  }
  greet() {
    console.log(`Hello, ${this.name}!`);
  }
}
const instance = new MyClass("John");
instance.greet(); // Output: Hello, John!
  1. Статические методы:

Статические методы определяются в самом классе, а не в его экземплярах. Их можно вызывать непосредственно в классе, не создавая экземпляр. Статические методы полезны для служебных функций или операций, которым не требуется доступ к свойствам, специфичным для экземпляра. Вот пример:

export class MathUtils {
  static add(x: number, y: number) {
    return x + y;
  }
}
console.log(MathUtils.add(2, 3)); // Output: 5
  1. Методы получения и установки:

Методы получения и установки используются для доступа и изменения значений свойств частного или защищенного класса. Геттеры извлекают значение, а сеттеры изменяют его. Они предоставляют возможность контролировать доступ и выполнять дополнительные действия при получении или настройке свойства. Вот пример:

export class Circle {
  private radius: number;
  constructor(radius: number) {
    this.radius = radius;
  }
  get area() {
    return Math.PI * this.radius * this.radius;
  }
  set diameter(diameter: number) {
    this.radius = diameter / 2;
  }
}
const circle = new Circle(5);
console.log(circle.area); // Output: 78.53981633974483
circle.diameter = 10;
console.log(circle.area); // Output: 78.53981633974483 (modified radius through setter)
  1. Методы прототипа:

Методы прототипа определяются в прототипе класса и доступны всем экземплярам класса. Они позволяют нам определять общее поведение и уменьшать потребление памяти. Вот пример:

export class Car {
  private brand: string;
  constructor(brand: string) {
    this.brand = brand;
  }
  startEngine() {
    console.log(`Starting the ${this.brand} engine...`);
  }
}
const car1 = new Car("Toyota");
const car2 = new Car("Honda");
car1.startEngine(); // Output: Starting the Toyota engine...
car2.startEngine(); // Output: Starting the Honda engine...

В этой статье мы рассмотрели различные методы классов TypeScript. Мы рассмотрели методы экземпляра, статические методы, методы получения и установки, а также методы-прототипы. Понимание этих различных типов методов имеет решающее значение для написания чистого, удобного в обслуживании и объектно-ориентированного кода на TypeScript.

Не забудьте использовать соответствующий тип метода в зависимости от вашего конкретного случая использования. Методы экземпляра отлично подходят для инкапсуляции поведения внутри отдельных экземпляров, статические методы предоставляют служебные функции, методы получения и установки контролируют доступ к свойствам, а методы прототипа обеспечивают общее поведение между экземплярами.

Освоив эти различные типы методов, вы получите прочную основу для создания надежных и масштабируемых приложений с помощью TypeScript.