Bab 3: Object-Oriented Programming dalam JavaScript

Bab 3: Object-Oriented Programming dalam JavaScript

3.1 Konsep Dasar OOP

3.1.1 Pengenalan OOP

  • Definisi Object-Oriented Programming

  • Keuntungan menggunakan OOP

  • Perbedaan OOP dengan functional programming

  • Use cases untuk OOP dalam JavaScript

3.1.2 Empat Pilar OOP

/*
1. Encapsulation: Membungkus data dan method yang memanipulasi data dalam satu unit
2. Inheritance: Mewarisi properties dan methods dari class lain
3. Polymorphism: Kemampuan object untuk mengambil berbagai bentuk
4. Abstraction: Menyembunyikan kompleksitas dan hanya menunjukkan fungsionalitas yang diperlukan
*/

3.2 Constructor dan Class

3.2.1 Constructor Functions (Pre-ES6)

3.2.2 ES6 Class Syntax

3.3 Inheritance

3.3.1 Prototypal Inheritance

3.3.2 Class Inheritance (ES6)

3.4 Encapsulation

3.4.1 Private Fields dan Methods (ES2022)

3.4.2 Closure untuk Private Data

3.5 Polymorphism

3.5.1 Method Overriding

3.5.2 Interface-like Behavior

3.6 Prototype dan Prototype Chain

3.6.1 Understanding Prototypes

3.6.2 Prototype Methods dan Properties

3.7 Design Patterns

3.7.1 Singleton Pattern

3.7.2 Factory Pattern

3.8 Praktik dan Latihan

3.8.1 Project: Library Management System

3.8.2 Project: Shopping Cart System

3.9 Best Practices dan Common Pitfalls

  • Avoiding global scope pollution

  • Proper use of 'this'

  • When to use inheritance vs composition

  • Performance considerations

  • Memory management

  • Error handling in OOP

3.10 Ringkasan

  • OOP fundamentals in JavaScript

  • Modern vs traditional approaches

  • Design patterns dan use cases

  • Best practices dan pitfalls

3.11 Latihan Akhir Bab

  1. Implement a bank account system

  2. Create a school management system

  3. Build a simple game using OOP

  4. Implement common design patterns

  5. Refactor functional code to OOP

Last updated

Was this helpful?