Heim >Web-Frontend >js-Tutorial >Objektorientierte Programmierung (OOP) in JavaScript: Ein umfassender Leitfaden
Objektorientierte Programmierung (OOP) in JavaScript
In JavaScript sind Objekte Sammlungen von Schlüssel-Wert-Paaren (Eigenschaften und Methoden). Klassen dienen als Blaupausen zum Erstellen von Objekten.
// Define a class class Person { constructor(name, age) { this.name = name; // Property this.age = age; } greet() { // Method console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`); } } // Create an object const person1 = new Person('Alice', 25); person1.greet(); // Output: Hello, my name is Alice and I am 25 years old.
Kapselung bedeutet die Bündelung von Daten (Eigenschaften) und Methoden, die die Daten innerhalb einer einzelnen Einheit (Objekt) manipulieren. Es schränkt den direkten Zugriff auf bestimmte Teile eines Objekts ein.
class BankAccount { #balance; // Private field constructor(initialBalance) { this.#balance = initialBalance; } deposit(amount) { this.#balance += amount; } getBalance() { return this.#balance; } } const account = new BankAccount(1000); account.deposit(500); console.log(account.getBalance()); // 1500 // console.log(account.#balance); // Error: Private field '#balance' not accessible
Vererbung ermöglicht einer Klasse, Eigenschaften und Methoden von einer anderen Klasse zu erben. Es hilft, vorhandenen Code wiederzuverwenden.
class Animal { constructor(name) { this.name = name; } speak() { console.log(`${this.name} makes a noise.`); } } class Dog extends Animal { speak() { console.log(`${this.name} barks.`); } } const dog = new Dog('Buddy'); dog.speak(); // Output: Buddy barks.
Polymorphismus bedeutet, mehrere Formen zu haben. In OOP ist es möglich, dass Methoden in untergeordneten Klassen denselben Namen haben wie Methoden in der übergeordneten Klasse, sich aber unterschiedlich verhalten.
class Shape { area() { return 0; } } class Rectangle extends Shape { constructor(width, height) { super(); this.width = width; this.height = height; } area() { return this.width * this.height; } } const shape = new Shape(); const rectangle = new Rectangle(10, 5); console.log(shape.area()); // 0 console.log(rectangle.area()); // 50
Abstraktion verbirgt die Komplexität des Codes und zeigt dem Benutzer nur die wesentlichen Teile.
class Vehicle { startEngine() { console.log('Engine started'); } } class Car extends Vehicle { drive() { console.log('Driving the car...'); } } const car = new Car(); car.startEngine(); // Engine started car.drive(); // Driving the car...
Statische Methoden und Eigenschaften gehören zur Klasse selbst, nicht zu den Instanzen.
class MathUtils { static add(a, b) { return a + b; } } console.log(MathUtils.add(5, 3)); // 8
JavaScript verwendet ein prototypbasiertes Vererbungsmodell, bei dem Objekte Eigenschaften und Methoden von anderen Objekten erben können.
function Person(name) { this.name = name; } Person.prototype.greet = function() { console.log(`Hello, my name is ${this.name}`); }; const person = new Person('Alice'); person.greet(); // Hello, my name is Alice
Die OOP-Funktionen von JavaScript ermöglichen es Entwicklern, sauberen, modularen und wiederverwendbaren Code zu schreiben.
Hallo, ich bin Abhay Singh Kathayat!
Ich bin ein Full-Stack-Entwickler mit Fachwissen sowohl in Front-End- als auch in Back-End-Technologien. Ich arbeite mit einer Vielzahl von Programmiersprachen und Frameworks, um effiziente, skalierbare und benutzerfreundliche Anwendungen zu erstellen.
Sie können mich gerne unter meiner geschäftlichen E-Mail-Adresse erreichen: kaashshorts28@gmail.com.
Das obige ist der detaillierte Inhalt vonObjektorientierte Programmierung (OOP) in JavaScript: Ein umfassender Leitfaden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!