📚
Lerndokumentationen
Web
Web
  • Willkommen
  • HTML
    • Was ist HTML?
    • Elemente
    • Attribute
    • Boilerplate
  • Textelemente
  • Links
  • Dokumentenstruktur
  • Medien
  • Tabellen
  • Formulare
  • CSS
    • Was ist CSS?
    • Syntax
  • Einheiten
  • Selektoren
  • Boxmodell
  • HintergrĂŒnde und Rahmen
  • Overflow
  • Bilder
  • Formulare
  • Textelemente
  • Layout
    • Flexbox
    • Grid
  • Responsive Design
  • JavaScript
    • Was ist JavaScript?
    • Einbindung in HTML
    • Grundlagen
      • Variablen und Werte
      • Datentypen
      • Operatoren und AusdrĂŒcke
      • Kontrollstrukturen
      • Schleifen
    • Funktionen
      • Funktionsdeklarationen vs. FunktionsausdrĂŒcke
      • Arrow Functions
      • Standardparameter und Rest-Parameter
      • First-Class und Higher-Order-Funktionen
      • Closures
      • IIFE (Immediately Invoked Function Expressions)
    • Arrays
      • Erstellen und Modifizieren
      • Iteration ĂŒber Arrays
      • Sortieren
      • NĂŒtzliche Methoden
    • Objekte und Datenstrukturen
      • Erstellen und Manipulieren
      • Destructuring
      • Sets und Maps
    • Strings
      • Template Literals
      • Methoden
    • Moderne JavaScript-Features
      • Optionale Verkettung
      • Nullish Coalescing Operator
      • Spread und Rest Operator
      • KurzschlussausdrĂŒcke
    • Scope und Kontext
      • this Keyword
      • Call, Apply und Bind
      • Hoisting und Temporal Dead Zone (TDZ)
    • Objektorientierte Programmierung
      • Prototypes
      • Constructor Functions
      • ES6 Classes
      • Die create()-Methode
    • Asynchronous JavaScript
      • AJAX
      • Promises
    • Zahlen, Daten, Internationalisierung und Timer
      • Mathematische Operationen
      • Datum und Zeit
      • Internationalisierung
      • Timer
    • Modules
    • JavaScript im Browser (DOM und Events)
      • Das DOM
      • Elemente auswĂ€hlen, erstellen und manipulieren
      • Styles, Attribute und Klassen
      • Events und Event Listener
      • Event Propagation
        • Event Delegation
      • DOM Traversing
    • JavaScript Engine und Performance
      • Execution Context und Call Stack
  • TypeScript
    • Was ist TypeScript?
  • Compiler und Runtimes
  • Konfiguration
  • Types
    • Primitive Typen und Typableitung
    • Arrays und Tupel
    • Objekte
    • Top- und Bottom-Types
    • Enums
    • Utility Types
      • Records
  • Typenkombination
    • Union Types
    • Discriminated Unions
    • Intersections
  • Funktionen
  • Klassen
    • Grundlagen
    • Feldinitialisierer
    • SchreibgeschĂŒtzte Felder
    • Implementieren
    • Private und GeschĂŒtzte Member
    • Getter und Setter
    • Statische Member
    • Abstrakte Klassen und Member
  • Modules
    • Importieren und Exportieren
    • Ambient Types
    • Namespaces
    • Globals
  • React
    • Was ist React?
    • JSX
    • Komponenten
      • Root-Komponente
      • Styling
      • Listen
      • Conditional Rendering
      • Fragments
    • Props
      • Destructuring
      • Children
    • InteraktivitĂ€t
      • Event Handling
      • State
      • Formulare
    • State Management
      • State anheben
      • Derived State
    • Komposition und Reusability
      • Komponentenstrukturierung
      • Prop Drilling
      • Komposition
Bereitgestellt von GitBook
Auf dieser Seite
  1. Klassen

Statische Member

Statische Member sind Member einer Klasse, die von allen Instanzen dieser Klasse gemeinsam genutzt werden. Sie sind nicht an eine bestimmte Instanz gebunden, sondern an die Klasse selbst. Das bedeutet, dass sie zugÀnglich sind, ohne eine Instanz der Klasse zu erzeugen.

class DatabaseManager {
    private static instance: DatabaseManager | null = null;
    private static activeConnections: number = 0;
    private static readonly MAX_CONNECTIONS: number = 5;
    private static connectionLog: string[] = [];
    
    private connectionId: string;
    private isConnected: boolean = false;
    
    private constructor(id: string) {
        this.connectionId = id;
    }
    
    static getInstance(): DatabaseManager {
        if (!DatabaseManager.instance) {
            DatabaseManager.instance = new DatabaseManager("main-connection");
            DatabaseManager.logEvent("Database manager initialized");
        }
        return DatabaseManager.instance;
    }
    
    static createConnection(id: string): DatabaseManager | null {
        if (DatabaseManager.activeConnections >= DatabaseManager.MAX_CONNECTIONS) {
            DatabaseManager.logEvent(`Connection limit reached. Cannot create connection: ${id}`);
            return null;
        }
        
        const connection = new DatabaseManager(id);
        DatabaseManager.activeConnections++;
        DatabaseManager.logEvent(`New connection created: ${id}`);
        return connection;
    }
    
    static getActiveConnectionCount(): number {
        return DatabaseManager.activeConnections;
    }
    
    static logEvent(message: string): void {
        const timestamp = new Date().toISOString();
        DatabaseManager.connectionLog.push(`[${timestamp}] ${message}`);
    }
    
    static getConnectionLog(): string[] {
        return [...DatabaseManager.connectionLog];
    }
    
    static clearLog(): void {
        DatabaseManager.connectionLog = [];
    }
    
    connect(): boolean {
        if (!this.isConnected) {
            this.isConnected = true;
            DatabaseManager.logEvent(`Connection ${this.connectionId} established`);
            return true;
        }
        return false;
    }
    
    disconnect(): boolean {
        if (this.isConnected) {
            this.isConnected = false;
            DatabaseManager.activeConnections--;
            DatabaseManager.logEvent(`Connection ${this.connectionId} closed`);
            return true;
        }
        return false;
    }

VorherigeGetter und SetterNĂ€chsteAbstrakte Klassen und Member

Zuletzt aktualisiert vor 17 Tagen