Tìm hiểu lập trình hướng đối tượng trong lập trình PHP cho người mới

Trong bài viết này Stanford sẽ hướng dẫn các bạn học lập trình php tìm hiểu các đặc điểm trong lập trình php cho người mới học qua những ví dụ minh họa cụ thể dưới đây.

Lập trình hướng đối tượng (OOP - Object-Oriented Programming) trong PHP là một phương pháp tổ chức mã nguồn dựa trên các đối tượng – mỗi đối tượng là một thực thể có thuộc tính (biến) và phương thức (hàm). PHP hỗ trợ đầy đủ OOP từ phiên bản PHP 5 trở đi.


Dưới đây là các khái niệm chính trong OOP cùng ví dụ minh họa trong lập trình php như sau:

1. Class và Object

- Class là khuôn mẫu để tạo ra các đối tượng.

- Object là thể hiện cụ thể của một class.

<?php
class Car {
    public $brand;
    public $color;
    public function drive() {
        echo "Driving a $this->color $this->brand car.";
    }
}
 
$myCar = new Car();
$myCar->brand = "Toyota";
$myCar->color = "Red";
$myCar->drive(); // Output: Driving a Red Toyota car.
?>

2. Constructor và Destructor

- Constructor là phương thức tự động gọi khi khởi tạo đối tượng.

- Destructor là phương thức tự động gọi khi đối tượng bị hủy.

<?php
class User {
    public $name;
 
    public function __construct($name) {
        $this->name = $name;
        echo "User $name created.<br>";
    }
    public function __destruct() {
        echo "User $this->name destroyed.<br>";
    }
}
 
$user1 = new User("stanford");
?>

3. Encapsulation (Tính đóng gói)

Sử dụng các mức truy cập: public, protected, private.
<?php
class BankAccount {
    private $balance = 0;
    public function deposit($amount) {
        $this->balance += $amount;
    }
    public function getBalance() {
        return $this->balance;
    }
}
 
$account = new BankAccount();
$account->deposit(1000);
echo $account->getBalance(); // Output: 1000
?>

4. Inheritance (Tính kế thừa)

Một class có thể kế thừa từ class khác để tái sử dụng mã.
<?php
class Animal {
    public function speak() {
        echo "Animal speaks";
    }
}
 
class Dog extends Animal {
    public function speak() {
        echo "Dog barks";
    }
}
 
$dog = new Dog();
$dog->speak(); // Output: Dog barks
?>

5. Polymorphism (Tính đa hình)

Cho phép gọi phương thức giống nhau nhưng hành vi khác nhau tùy đối tượng.
<?php
class Bird {
    public function makeSound() {
        echo "Tweet";
    }
}
 
class Cat {
    public function makeSound() {
        echo "Meow";
    }
}
 
function playSound($animal) {
    $animal->makeSound();
}
 
playSound(new Bird()); // Output: Tweet
playSound(new Cat());  // Output: Meow
?>

6. Abstract Class và Interface

- Abstract class: không thể khởi tạo, dùng làm khuôn mẫu.

- Interface: định nghĩa các phương thức mà class phải triển khai.

<?php
abstract class Shape {
    abstract public function area();
}
 
class Circle extends Shape {
    private $radius;
 
    public function __construct($r) {
        $this->radius = $r;
    }
 
    public function area() {
        return pi() * $this->radius * $this->radius;
    }
}
 
$circle = new Circle(3);
echo $circle->area(); // Output: 28.27...
?>
Sử dụng interface trong lập trình php như sau:

<?php
interface Logger {
    public function log($message);
}
 
class FileLogger implements Logger {
    public function log($message) {
        echo "Logging to file: $message";
    }
}
 
$logger = new FileLogger();
$logger->log("Hello world");
?>

Như vậy trong bài viết này Stanford đã hướng dẫn các bạn học lập trình php làm việc với các đặc điểm chính trong lập trình hướng đối tượng của lập trình PHP qua các ví dụ minh họa chi tiết. Chúc các bạn học tập tốt !

Bạn có thể bắt đầu ngay con đường chinh phục của bạn để trở thành lập trình viên PHP chuyên nghiệp trong tương lai bằng việc đăng ký tham gia khoá lập trình PHP cho người mới tại đây: http://bit.ly/2SLPYFF. Hoặc gọi ngay cho Stanford theo hotline: 0963.723.236 - 0866.586.366 để được gọi lại tư vấn trực tiếp nhé.

==========🎬 🎬 🎬==========
☎️STANFORD – ĐÀO TẠO VÀ PHÁT TRIỂN CÔNG NGHỆ
Hotline: 0963 723 236 - 0866 586 366
Website: https://stanford.com.vn
Facebook: https://www.facebook.com/Stanford.com.vn
Youtube: http://bit.ly/2TkKT7I

 

Tags: học lập trình hướng đối tượng php, các đặc điểm oop trong php