Computer >> Máy Tính >  >> Lập trình >> PHP

Giải thích phương thức STATIC AND INSTANCE trong PHP.

Trong PHP, các phương thức thể hiện là phương pháp thích hợp hơn các phương thức tĩnh. Trong mọi trường hợp, không có nghĩa là các phương thức tĩnh không hữu ích, chúng có một mục đích riêng biệt và duy nhất. Ở đây chúng ta thảo luận về sự so sánh giữa các phương thức static và instance trong PHP.

Ở đây Lưu ý rằng phương thức thể hiện luôn được kết nối với đối tượng của lớp trong khi các phương thức tĩnh luôn được kết nối với lớp.

Đầu tiên nói về phương thức static. Phương thức tĩnh trong PHP cũng giống như các ngôn ngữ lập trình hướng đối tượng khác. Các trường hợp quan trọng khi sử dụng phương thức tĩnh trong PHP. Phương thức tĩnh cần được sử dụng chỉ khi thông tin cụ thể vẫn ổn định cho toàn bộ lớp. Về cơ bản, phương thức tĩnh được sử dụng khi truy cập phương thức đó mà không cần sự trợ giúp của đối tượng của lớp đó.

Ví dụ

<?php
   class Car{
      static function getColor(){
         return "blue";
      }
   }
   echo (Car::getColor());
?>

Đầu ra:

blue

Giải thích:

Ví dụ:hãy nghĩ trong chương trình trên, một số lập trình viên đang tạo thông tin về một chiếc xe hơi và trong đó bạn có một lớp Xe và có một hàm getColor () xác định màu của chiếc xe, vì vậy mỗi đối tượng cần hàm getColor () trả về màu tương tự cho tất cả các đối tượng của Class Car, Vì vậy, trong trường hợp này, chúng ta có thể tạo phương thức getColor () dưới dạng tĩnh.

Hãy thảo luận về Phương pháp Phiên bản. Phương thức thể hiện được sử dụng khi không có cách nào để gọi phương thức mà không tạo đối tượng. Ngoài ra, mỗi khi phương thức cần tương tác với các thuộc tính của lớp, chúng tôi yêu cầu một phương thức thể hiện.

Ví dụ

Hãy trình bày trường hợp trên với một ví dụ:

<?php
   class Employee{
      private $empname;
      function setEmpname($empname) {
         $this->empname = $empname;
      }
      function getEmpname() {
         return $this -> empname;
      }
   }
   $obj = new Employee;
   $obj -> setEmpname("Alex");
   echo $obj -> getName();
?>

Đầu ra:

Alex

Giải thích:

Hãy xem xét một lớp Nhân viên trong đó setEmpname () đọc tên nhân viên và phương thức getEmpname () trả về tên của Nhân viên. Trong trường hợp này, mọi tên nhân viên đều khác nhau nên chúng ta không thể khai báo phương thức getEmpname () hoặc setEFaste () là tĩnh vì mỗi khi các phương thức này tương tác với một biến "$ empname".