Bài 15: Template interface trong php

Cú pháp : interface [interfaceName] Thoạt nhìn qua các ta thấy Interface rất giống với Abstract trong php ? Nhưng về bản chất bên trong hoàn toàn khác nhau. Interface không phải là một lớp cụ thể mà là một khuôn mẫu để cho một đối tượng implement nó, và đương nhiên là ta không thể tạo một biến ...

Cú pháp: interface [interfaceName]

Thoạt nhìn qua các ta thấy Interface rất giống với Abstract trong php ? Nhưng về bản chất bên trong hoàn toàn khác nhau. Interface không phải là một lớp cụ thể mà là một khuôn mẫu để cho một đối tượng implement nó, và đương nhiên là ta không thể tạo một biến Interface. Ngược lại lớp Abstract là một lớp cụ thể, có đầy đủ các tính chất của một đối tượng, có thể gọi, định nghĩa các hàm trong nó. Đối với hằng số ở lớp implement không được định nghĩa lại.

Một số điểm cần lưu ý khi làm việc với interface.

  • Lớp kế thừa không được định nghĩa lại hằng số đã được định nghĩa trong interface.
  • Định nghĩ đúng các hàm của lớp kế thừa như trong interface.
  • Định nghĩa đúng mức truy cập các hàm của lớp kế thừa như trong interface.
  • Một interface chứa các hành vi(Action) mà một class(lớp) triển khai.
  • Một interface có thể bao gồm bất cứ lượng phương thức nào.
  • Bạn không thể khởi tạo một interface.
  • Một interface không chứa bất cứ hàm contructor nào.
  • Tất cả các phương thức của interface đều là abstract.
  • Một interface không thể chứa một trường nào trừ các trường vừa static và final.
  • Một interface không thể kế thừa từ lớp, nó được triển khai bởi một lớp.
  • Một interface có thể kế thừa từ nhiều interface khác.

Ví dụ:

interface PrintTable
{
    // Phương thức In
    public function _print();
}
interface PrintColor
{
     // Phương thức thiết lập màu sắc
    public function _setcolor();
}

class Page
{
    // Phương thức setup bố cục
    public function PageSetup(){
        // Lệnh
    }
}
class A6 extends Page implements PrintTable,PrintColor{
    public function _print(){
        echo 'Phương thức in khổ giấy A6';
    }
    public function _setcolor(){
        echo 'Mãu chữ in khổ giấy A6';
    }
}
$a6 = new A6;
$a6->_print();

2. Tính chất kế thừa interface trong PHP

Interface trong php tuy không phải là một lớp chính hiệu nhưng nó cũng có một tính chất đó là tính kế thừa, nghĩa là một Interface A có thể kế thừa một Interface B thì lúc này đối tượng nào implement lớp A thì nó phải định nghĩa tất cả các hàm mà cả hai lớp A và B đã khai báo.

Ví dụ:

interface A{
    public function funcA();
}
interface B extends A{
    public function funcB();
}  
// Lớp này đúng vì nó khai báo đầy
// đủ các hàm trong A và B
class C implements B{
    public function funcA(){
        // Lệnh
    }
    public function funcB(){
        // Lệnh
    }
}
// Lớp này sai vì nó khai báo mỗi hàm funcA
class D implements B{
    public function funcA(){
        // Lệnh
    }
}
Bài liên quan

[BÀI 5] TOÁN TỬ TRONG PHP

Sau khi tìm hiểu cách khai báo, biến và hằng số và kiểu dữ liệu cơ bản trong PHP, bây giờ chúng ta tìm hiểu về các loại toán tử. Ví dụ cơ bản sau về phép cộng hai số, $x+$y , đây là một biểu thức số học với $x, $y là hai toán tử, dấu + được gọi là toán hạng. Toán tử trong PHP – Toán tử ...

Trịnh Tiến Mạnh viết 17:01 ngày 04/10/2018

[BÀI 7] VÒNG LẶP TRONG PHP

Để hiển thị kết quả các dòng lệnh, trong khi mà chúng ta phải gõ từng dòng code để mà hiển thị kết quả lên màn hình như giá trị của một biến số được gán giá trị từ 1 cho đến 10. Chúng ta phải viết echo để in từng giá trị đó ra, thay vì phải viết nhiều lần, thì khi áp dụng vòng lặp vào để giải ...

Bùi Văn Nam viết 17:00 ngày 04/10/2018

Bài 16: Upload file trong PHP

Để có thể upload được một file hoặc nhiều file chúng ta cần có: Form phải chỉ định thuộc tính enctype="multipart/form-data" Thẻ Input field có thuộc tính type="file" Để có thể upload được nhiều file bạn có thể thiết lập thêm thuộc tính multiple="multiple" ...

Trần Trung Dũng viết 16:32 ngày 01/10/2018

Bài 13: Session & Cookie trong PHP

Session và Cookie là hai phương pháp được sử dụng để quản lý các phiên làm việc giữa người dùng và hệ thống. Việc quản lý phiên làm việc này sẽ giúp bạn chứng thực hiệu quả bởi việc xác nhận thông tin trước khi truy cập vào một phân vùng cố định. Ngoài ra, việc quản lý tốt phiên làm việc cũng giúp ...

Hoàng Hải Đăng viết 16:31 ngày 01/10/2018

Bài 15: Template interface trong php

Cú pháp : interface [interfaceName] Thoạt nhìn qua các ta thấy Interface rất giống với Abstract trong php ? Nhưng về bản chất bên trong hoàn toàn khác nhau. Interface không phải là một lớp cụ thể mà là một khuôn mẫu để cho một đối tượng implement nó, và đương nhiên là ta không thể tạo một biến ...

Tạ Quốc Bảo viết 16:29 ngày 01/10/2018
0