Có một đối tượng trong PHP?

PHP là một ngôn ngữ hướng đối tượng, mặc dù nó không nhất thiết phải được sử dụng như một ngôn ngữ vì hầu hết các hàm PHP không hướng đối tượng

Trong lập trình hướng đối tượng, một class là định nghĩa của một đối tượng, trong khi một object là một thể hiện của một đối tượng, nghĩa là từ một lớp bạn có thể tạo ra nhiều đối tượng

Ví dụ: hãy định nghĩa một lớp học sinh

class Student {
    // constructor
    public function __construct[$first_name, $last_name] {
        $this->first_name = $first_name;
        $this->last_name = $last_name;
    }

    public function say_name[] {
        echo "My name is " . $this->first_name . " " . $this->last_name . ".\n";
    }
}

$alex = new Student["Alex", "Jones"];
$alex->say_name[];

Hãy phân tích mã. Lưu ý rằng lớp Student có hàm khởi tạo, hàm này được thực thi khi đối tượng được tạo. Hàm tạo nhận các đối số được cung cấp sau này khi xây dựng đối tượng bằng từ khóa new

Sau khi chúng ta đã xây dựng đối tượng thành biến $alex, bây giờ chúng ta có thể sử dụng các phương thức của đối tượng

Chúng tôi đã triển khai một phương thức đối tượng say_name, in ra tên của học sinh. Lưu ý rằng hàm say_name không nhận bất kỳ đối số nào, nhưng nó có quyền truy cập vào họ và tên của sinh viên, vì chúng đã được xác định trước đó trong hàm tạo

Dưới đây là một số định nghĩa quan trọng liên quan đến các đối tượng

  • Các lớp xác định cách các đối tượng hoạt động. Các lớp không chứa dữ liệu
  • Các đối tượng là thể hiện của các lớp, chứa dữ liệu
  • Các thành viên là các biến thuộc về một đối tượng
  • Phương thức là các chức năng thuộc về một đối tượng và có quyền truy cập vào các thành viên của nó
  • Constructor là một phương thức đặc biệt được thực thi khi một đối tượng được tạo

Di sản

Tính năng quan trọng nhất của lập trình hướng đối tượng là tính kế thừa. Tính năng này cho phép chúng tôi sử dụng lại mã mà chúng tôi đã viết và mở rộng nó. Ví dụ: giả sử chúng ta muốn có thể xác định một học sinh toán học, học sinh này cũng biết cách tính tổng hai số

class Student {
    // constructor
    public function __construct[$first_name, $last_name] {
        $this->first_name = $first_name;
        $this->last_name = $last_name;
    }

    public function say_name[] {
        echo "My name is " . $this->first_name . " " . $this->last_name . ".\n";
    }
}

$alex = new Student["Alex", "Jones"];
$alex->say_name[];

class MathStudent extends Student {
    function sum_numbers[$first_number, $second_number] {
        $sum = $first_number + $second_number;
        echo $this->first_name . " says that " . $first_number . " + " . $second_number . " is " . $sum;
    }
}

$eric = new MathStudent["Eric", "Chang"];
$eric->say_name[];
$eric->sum_numbers[3, 5];

Lưu ý rằng đối tượng của Eric cũng có hàm tạo tương tự và hàm say_name, ngoài ra còn có một phương thức mới có tên là

class Student {
    // constructor
    public function __construct[$first_name, $last_name] {
        $this->first_name = $first_name;
        $this->last_name = $last_name;
    }

    public function say_name[] {
        echo "My name is " . $this->first_name . " " . $this->last_name . ".\n";
    }
}

$alex = new Student["Alex", "Jones"];
$alex->say_name[];

class MathStudent extends Student {
    function sum_numbers[$first_number, $second_number] {
        $sum = $first_number + $second_number;
        echo $this->first_name . " says that " . $first_number . " + " . $second_number . " is " . $sum;
    }
}

$eric = new MathStudent["Eric", "Chang"];
$eric->say_name[];
$eric->sum_numbers[3, 5];
1, khiến Eric phải tính tổng của hai số. Cũng lưu ý rằng chức năng mới có quyền truy cập vào cùng các thành viên mà chúng ta đã xác định trước đó trong lớp Sinh viên [
class Student {
    // constructor
    public function __construct[$first_name, $last_name] {
        $this->first_name = $first_name;
        $this->last_name = $last_name;
    }

    public function say_name[] {
        echo "My name is " . $this->first_name . " " . $this->last_name . ".\n";
    }
}

$alex = new Student["Alex", "Jones"];
$alex->say_name[];

class MathStudent extends Student {
    function sum_numbers[$first_number, $second_number] {
        $sum = $first_number + $second_number;
        echo $this->first_name . " says that " . $first_number . " + " . $second_number . " is " . $sum;
    }
}

$eric = new MathStudent["Eric", "Chang"];
$eric->say_name[];
$eric->sum_numbers[3, 5];
2,
class Student {
    // constructor
    public function __construct[$first_name, $last_name] {
        $this->first_name = $first_name;
        $this->last_name = $last_name;
    }

    public function say_name[] {
        echo "My name is " . $this->first_name . " " . $this->last_name . ".\n";
    }
}

$alex = new Student["Alex", "Jones"];
$alex->say_name[];

class MathStudent extends Student {
    function sum_numbers[$first_number, $second_number] {
        $sum = $first_number + $second_number;
        echo $this->first_name . " says that " . $first_number . " + " . $second_number . " is " . $sum;
    }
}

$eric = new MathStudent["Eric", "Chang"];
$eric->say_name[];
$eric->sum_numbers[3, 5];
3]

