Chúng ta có thể ghi đè phương thức tĩnh php không?

Ở đây, chúng tôi khai báo một phương thức tĩnh. hoan nghênh[]. Sau đó, chúng ta gọi phương thức tĩnh bằng cách sử dụng tên lớp, dấu hai chấm [. ] và tên phương thức [không tạo phiên bản của lớp trước]

PHP - Tìm hiểu thêm về các phương thức tĩnh

Một lớp có thể có cả phương thức tĩnh và không tĩnh. Một phương thức tĩnh có thể được truy cập từ một phương thức trong cùng một lớp bằng cách sử dụng từ khóa self và dấu hai chấm [. ]

Ví dụ

lời chào lớp học {
  chức năng tĩnh công khai chào mừng[] {
    echo "Xin chào thế giới. ";
  }

  public function __construct[] {
    self. hoan nghênh[];
  }
}

lời chào mới[];
?>

Tự mình thử »

Các phương thức tĩnh cũng có thể được gọi từ các phương thức trong các lớp khác. Để làm điều này, phương thức tĩnh phải là public

Ví dụ

lời chào lớp học {
  chức năng tĩnh công khai chào mừng[] {
    echo "Xin chào thế giới. ";
  }
}

class SomeOtherClass {
  public function message[] {
    chào. chào mừng[];
  }
}
?>

Tự mình thử »

Để gọi một phương thức tĩnh từ một lớp con, hãy sử dụng từ khóa parent bên trong lớp con. Ở đây, phương thức tĩnh có thể là public hoặc

ClassName::staticMethod[];
0

Trong hướng dẫn này, chúng ta sẽ tìm hiểu thêm về các phương thức tĩnh trong PHP OOP. Chúng ta sẽ thảo luận về ý nghĩa của các phương thức tĩnh, khi nào sử dụng chúng, cú pháp và sự khác biệt giữa các phương thức tĩnh và không tĩnh

Các phương thức tĩnh trong PHP là gì?

  • Các phương thức tĩnh được tạo bằng từ khóa tĩnh
  • Các phương thức tĩnh của một lớp được gọi trực tiếp. Điều đó có nghĩa là chúng ta không cần tạo thể hiện của lớp để gọi phương thức tĩnh của nó
  • Một lớp có thể chứa cả phương thức tĩnh và không tĩnh
  • Để gọi phương thức tĩnh của một lớp, chúng ta sử dụng toán tử phân giải phạm vi

Cú pháp của phương thức tĩnh trong PHP

Cú pháp gọi phương thức tĩnh

ClassName::staticMethod[];

Ví dụ

  • Trong ví dụ trên, chúng ta tạo một lớp có chứa phương thức tĩnh trong đó
  • Chúng tôi gọi phương thức tĩnh của lớp này bên ngoài bằng cách sử dụng phương thức phân giải phạm vi

Gọi phương thức tĩnh bên trong lớp – PHP

  • Trong PHP, từ khóa self cho phép gọi phương thức tĩnh của chính nó bên trong lớp. Hãy xem ví dụ sau, trong đó chúng ta tạo một lớp với phương thức tĩnh và gọi nó bên trong hàm tạo của lớp
  • bản thân. methodName[] là cú pháp chung để gọi phương thức tĩnh bên trong lớp

Gọi phương thức tĩnh bên trong một lớp khác – PHP

Rất thú vị khi sử dụng trường hợp của các phương thức tĩnh, chúng ta có thể gọi một phương thức tĩnh công khai bên trong một lớp khác. Hãy nhớ rằng, nó phải là một phương thức tĩnh công khai

Gọi một phương thức tĩnh trong lớp con – PHP

Trong trường hợp thừa kế, chúng ta có thể gọi phương thức tĩnh của lớp cha bên trong lớp con bằng cách sử dụng từ khóa cha. Nhìn vào ví dụ dưới đây

  • Trong ví dụ trên, chúng ta tạo một lớp cha với một số phương thức tĩnh
  • Chúng tôi tạo một lớp khác mở rộng lớp cha
  • Gọi phương thức tĩnh của lớp cha bằng từ khóa cha theo sau là tên của phương thức tĩnh

Ghi chú. Như chúng ta đã đề cập trong phần trước, việc gọi một phương thức tĩnh bên trong một lớp khác yêu cầu nó phải công khai. Nhưng trong trường hợp gọi phương thức tĩnh của lớp cha [kế thừa], công cụ sửa đổi truy cập phương thức tĩnh có thể là công khai hoặc được bảo vệ

ClassName::staticMethod[];
1

ClassName::staticMethod[];
2

ClassName::staticMethod[];
3

ClassName::staticMethod[];
4

ClassName::staticMethod[];
5

ClassName::staticMethod[];
6

ClassName::staticMethod[];
7

Bạn có thể ghi đè phương thức tĩnh không?

Chúng ta có thể ghi đè một phương thức tĩnh không? . Vì vậy, chúng ta không thể ghi đè các phương thức tĩnh. No, we cannot override static methods because method overriding is based on dynamic binding at runtime and the static methods are bonded using static binding at compile time. So, we cannot override static methods.

Chúng ta có thể ghi đè và quá tải phương thức tĩnh không?

Câu trả lời chính xác là Không, không thể ghi đè các phương thức tĩnh. Nếu một lớp dẫn xuất định nghĩa một phương thức tĩnh có cùng chữ ký với một phương thức tĩnh trong lớp cơ sở, thì phương thức trong lớp dẫn xuất sẽ bị ẩn bởi phương thức trong lớp cơ sở. Trong khi ghi đè một phương thức, chúng ta phải tuân theo danh sách quy tắc bên dưới

Chủ Đề