Hướng dẫn abstract static method php
Lập trình hướng đối tượng (OOP) là một trong những kỹ thuật lập trình rất quan trọng hiện nay. Nó được áp dụng ở hầu hết các ứng dụng thực tế xây dựng tại các doanh nghiệp. Các lập trình viên đa phần đã được học về lập trình hướng đối tượng ở trường đại học nhưng các nguyên lý cơ bản của lập trình hướng đối tượng đôi khi lại không nắm rõ dẫn đến sử dụng sai, không đúng triết lý của lập trình hướng đối tượng. Trên đây mình cũng có một chút chia sẻ về một số kiến thức về Lập trình hướng đối tượng nhằm giúp các bạn có được một cái nhìn tổng quát về OOP cũng như cách áp dụng nó. Vậy lập trình hướng đối tượng là gì? Theo wikipedia : Show
Để dễ hiểu, lập trình hướng đối tượng là một kỹ thuật lập trình cho phép lập trình viên tạo ra các đối tượng trong code trừu tượng hóa các đối tượng thực tế trong cuộc sống. Mục lụcPhần 1
Phần 2
Phần 3
Trong bài đầu tiên, mình sẽ chia sẻ về 3 vấn đề đó là: Các đặc điểm cơ bản của lập trình hướng đối tượng. Chúng được thể hiện như thế nào trong PHP, Sự khác biệt giữa Abstract Class và Interface, Thế nào là một hàm static. Phân biệt cách dùng từ khoá static::method() với self::method() Nội dung1. Các đặc điểm cơ bản của lập trình hướng đối tượng. Chúng được thể hiện như thế nào trong PHP?Trong lập trình hướng đối tượng, sẽ có 4 tính chất sau:
Với tính trừu tượng (abstraction) thì toàn bộ sự phức tạp của việc xử lý quá trình gửi tiền và rút tiền sẽ được thực hiện trong 2 phương thức Dưới đây là một cách thực hiện (implementation) của phương thức
Vậy với tính trừu tượng thì lập trình viên chỉ cần quan tâm tới mục đích của phương thức deposit là để nạp tiền vào tài khoản. Toàn bộ chi tiết của quy trình xử lý gửi tiền sẽ được thực hiện ở bên trong phương thức deposit.
Ở đây ta thấy thay vì khai báo lại thuộc tính và phương thức của class Animal trong class Bird, ta sẽ sử dụng tính kế thừa bằng từ khóa Tính đa hình (polymorphism) trong lập trình hướng đối tượng cho phép các lớp con có thể viết lại (override) các thuộc tính hoặc phương thức từ lớp cha. VD:
2. Sự khác biệt giữa Abstract Class và InterfaceĐây là 2 khái niệm cực kỳ quan trọng trong PHP. Và có lẽ không ít người đã nhầm tưởng về 2 khái niệm này.
Dưới đây mình xin nêu ra 1 số đặc điểm khác nhau giữa 2 khái niệm này. 3. Thế nào là một hàm static. Phân biệt cách dùng từ khoá static::method() với self::method()Hàm static : Là hàm có thể truy cập mà không cần khởi tạo một đối tượng của class. Hàm này được khai báo trong class, có kèm theo từ khóa static. Trước từ khóa static có thể có một trong các cơ chế Public, Protected, Private. VD:
Một số lưu ý với khi sử dụng hàm static:
Phân biệt cách dùng từ khoá static::method() với self::method() Ở trên ta có đề cập đến việc self và static đều dùng để gọi các thành phần tĩnh trong đối tượng. Vậy chúng có sự khác nhau như thế nào? Tại sao lại phải dùng 2 từ khóa. Chúng ta cùng theo dõi ví dụ sau:
Bạn cần kết quả là 2 nhưng kết quả trả về lại là 4. Điều này xảy ra là bởi vì khi sử dụng
Kết quả là 2. Sự khác biệt đã rõ Vậystatic nó sẽ đại diện cho chính đối tượng đang gọi đến nó. Na ná kiểu $this vậy. self thì khác, nó đại diện cho đối tượng khai báo nó. Các bạn hãy làm thử 1 vài ví dụ chắc chắn sẽ hiểu được
điều này ^^!Tạm kếtTrên đây là một số điều mình tổng hợp được về một số vấn đề về Lập trình hướng đối tượng trong PHP. Trong bài sau, mình sẽ đề cập đến |