Pengaturcaraan Berorientasikan Objek (OOP)
Pengaturcaraan berorientasikan objek ialah paradigma pengaturcaraan berdasarkan konsep objek.
Prinsip Utama OOP
1. Enkapsulasi:
function Circle(radius) { this.radius = radius; this.draw = function() { console.log('draw'); }; } const circle = new Circle(5); console.log(circle.radius); // Access encapsulated property circle.draw(); // Call encapsulated method
2. Abstraksi:
Menyembunyikan butiran dan kerumitan, mendedahkan bahagian objek yang diperlukan sahaja.
Memudahkan antara muka dan mengurangkan kesan perubahan dalam kod asas.
Contoh: Kaedah abstrak sambil menyembunyikan logik dalaman.
3.Warisan:
Membenarkan kelas (anak) mewarisi sifat dan kaedah daripada kelas lain (ibu bapa).
Mengurangkan kod berlebihan.
Contoh:
class Animal { eat() { console.log("This animal is eating."); } } class Dog extends Animal { bark() { console.log("The dog is barking."); } } const dog = new Dog(); dog.eat(); // Inherited from Animal dog.bark();
4. Polimorfisme:
Merujuk kepada objek dalam pelbagai bentuk.
Membenarkan antara muka bersatu untuk jenis objek yang berbeza, membolehkan penggunaan semula kod dan fleksibiliti.
Contoh:
class Animal { sound() { console.log("This animal makes a sound."); } } class Dog extends Animal { sound() { console.log("The dog barks."); } } const animal = new Animal(); const dog = new Dog(); animal.sound(); // Output: This animal makes a sound. dog.sound(); // Output: The dog barks.
Kepentingan OOP
Contoh Praktikal
Kelas dan Pembina
class Product { constructor(name, price) { this.name = name; this.price = price; } displayProduct() { console.log(`Product: ${this.name}`); console.log(`Price: $${this.price.toFixed(2)}`); } calculateTotal(salesTax) { return this.price + this.price * salesTax; } } const product1 = new Product("Laptop", 1200); product1.displayProduct(); console.log(`Total Price: $${product1.calculateTotal(0.1).toFixed(2)}`);
Warisan dengan Haiwan
class Animal { eat() { console.log("This animal eats food."); } } class Bird extends Animal { fly() { console.log("This bird can fly."); } } const bird = new Bird(); bird.eat(); bird.fly();
Refleksi
Apa yang Saya Belajar:
OOP adalah tahap lain.
Kita pergi lagi esok!
Atas ialah kandungan terperinci Perjalanan Reaksi Saya: Hari 15. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!