Tính đa hình trong php hay còn gọi là tính đa hình trong lập trình hướng đối tượng là sự đa hình của mỗi hành động cụ thể ở những đối tượng khác nhau. Ví dụ hành động ăn ở các loài động vật hoàn toàn khác nhau như: con heo ăn cám, hổ ăn thịt, con người thì ... ăn hết.
Đó là sự đa hình trong thực tế, còn đa hình trong lập trình thì được hiểu là Lớp Con sẽ viết lại những phương thức ở lớp cha (ovewrite).
Ví dụ:
|
Ta thấy lớp ConHeo đã định nghĩa lại hàm An() của lớp DongVat nên khi gọi đến hàm An() sẽ được tính là gọi ở lớp ConHeo, nếu trong lớp ConHeo không có ham An() thì lúc này mới tính ở hàm DongVat.
Là kỹ thuật cho phép thay đổi nội dung cùng một hành vi (hàm) trong hai lớp cha và con, hay nói cách khác là viết lại hàm ở lớp cha trong lớp con.
Xét ví dụ sau:
|
Trong ví dụ này lớp HinhHoc là lớp biểu hiện cho các hình học không gian, lớp HinhVuong và HinhChuNhat là 2 hình xác định năm trong hình học không gian.
Trong hình học không gian có các hành động như vẽ hình, tính diện tích nên tôi khai báo 2 hàm đó ở lớp HinhHoc.
Ở lớp HinhVuong và HinhChuNhat tôi viết lại hai hàm tính diện tích và vẽ hình vì mỗi hình có một cách tính khác nhau, nên nếu viết ở lớp HinhHoc thì không thể biểu diễn ra được cho tất cả các hình.
Lưu ý với các bạn khi viết lại hàm thì các biến truyền vào hàm ở lớp cha và lớp con phải khớp nhau, nghĩa là hàm ở lớp cha truyền vào bao nhiêu tham số thì hàm ở lớp con truyền vào bấy nhiêu tham số.
Tính đóng gói là tính chất không cho phép người dùng hay đối tượng khác thay đổi dữ liệu thành viên của đối tượng nội tại. Chỉ có các hàm thành viên của đối tượng đó mới có quyền thay đổi trạng thái nội tại của nó mà thôi. Các đối tượng khác muốn thay đổi thuộc tính thành viên của đối tượng nội tại, thì chúng cần truyền thông điệp cho đối tượng, và việc quyết định thay đổi hay không vẫn do đối tượng nội tại quyết định.
Ta có thể hiểu nôm la tính đóng gói là không cho bên ngoài biết được bên trong đối tượng có những gì hay được cài đặt như thế nào. Nếu muốn thay đổi bên trong đối tượng thì phải được sự chấp nhận của đối tượng đó thông qua ba mức độ truy cập private protected và public mà chúng ta đã học ở bài trước.
Ví dụ trong đối tượng kế toán có một chức năng tính lương, chức năng này có những phép tính mà các đối tượng khác không hề biết cách tính nó như thế nào. Đối tượng kế toán sẽ có những chức năng dành cho các hàm kế thừa nó có thể truy xuất vào và thông qua ba mức độ truy cập để giới hạn chúng. Đây cũng chính là bảo mật thông tin cho đối tượng.
Về bài trước... |
Bài tiếp theo... |
+ Lê Văn Thuyên-0379136392:Cảm ơn quý vị và các bạn đã vào Website của Lê Thuyên! Lê thuyên rất mong nhận được sự góp ý của quý vị và các bạn cho sự phát triển của website này. Xin chân thành cảm ơn!
* Dũng Trung-090567448:Lê Văn Thuyên0379136392--->Ok.Anh!
* Bé Nguyễn-benguyen@gmail,com:Lê Văn Thuyên0379136392--->Good job!
+ -:
+ -: