• Setup menu at Appearance » Menus and assign menu to Top Bar Navigation
Friday, February 22, 2019
Website thủ thuật IT, học thiết kế Web, SEO Web, Kiếm Tiền Online
Advertisement
  • Học PHP và MySQL
    • Giáo trình PHP cơ bản
    • PHP cơ bản
    • PHP nâng cao
    • Học CMS
      • Học WordPress
  • Học Digital Marketing
    • Học SEO web
    • Công Cụ Marketing
      • Simple-Zalo
      • Simple Facebook
  • Thủ Thuật IT
  • Kiếm tiền online
  • Dịch vụ
No Result
View All Result
  • Học PHP và MySQL
    • Giáo trình PHP cơ bản
    • PHP cơ bản
    • PHP nâng cao
    • Học CMS
      • Học WordPress
  • Học Digital Marketing
    • Học SEO web
    • Công Cụ Marketing
      • Simple-Zalo
      • Simple Facebook
  • Thủ Thuật IT
  • Kiếm tiền online
  • Dịch vụ
No Result
View All Result
Website thủ thuật IT, học thiết kế Web, SEO Web, Kiếm Tiền Online
No Result
View All Result
Home PHP nâng cao

[PHP nâng cao] Bài 5: Tính đa hình trong PHP

Đặng Lê Nam by Đặng Lê Nam
February 23, 2017
in PHP nâng cao
0
0
SHARES
29
VIEWS
Share on FacebookShare on Twitter

1. Tính đa hình là gì?

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 =)).

Tính đa hình trong PHP

Đó 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 (Overwrite).

// Lớp Cha
class DongVat
{
    // Động Vật Ăn
    public function An()
    {
        echo 'Động Vật Đang Ăn';
    }
}
  
// Lớp Con
class ConHeo extends DongVat
{
    public function An()
    {
        parent::An();
        echo 'Con Heo Đang Ăn Cám';
    }
}
  
// Khai Báo Lớp on
$conheo = new ConHeo();
  
// Gọi Hàm Ăn Trong Lớp ConHeo
$conheo->An();

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.

Vậy bản chất của tính đa hình là gì?

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.

2. Ví dụ tính đa hình

// Lớp Hình Học
class HinhHoc
{
    // Hàm Vẽ Hình
    function Ve()
    {
        // Code
    }
  
    // Hàm Tính Diện Tích Của Hình
    function tinh_Dien_Tich()
    {
        // Code
    }
}
  
// Lớp hình Vuông
class HinhVuong extends HinhHoc
{
    // Độ Dài Cạnh
    public $canh = 0;
  
    // Định Nghĩa Lại Hàm Vẽ Hình Vuông
    function Ve()
    {
        echo 'Vẽ Hình Vuông';
    }
  
    //  Định Nghĩa Lại Hàm Tính Diện Tích
    function tinh_Dien_Tich()
    {
        return $this->canh*$this->canh;
    }
}
  
// Lớp hình chữ nhật
class HinhChuNhat extends HinhHoc
{
    // Chiều Dài Và Chiều Rộng
    public $dai = 0;
    public $rong = 0;
  
    // Định Nghĩa Lại Hàm Vẽ Hình Chữ Nhật
    public function Ve()
    {
        echo 'Vẽ Hình Chữ Nhật';
    }
  
    // Định Nghĩa Lại Hàm Tính Diện Tích
    public function tinh_Dien_Tich()
    {
        return $this->dai * $this->rong;
    }
}
  
// ------------------ //
// Chương Trình Chính //
// ------------------ //
  
// Hình Chữ Nhật
$HinhChuNhat = new HinhChuNhat();
$HinhChuNhat->Ve();
echo '<br/>';
 
$HinhChuNhat->dai = 25;
$HinhChuNhat->rong = 20;
echo $HinhChuNhat->tinh_Dien_Tich();
echo '<br/>';
  
// Hình Vuông
$HinhVuong = new HinhVuong();
$HinhVuong->Ve();
echo '<br/>';
$HinhVuong->canh = 20;
echo $HinhVuong->tinh_Dien_Tich();

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ố.

Nguồn: Bài giảng lấy từ Freetuts, 1 người bạn ở Daklak của mình
http://freetuts.net/tinh-da-hinh-trong-lap-trinh-huong-doi-tuong-php-34.html

Previous Post

[PHP nâng cao] Bài 4: Tính kế thừa trong PHP

Next Post

Traffic để SEO chia làm bao nhiêu loại

Đặng Lê Nam

Đặng Lê Nam

Next Post

Traffic để SEO chia làm bao nhiêu loại

Leave a Reply Cancel reply

Your email address will not be published.

  • Trending
  • Comments
  • Latest
assembly nhap mon

[ASSEMBLY] BÀI 1: NHẬP MÔN ASSEMBLY VỚI HELLO WORD

December 18, 2018
tu khoa tut hang

Cách xử lý website bị tụt top qua đợt cập nhật của google tháng 8

December 19, 2018
Tổng hợp 1000 link cho phép guest post theo từng ngành nghề

Tổng hợp 1000 link cho phép guest post theo từng ngành nghề

December 19, 2018
Tài nguyên Blog Comment tăng khả năng index Social & Profile (p1)

Tài nguyên Blog Comment tăng khả năng index Social & Profile (p1)

December 25, 2018

Android cơ bản: [Bài 4] Tìm hiểu Intent trong Android

94

Tìm kiếm longtail keyword hiệu quả bằng tay

7
tim hieu ddos

DDoS và nguyên tắc chống chọi

6

[Học SEO web]Sử dụng link bait hiệu quả

3
hoi dap lap ke hoach seo 2019

Top 10+ kế hoạch SEO của các công ty SEO lớn tại TPHCM, Hà Nội

January 27, 2019
cach san ten mien het han

【Miễn Phí 100%】 Cách săn tên miền PBN hết hạn đơn giản từ A – Z

December 19, 2018
tu khoa tut hang

Cách xử lý website bị tụt top qua đợt cập nhật của google tháng 8

December 19, 2018
thiet ke web quan ban cafe

Thiết kế website quán cafe đẹp chuẩn SEO【MAX 】rẻ

December 19, 2018

Bài Mới Nhất

hoi dap lap ke hoach seo 2019

Top 10+ kế hoạch SEO của các công ty SEO lớn tại TPHCM, Hà Nội

January 27, 2019
cach san ten mien het han

【Miễn Phí 100%】 Cách săn tên miền PBN hết hạn đơn giản từ A – Z

December 19, 2018
tu khoa tut hang

Cách xử lý website bị tụt top qua đợt cập nhật của google tháng 8

December 19, 2018
thiet ke web quan ban cafe

Thiết kế website quán cafe đẹp chuẩn SEO【MAX 】rẻ

December 19, 2018
  • Setup menu at Appearance » Menus and assign menu to Footer Navigation

© 2018 Học Web

No Result
View All Result

© 2018 Học Web

Login to your account below

Forgotten Password?

Fill the forms bellow to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In