Classes and Objects in TypeScript

Classes and Objects in TypeScript

Classes and Objects in TypeScript

Awesome! Let's now cover Classes and Objects in TypeScript, which are at the core of building services, components, and models in Angular.


🔹 1. What is a Class?

A class is a blueprint for creating objects. It encapsulates data (properties) and behavior (methods).

✅ Basic Syntax


class Person {
  name: string;
  age: number;

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

  greet(): void {
    console.log(`Hello, my name is ${this.name}`);
  }
}
    

🔹 2. Creating an Object

You can create objects (instances) from a class using the new keyword.


const person1 = new Person("Alice", 30);
person1.greet(); // Output: Hello, my name is Alice
    

🔹 3. Access Modifiers

Modifier Description
public Accessible anywhere (default)
private Accessible only within the class
protected Accessible in the class & subclasses

class Employee {
  private salary: number;

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

  getSalary(): number {
    return this.salary;
  }
}
    

🔹 4. Inheritance

Classes can extend other classes using extends.


class Manager extends Employee {
  department: string;

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

  display(): void {
    console.log(`${this.name} manages ${this.department}`);
  }
}
    

🔹 5. Getter & Setter

Encapsulation using get and set methods:


class Product {
  private _price: number;

  constructor(price: number) {
    this._price = price;
  }

  get price(): number {
    return this._price;
  }

  set price(value: number) {
    if (value > 0) {
      this._price = value;
    }
  }
}
    

🔹 6. Interfaces with Classes

A class can implement one or more interfaces.


interface Logger {
  log(message: string): void;
}

class ConsoleLogger implements Logger {
  log(message: string): void {
    console.log("Log:", message);
  }
}
    

🧠 Summary

  • Use classes to encapsulate logic and data.
  • Create objects using new.
  • Apply access modifiers to control visibility.
  • Extend classes using inheritance.
  • Use getters and setters for controlled access.
  • Implement interfaces for structured behavior.

Comments

Popular posts from this blog

Car Wash System vb.net

Face recognition using EmguCV 3.0 and typing pattern recognition

Student Information System - AngularJS , ASP.NET API, C#