Chức năng công cộng và tư nhân

Chúng ta có thể sử dụng các công cụ sửa đổi

class Student {
    // constructor
    public function __construct[$first_name, $last_name] {
        $this->first_name = $first_name;
        $this->last_name = $last_name;
    }

    public function say_name[] {
        echo "My name is " . $this->first_name . " " . $this->last_name . ".\n";
    }
}

$alex = new Student["Alex", "Jones"];
$alex->say_name[];

class MathStudent extends Student {
    function sum_numbers[$first_number, $second_number] {
        $sum = $first_number + $second_number;
        echo $this->first_name . " says that " . $first_number . " + " . $second_number . " is " . $sum;
    }
}

$eric = new MathStudent["Eric", "Chang"];
$eric->say_name[];
$eric->sum_numbers[3, 5];
4 và
class Student {
    // constructor
    public function __construct[$first_name, $last_name] {
        $this->first_name = $first_name;
        $this->last_name = $last_name;
    }

    public function say_name[] {
        echo "My name is " . $this->first_name . " " . $this->last_name . ".\n";
    }
}

$alex = new Student["Alex", "Jones"];
$alex->say_name[];

class MathStudent extends Student {
    function sum_numbers[$first_number, $second_number] {
        $sum = $first_number + $second_number;
        echo $this->first_name . " says that " . $first_number . " + " . $second_number . " is " . $sum;
    }
}

$eric = new MathStudent["Eric", "Chang"];
$eric->say_name[];
$eric->sum_numbers[3, 5];
5 tương ứng để xác định các chức năng có thể được truy cập từ bên ngoài đối tượng hay không, cho mục đích đóng gói. Điều này cho phép xác định rõ hơn cách sử dụng các đối tượng, để phân tách giữa các chức năng được sử dụng cho nội bộ, trái ngược với giao diện bên ngoài

class Student {
    // constructor should be public
    public function __construct[$first_name, $last_name] {
        $this->first_name = $first_name;
        $this->last_name = $last_name;
    }

    // for external use
    public function say_name[] {
        echo "My name is " . $this->full_name[] . "\n";
    }

    // for internal use
    private function full_name[] {
        return $this->first_name . " " . $this->last_name;
    }
}

$alex = new Student["Alex", "Jones"];

$alex->say_name[];

// this will not work
// echo $alex->full_name[];

Bài tập

Tạo một lớp có tên là Xe hơi với một hàm tạo nhận thương hiệu và năm sản xuất của chiếc xe hơi, và một hàm có tên là

class Student {
    // constructor
    public function __construct[$first_name, $last_name] {
        $this->first_name = $first_name;
        $this->last_name = $last_name;
    }

    public function say_name[] {
        echo "My name is " . $this->first_name . " " . $this->last_name . ".\n";
    }
}

$alex = new Student["Alex", "Jones"];
$alex->say_name[];

class MathStudent extends Student {
    function sum_numbers[$first_number, $second_number] {
        $sum = $first_number + $second_number;
        echo $this->first_name . " says that " . $first_number . " + " . $second_number . " is " . $sum;
    }
}

$eric = new MathStudent["Eric", "Chang"];
$eric->say_name[];
$eric->sum_numbers[3, 5];
6 in ra các chi tiết của chiếc xe hơi

PHP có đối tượng không?

PHP là một ngôn ngữ hướng đối tượng , mặc dù nó không nhất thiết phải được sử dụng như một ngôn ngữ vì hầu hết các hàm PHP không phải là hướng đối tượng. Trong lập trình hướng đối tượng, một lớp là một định nghĩa của một đối tượng, trong khi một đối tượng là một thể hiện của một đối tượng, nghĩa là từ một lớp bạn có thể tạo ra nhiều đối tượng.

Bạn có thể tạo các đối tượng trong PHP không?

Chúng ta có thể tạo nhiều đối tượng từ một lớp . Mỗi đối tượng có tất cả các thuộc tính và phương thức được định nghĩa trong lớp, nhưng chúng sẽ có các giá trị thuộc tính khác nhau. Các đối tượng của một lớp được tạo bằng từ khóa new.

Đối tượng trong ví dụ PHP là gì?

Đối tượng là một thể hiện riêng lẻ của cấu trúc dữ liệu được định nghĩa bởi một lớp . Chúng tôi định nghĩa một lớp một lần và sau đó tạo nhiều đối tượng thuộc về nó. Các đối tượng còn được gọi là thể hiện.

PHP có hỗ trợ đối tượng không?

Tạo đối tượng trong PHP . Tất cả các đối tượng của một lớp sẽ có quyền truy cập vào tất cả các thành viên dữ liệu và các hàm thành viên của lớp đó. Để tạo một đối tượng của một lớp trong PHP, từ khóa new được sử dụng. A class can have any number of instances or objects. All the objects of a class will have access to all the data members and member functions of that class. To create an object of a class in PHP, the new keyword is used.

Chủ Đề