>>>Có thể bạn quan tâm:
- Bài toán chia sữa dành cho lập trình viên
- Odoo - Những lý do bạn nên sử dụng
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é.
1 <?php
2 class testParent{
3 public function f1(){
4 echo 1;
5 }
6 public function f2(){
7 echo 2;
8 }
9 }
10 class testChild extends testParent{
11 function f2($a) //Overriding function f2{
12 echo $a;
13 }
14 }
15
16 $a = new testChild();
17 $a->f2("Hello You.");//It will print Hello You
18 ?>
Trên đây là một số thông tin về lập trình hướng đối tượng: Nạp Chồng - Ghi đè, Hy vọng những thông tin trên có thể ít nhiều giúp đỡ các bạn trong quá trình làm lập trình.
Chúc các bạn thành công !!!
>>> Có thể bạn chưa biết.
- học thiết kế web
- học lập trình web php
- hoc lap trinh web
0 nhận xét