PHP Nâng Cao

Lập trình hướng đối tượng: Nạp Chồng – Ghi Đè

PHP Nâng Cao – Chào các bạn lâu rồi mình không viết được bài nào mới là với lý do cuối năm mình cũng hơi bận việc chút nên mong các bạn thông cảm nhé. Ở bài trước chúng ta …

PHP Nâng Cao – Chào các bạn lâu rồi mình không viết được bài nào mới là với lý do cuối năm mình cũng hơi bận việc chút nên mong các bạn thông cảm nhé. Ở bài trước chúng ta đã tìm hiểu Lập trình hướng đối tượng: Tính kế thừa tiếp theo bài hôm này mình sẽ giới thiệu đến các bạn hai khái niệm Nạp Chồng và Ghi Đè trong lập trình hướng đổi tượng.

Với mục đúng những bài viết ngắn ngọn nhưng xúc tích mình muốn khi các bạn đọc xong là các bạn sẽ hiểu ngay được vấn đề cốt lói của nó là gì? Do vậy ở nhưng bài viết mình luôn tổng hợp và đi sâu vào những ý chính sẽ giúp các bạn dễ hiểu hơn. Sau đây chúng ta bắt đầu đi tìm hiểu hai phương thức trên nhé.

1. Nạp Chồng(Overloading)

Việc khai báo trong một lớp nhiều phương thức có cùng tên nhưng khác tham số (khác kiểu dữ liệu, khác số lượng tham số) gọi là khai báo chồng phương thức (overloading method). Hay ngắn ngọn theo từng ý như phía dưới để các bạn dễ hiểu hơn.

  • Các phương thức nằm trong cùng 1 lớp , có cùng tên với nhau nhưng có danh sách đối số khác nhau được gọi là các phương thức nạp chồng.
  • Hàm tạo cũng có thể được nạp chồng.
  • Tùy theo ta gọi đối số thế nào mà nó sẽ gọi hàm tương ứng.
  • Nạp chồng là hình thức đa hình (polymorphism) trong quá trình biên dịch (compile time).

Ví dụ:

Overloading method dùng làm gì?, ta xét bài tập nhỏ: Tính diện tích hình vuông, tính diện tích hình hình chữ nhật, tính diện tích hình tam giác. (Mình sẽ đưa ra cách gợi ý các bạn sẽ tự code nhé)

  • Ta sẽ tạo ra 3 phương thức đều tên là dienTich sao cho, nếu như
  • Có 1 tham số truyền vào, nó sẽ tự hiểu là cần tính diện tích hình vuông
  • Có 2 tham số truyền vào, nó tự hiểu là tính diện tích hình chữ nhật
  • Có 3 tham số truyền vào, nó tự hiểu là tính diện tích hình tam giác.

2. Ghi đè(Override)

Trong PHP, nếu như người lập trình tạo ra một phương thức trong lớp con có trùng tên với một phương thức đã được tạo ở lớp cha thì đó được gọi là ghi đè phương thức(Method Overriding). Hoặc một cách dễ hiểu hơn như sau.

  • Là Phương thức đã xuất hiện ở lớp cha và xuất hiện tiếp ở lớp con.
  • Khi đối tượng thuộc lớp con gọi phương thức thì sẽ chọn lựa và chạy theo phương thức trong lớp con.
  • Nếu lớp con không có phương thức đó thì mới lên kiếm ở lớp cha để chạy
  • Ghi đè là hình thức đa hình (polymorphism) trong quá trình thực thi (Runtime)

Ví dụ: Các bạn copy đoạn code dưới đây là pase vào một file .php và chạy nhé.

Như vậy ở bài này mình đã giới thiệu đến các bạn hai khái niệm cơ bản và rất quan trọng trong lập trình hướng đối tượng nói chung và trong PHP nói riêng. Chúc các bạn thành công!

Thẻ:, , , , ,
comments powered by Disqus
Powered by HTH Company