Kế thừa là một trong bốn trụ cột của Lập trình hướng đối tượng (OOP). Kế thừa là hiện tượng một lớp con có thể kế thừa tất cả các thuộc tính và đặc điểm của lớp cha. Show
Bạn có thể hiểu điều này với một ví dụ thực tế đơn giản. Hãy xem xét tấm gương của con người. Bạn thừa hưởng các tính năng đặc trưng từ lớp 'Con người', chẳng hạn như đi bộ, ngồi, chạy, ăn, v.v. Lớp ‘Humans’ kế thừa từ lớp ‘Mammal’, những tính năng đặc trưng này – làm cho lớp ‘Human’ trở thành lớp dẫn xuất của ‘Mammal’. Hơn nữa, lớp 'Động vật có vú' có các tính năng đặc trưng của nó từ một lớp khác - 'Động vật'. Điều này làm cho lớp 'Động vật có vú' trở thành lớp dẫn xuất của lớp 'Động vật'; Kế thừa trong PHPKế thừa trong PHP là một khái niệm OOP quan trọng và không thể bỏ qua. Hiểu tính kế thừa trong PHP là cần thiết để có cái nhìn tổng thể về khái niệm hướng đối tượng trong PHP Kế thừa cung cấp cho bạn rất nhiều lợi ích giúp cho việc lập trình PHP thuận tiện hơn rất nhiều. Một lợi ích như vậy là khả năng sử dụng lại mã. Khả năng sử dụng lại cho phép bạn tạo mã sạch và việc sao chép mã được giảm xuống gần như bằng không. Sử dụng lại các mã hiện có mang lại nhiều lợi ích khác nhau. Nó tiết kiệm thời gian, chi phí, công sức và tăng độ tin cậy của chương trình. Hơn nữa, chương trình trở nên trực quan PHP cung cấp chủ yếu ba loại kế thừa dựa trên chức năng của chúng. Ba loại này như sau
Bài viết này sẽ thảo luận chi tiết về tất cả các loại này, sau Thêm một ngôi sao khác vào đánh giá hiệu suất của bạnHọc MIỄN PHÍ từ các chuyên gia trong ngành Bắt đầu họcCú pháp kế thừa một lớp trong PHPMô tả bên dưới là cú pháp được sử dụng để mở rộng một lớp cơ sở trong PHP lớp dẫn xuất_class_name mở rộng cơ sở_class_name { // định nghĩa các hàm thành viên của // lớp dẫn xuất ở đây } Từ khóa extends được sử dụng để định nghĩa lớp dẫn xuất hoặc lớp con trong PHP
Công cụ sửa đổi truy cập trong PHPCông cụ sửa đổi truy cập (riêng tư, công khai hoặc được bảo vệ) được sử dụng trong định nghĩa của các hàm thành viên và thành viên dữ liệu của lớp dẫn xuất chỉ định chế độ mà các tính năng của lớp cơ sở được dẫn xuất. Công cụ sửa đổi truy cập kiểm soát vị trí và cách thức các thành viên dữ liệu và chức năng thành viên của lớp cơ sở có thể được kế thừa bởi các lớp con. Các công cụ sửa đổi truy cập này được sử dụng để hạn chế quyền truy cập của lớp cơ sở từ lớp con để đóng gói dữ liệu. Điều này thường được gọi là ẩn dữ liệu. Trong PHP, có ba công cụ sửa đổi truy cập.
Công cụ sửa đổi truy cập công khai cung cấp ít quyền riêng tư nhất cho các thuộc tính của lớp cơ sở. Nếu công cụ sửa đổi truy cập là công khai, điều đó có nghĩa là lớp dẫn xuất có thể truy cập các thành viên công khai và được bảo vệ của lớp cơ sở chứ không phải các thành viên riêng tư của lớp cơ sở. Ví dụ sau đây cho thấy một lớp với các thành viên public lớp dẫn xuất_class_name mở rộng cơ sở_class_name { // thành viên dữ liệu công cộng $var_name công khai; // hàm thành viên public chức năng công khai function_name() { // định nghĩa hàm ở đây } } Chương trình sau minh họa công cụ sửa đổi truy cập công khai trong PHP // Định nghĩa lớp cơ sở trang sức đẳng cấp { public $price = "Chúng tôi có giá cố định là 100000"; hàm printMessage() { tiếng vang $this->price; tiếng vang PHP_EOL; } } // định nghĩa các lớp dẫn xuất lớp Vòng cổ mở rộng Trang sức { chức năng in(){ tiếng vang $this->price; tiếng vang PHP_EOL; } } //tạo đối tượng của // Lớp có nguồn gốc $obj= Vòng cổ mới; // gọi các hàm tiếng vang $obj->giá; tiếng vang PHP_EOL; $obj->printMessage(); $obj->print(); ?>
Công cụ sửa đổi truy cập riêng cung cấp quyền riêng tư tối đa cho các thuộc tính của lớp cơ sở. Bạn chỉ có thể truy cập thành viên dữ liệu hoặc hàm thành viên được khai báo riêng trong lớp mà chúng được khai báo Ví dụ sau minh họa một lớp với các thành viên private. lớp dẫn xuất_class_name mở rộng cơ sở_class_name { // thành viên dữ liệu riêng tư $var_name riêng tư; // hàm thành viên riêng chức năng riêng function_name() { // định nghĩa hàm ở đây } } Mặc dù khả năng truy cập trực tiếp của một thành viên riêng tư là không thể, nhưng bạn có thể truy cập chúng một cách gián tiếp bằng cách sử dụng các hàm thành viên công khai trong lớp. Nếu các thành viên riêng được truy cập bởi một thành viên chung trong một lớp, thì bất kỳ lớp con nào truy cập chức năng chung này cũng có thể truy cập thành viên riêng đó Chương trình sau minh họa công cụ sửa đổi quyền truy cập riêng tư trong PHP // Định nghĩa lớp cơ sở trang sức đẳng cấp { private $price = "Chúng tôi có giá cố định là 100000"; chương trình chức năng riêng tư () { echo "Đây là phương thức private của lớp cơ sở"; } } // định nghĩa các lớp dẫn xuất lớp Vòng cổ mở rộng Trang sức { hàm printPrice() { tiếng vang $this->price; } } //tạo đối tượng của // Lớp có nguồn gốc $obj= Vòng cổ mới; // dòng này đang cố gắng // gọi một phương thức riêng tư // điều này sẽ gây ra lỗi $obj->show(); // điều này cũng sẽ gây ra lỗi $obj->printPrice(); ?> Trong chương trình này, bạn đang cố gắng truy cập trực tiếp vào một thành viên riêng trong lớp dẫn xuất. Đó là lý do tại sao nó gây ra lỗi
Công cụ sửa đổi quyền truy cập được bảo vệ cung cấp mức độ riêng tư trung gian cho các thành viên của một lớp. Nếu bộ chỉ định truy cập được bảo vệ, điều này có nghĩa là lớp dẫn xuất có thể truy cập các thành viên công khai và được bảo vệ của lớp cơ sở. Các thành viên được bảo vệ của một lớp cơ sở có thể được truy cập trong lớp đó và bởi các lớp con của nó Ví dụ sau minh họa một lớp với các thành viên được bảo vệ. lớp dẫn xuất_class_name mở rộng cơ sở_class_name { // thành viên dữ liệu được bảo vệ $var_name được bảo vệ; // hàm thành viên được bảo vệ chức năng được bảo vệ function_name() { // định nghĩa hàm ở đây } } Chương trình sau minh họa công cụ sửa đổi quyền truy cập được bảo vệ trong PHP // Định nghĩa lớp cơ sở trang sức đẳng cấp { được bảo vệ $price1 = 10000; $price2 = 20000 được bảo vệ; // Hàm trừ hàm tổng() { echo $sum = $this->price1 + $this->price2; tiếng vang PHP_EOL; } }
// định nghĩa các lớp dẫn xuất lớp Vòng cổ mở rộng Trang sức { hàm printInvoice() { $thuế = 100; echo $sub = $this->price1 + $this->price2 + $tax; tiếng vang PHP_EOL; } } $obj= Vòng cổ mới; $obj->total(); $obj->printInvoice(); ?> Lớp con với các phương thức và thuộc tính riêngTrong kế thừa, mục đích của việc kế thừa các thuộc tính và thành viên của lớp cơ sở bởi một lớp con là hoàn thành tốt. Khi một lớp con kế thừa từ một lớp cơ sở, nó có quyền truy cập trực tiếp vào tất cả các thành viên không riêng tư của lớp cơ sở. Và thậm chí các thành viên riêng tư có thể được truy cập gián tiếp. Tuy nhiên, một lớp con cũng có thể có các phương thức và thuộc tính riêng. Ngoài các thành viên của lớp cơ sở, một lớp dẫn xuất có thể có bao nhiêu thành viên dữ liệu và phương thức tùy thích. Một lớp dẫn xuất cũng giống như bất kỳ lớp nào khác, với lợi ích là có quyền truy cập vào một số phương thức và thuộc tính khác của lớp cơ sở. Đây là những gì kế thừa là tất cả về. Chương trình sau minh họa một lớp con có quyền truy cập vào các thuộc tính của lớp cơ sở cùng với các phương thức và thuộc tính của nó // Định nghĩa lớp cơ sở lớp cơ sở_lớp { // thành phần dữ liệu của lớp cơ sở công khai $data_mem = 10; // hàm thành viên của lớp cơ sở hàm công khai member_func() { echo "Tôi là hàm lớp cơ sở. “; echo "Tôi là thành viên dữ liệu của lớp cơ sở. “; tiếng vang $this->data_mem; } } // định nghĩa các lớp dẫn xuất lớp con_lớp kéo dài lớp cơ sở { // hàm thành viên của lớp con hàm con_func() { echo "Tôi là hàm lớp con. “; tiếng vang $this->data_mem; } } //tạo đối tượng của // Lớp có nguồn gốc $obj= lớp con mới; //gọi phương thức của lớp cơ sở $obj->member_func(); //gọi phương thức của lớp con $obj->child_func(); ?> Các loại kế thừa trong PHPBa loại kế thừa sau đây được hỗ trợ trong PHP
Kế thừa đơn là kiểu thừa kế cơ bản và đơn giản nhất. Như tên gợi ý, trong một kế thừa duy nhất, chỉ có một lớp cơ sở và một lớp con hoặc lớp dẫn xuất. Nó kế thừa trực tiếp lớp con từ lớp cơ sở Chương trình sau minh họa kế thừa một mức trong PHP // lớp cơ sở tên là "Trang sức" trang sức đẳng cấp { var $chi phí = 10000; hàm công khai printName($name) { echo 'Đây là lớp cơ sở. Đồ trang sức & tên của đồ trang sức là. '. tên $. PHP_EOL; } } // lớp dẫn xuất có tên "Vòng cổ" lớp Vòng cổ mở rộng Trang sức { hàm công khai printName($name) { echo 'Đây là lớp con. Vòng cổ & tên của đồ trang sức là. '. tên $. PHP_EOL; // lớp này có thể truy cập // thành viên dữ liệu của lớp cha tiếng vang 'Giá là. '. $this->chi phí. PHP_EOL; } } $f = Đồ trang sức mới(); $s = Vòng cổ mới(); $f->printName('Ring'); $s->printName('Vòng cổ'); ?>
Kế thừa đa cấp là một loại kế thừa khác được tìm thấy trong PHP. Kế thừa đa cấp cũng có thể được giải thích bằng cây phả hệ. Có một lớp cơ sở. Lớp cơ sở này có thể được kế thừa bởi. Các lớp con này (không nhất thiết phải là mọi lớp con) hoạt động như lớp cơ sở và được kế thừa bởi các lớp con khác. Điều này cũng giống như một gia đình có con cháu qua nhiều thế hệ. Chương trình sau minh họa kế thừa đa cấp trong PHP // lớp cơ sở tên là "Trang sức" trang sức đẳng cấp { hàm công cộng totalCost() { trả lại ' tổng chi phí đồ trang sức. 600000'; } } // lớp dẫn xuất có tên "Vòng cổ" // lớp biểu mẫu kế thừa "Trang sức" lớp Vòng cổ mở rộng Trang sức { chức năng công cộng vòng cổ() { trả lại ' chi phí vòng cổ. 450000'; } } // lớp dẫn xuất có tên "Pendant" // lớp biểu mẫu kế thừa "Vòng cổ" lớp Mặt dây chuyền mở rộng Vòng cổ { chức năng công khai mặt dây chuyềnCost() { trả lại ' chi phí mặt dây chuyền. 600000'; } hàm công khai priceList() { tiếng vang '1. '. $this->totalCost(). PHP_EOL; tiếng vang '2. '. $this->vòng cổ(). PHP_EOL; tiếng vang '3. '. $this->pendantCost(). PHP_EOL; } } // tạo đối tượng của // lớp dẫn xuất $obj = Mặt dây chuyền mới(); $obj->priceList(); ?>
Đúng như tên gọi, thừa kế phân cấp thể hiện cấu trúc dạng cây. Nhiều lớp dẫn xuất được kế thừa trực tiếp từ lớp cơ sở. Trong kiểu kế thừa này, nhiều hơn một lớp dẫn xuất chia sẻ cùng một lớp cha Chương trình sau minh họa kế thừa phân cấp trong PHP // lớp cơ sở tên là "Trang sức" trang sức đẳng cấp { chức năng công khai Đồ trang sức () { echo 'Lớp này là trang sức'. PHP_EOL; } } // lớp dẫn xuất có tên "Vòng cổ" lớp Vòng cổ mở rộng Trang sức { } // lớp dẫn xuất có tên "Vòng cổ" đẳng cấp Vòng tay mở rộng Trang sức { } // tạo các đối tượng của // các lớp dẫn xuất // "Vòng cổ" và "Vòng tay" $n = Vòng cổ mới(); $b = Vòng tay mới(); ?> Công cụ sửa đổi quyền truy cập được bảo vệ trong PHPNhư đã thảo luận trước đó, các thành viên được bảo vệ của một lớp chỉ có thể được truy cập trong lớp đó và bởi các lớp dẫn xuất kế thừa nó. Ngay cả một thể hiện của lớp dẫn xuất cũng không thể truy cập thành viên được bảo vệ của lớp cơ sở của nó, bên ngoài lớp đó. Điều này có nghĩa là các thành viên được bảo vệ chỉ có thể được truy cập bởi lớp dẫn xuất và chính lớp cơ sở, chứ không phải bất kỳ nơi nào khác trong chương trình. Các chương trình sau minh họa khả năng truy cập của các thành viên được bảo vệ trong PHP // lớp cơ sở tên là "Trang sức" trang sức đẳng cấp { $chi phí công cộng = 10000; // hàm thành viên được bảo vệ // của lớp cơ sở chức năng được bảo vệ hiển thị() { echo 'Đây là lớp cơ sở. '. PHP_EOL; } } // lớp dẫn xuất có tên "Vòng cổ" lớp Vòng cổ mở rộng Trang sức { chức năng công cộng show() { echo 'Đây là lớp con. '. PHP_EOL; } } // tạo một đối tượng của lớp dẫn xuất $obj = Vòng cổ mới(); //gọi hàm của lớp dẫn xuất $obj->show(); // gọi hàm "được bảo vệ" của lớp cơ sở $obj->hiển thị(); ?> Trong chương trình trên, một thể hiện của lớp dẫn xuất cố gắng gọi một hàm thành viên được bảo vệ của lớp cơ sở bên ngoài cả hai lớp. Đó là lý do tại sao chương trình bị lỗi Vấn đề này có thể được giải quyết bằng phương pháp công khai. Vì một thành viên được bảo vệ có thể được truy cập trực tiếp bên trong lớp dẫn xuất, nên việc gọi thành viên được bảo vệ trong một phương thức công khai của lớp dẫn xuất giúp đạt được nhiệm vụ truy cập thành viên được bảo vệ một cách gián tiếp Chương trình sau minh họa điều này // lớp cơ sở tên là "Trang sức" trang sức đẳng cấp { $chi phí công cộng = 10000; // hàm thành viên được bảo vệ // của lớp cơ sở chức năng được bảo vệ hiển thị() { echo 'Đây là lớp cơ sở. '. PHP_EOL; } } // lớp dẫn xuất có tên "Vòng cổ" lớp Vòng cổ mở rộng Trang sức { chức năng công cộng show() { echo 'Đây là lớp con. '. PHP_EOL; // hàm thành viên được bảo vệ của lớp cơ sở // có thể được truy cập trong lớp dẫn xuất này $this->display(); } } // tạo một đối tượng của lớp dẫn xuất $obj = Vòng cổ mới(); //gọi hàm của lớp dẫn xuất $obj->show(); ?> Ghi đè các phương thức kế thừa trong PHPChức năng ghi đè được hỗ trợ bởi tính kế thừa trong PHP. Có thể quan sát thấy khi cả lớp dẫn xuất và lớp cơ sở đều chứa một hàm có cùng tên. Cả hai hàm phải có cùng số đối số. Lớp dẫn xuất kế thừa các hàm thành viên và thành viên dữ liệu từ lớp cơ sở của nó. Vậy để ghi đè một chức năng nào đó, bạn thực hiện thao tác ghi đè chức năng. Chương trình sau minh họa khái niệm ghi đè phương thức trong PHP // lớp cơ sở tên là "base_class" lớp cơ sở_lớp { // "show" hàm của lớp cơ sở chức năng công cộng show() { echo 'Đây là lớp cơ sở. '. PHP_EOL; } } // lớp dẫn xuất có tên "derived_class" lớp dẫn xuất_lớp mở rộng cơ sở_class { // "show" hàm của lớp dẫn xuất chức năng công cộng show() { echo 'Đây là lớp dẫn xuất. '. PHP_EOL; } } // tạo một đối tượng của lớp dẫn xuất $obj = lớp dẫn xuất mới(); // sẽ gọi "show" // hàm của lớp dẫn xuất $obj->show(); ?> Trong chương trình trên, cả lớp cơ sở (i. e. lớp cơ sở) và lớp dẫn xuất (i. e. dẫn xuất_class) có một chức năng gọi là "hiển thị". Nếu một thể hiện của lớp dẫn xuất gọi hàm show(), thì PHP sẽ gọi hàm show() của lệnh gọi dẫn xuất. Điều này là do lớp dẫn xuất ghi đè show() của lớp cơ sở bằng phương thức show() của chính nó. Nếu một thể hiện của lớp cơ sở sử dụng phương thức show() thì sẽ không có sự ghi đè của phương thức Từ khóa cuối cùng trong PHPCuối cùng là một từ khóa quan trọng trong các khái niệm OOP trong PHP và được tìm thấy trong các ngôn ngữ lập trình khác nhau như Java, JavaScript, v.v. Tuy nhiên, từ khóa Final phục vụ các mục đích khác nhau trong các ngôn ngữ khác nhau. Trong PHP, từ khóa cuối cùng phục vụ các mục đích khác nhau tùy thuộc vào việc nó được sử dụng với một lớp hay một phương thức
Chương trình sau minh họa khái niệm từ khóa “cuối cùng” với các lớp trong PHP Ghi chú. Mã này sẽ báo lỗi khi chúng tôi đang cố gắng kế thừa một lớp cuối cùng trang sức lớp cuối cùng { chức năng cuối cùng displayMessage() { tiếng vang "Tôi là một lớp học cuối cùng. Bạn không thể kế thừa tài sản của tôi. “; } chức năng in() { echo "Tôi là chức năng của lớp Trang sức. “; } } lớp testClass mở rộng Đồ trang sức { chức năng hiển thị() { echo "Tôi là chức năng của lớp kiểm tra. “; } } $obj = new testClass; $obj->show(); ?>
Các chương trình sau minh họa khái niệm từ khóa “cuối cùng” với các phương thức trong PHP Không có từ khóa cuối cùng (sẽ tạo đầu ra, nhưng sẽ gây ra ghi đè phương thức) trang sức đẳng cấp { hàm printMessage() { echo "Tôi là hàm của lớp dẫn xuất. “; } } lớp testClass mở rộng Đồ trang sức { hàm printMessage() { echo "Tôi là hàm của lớp dẫn xuất. “; } } $ob = new testClass; $ob->printMessage(); ?> Với từ khóa cuối cùng. (SẼ đưa ra một lỗi, để ngăn việc ghi đè phương thức) trang sức đẳng cấp { chức năng cuối cùng printMessage() { echo "Tôi là hàm của lớp dẫn xuất. “; } } lớp testClass mở rộng Đồ trang sức { hàm printMessage() { echo "Tôi là hàm của lớp dẫn xuất. “; } }
$ob = new testClass; $ob->printMessage(); ?> Khóa học Full Stack Web DeveloperĐể trở thành chuyên gia về MEAN Stack Xem khóa họcĐa kế thừa trong PHP bằng cách sử dụng Đặc điểm hoặc Giao diệnĐa thừa kế là kiểu thừa kế trong đó một lớp có thể kế thừa các thuộc tính của nhiều lớp cha. Trong kiểu kế thừa này, có một lớp dẫn xuất, được dẫn xuất từ nhiều lớp cơ sở. Đây là một trong những khái niệm quan trọng và hữu ích nhất được cung cấp trong mô hình hướng đối tượng và phục vụ mục đích mà bạn muốn một lớp kế thừa các loại thuộc tính khác nhau (nằm trong các lớp khác nhau). Ví dụ, hãy xem xét một lớp có tên là con vẹt. Bây giờ, vì một con vẹt là một con chim và nó cũng có thể là một con vật cưng hoặc đơn giản là một sinh vật sống, vì vậy, lớp con vẹt có thể phục vụ các thuộc tính khác nhau. Vì vậy, bằng cách sử dụng nhiều kế thừa, lớp vẹt có thể kế thừa các thuộc tính của cả ba lớp chim, thú cưng và sinh vật sống Nhiều ngôn ngữ lập trình không hỗ trợ đa kế thừa trực tiếp như Java và PHP. Tuy nhiên, PHP cung cấp một số cách để thực hiện đa kế thừa trong chương trình của bạn. Trong ngôn ngữ lập trình PHP, đa kế thừa đạt được bằng cách sử dụng hai cách
Các đặc điểm được sử dụng để giảm độ phức tạp của chương trình bằng cách viết các chức năng nhất quán có thể được sử dụng bởi các lớp khác trong chương trình. Một đặc điểm giống như một lớp, nó có thể có các chức năng cũng như các phương thức trừu tượng. Các chức năng được xác định trong một đặc điểm có thể được truy cập bởi các lớp khác trong chương trình PHP. Các đặc điểm có thể được sử dụng để triển khai khái niệm đa kế thừa trong PHP. cú pháp lớp dẫn xuất_class_name mở rộng cơ sở_class_name { sử dụng trait_name;
// hàm base_class } Chương trình sau minh họa việc sử dụng các đặc điểm để thực hiện đa kế thừa. // khai báo một lớp lớp Chim { chức năng công khai hiển thị() { echo "Tôi là một con chim," ; } } // khai báo một đặc điểm đặc điểm Thú cưng { chức năng công cộng show() { tiếng vang " một con vật cưng"; } } // khai báo lớp dẫn xuất lớp Con vẹt kéo dài Con chim { // từ khóa "used" để sử dụng đặc điểm sử dụng Pet; chức năng công khai msg() { echo ", và một con vẹt. “; } } // khai báo đối tượng của lớp dẫn xuất $test = con vẹt mới(); $test->display(); $test->show(); $test->msg(); ?>
Giao diện được sử dụng khi có các đối tượng có cùng chức năng nhưng bạn không muốn các đối tượng biết về nhau. Nói cách khác, một giao diện cung cấp các hợp đồng cho các đối tượng mà không cần biết bất cứ điều gì khác về nhau Các giao diện cũng có thể được sử dụng để thực hiện đa kế thừa trong PHP cú pháp // sử dụng từ khóa "triển khai" // để sử dụng giao diện lớp dẫn xuất_lớp mở rộng cơ sở_class thực hiện giao diện_name Chương trình sau minh họa việc sử dụng các giao diện để thực hiện đa kế thừa. // định nghĩa một lớp lớp Chim { hàm công khai insideBird() { tiếng vang "Tôi là con chim," ; } } // khai báo một giao diện giao diện Pet { chức năng công khai bên trongPet(); } // định nghĩa một lớp dẫn xuất // kế thừa từ lớp Bird // và triển khai giao diện Pet lớp Vẹt kéo dài Nông cụ Chim Cưng { hàm bên trongPet() { tiếng vang "và một con vật cưng," ; } chức năng công khai bên trongParrot() { echo "và một con vẹt. “; } } // tạo đối tượng của lớp dẫn xuất $obj = con vẹt mới(); $obj->insideBird(); $obj->insidePet(); $obj->insideParrot(); ?> Tầm quan trọng của tính kế thừa trong PHPBản thân tính kế thừa là một trong những khái niệm quan trọng nhất được giới thiệu trong lập trình hướng đối tượng. Sau đây là một số điểm chính nhấn mạnh tầm quan trọng của tính kế thừa trong PHP
Bạn có phải là nhà phát triển web hoặc quan tâm đến việc xây dựng một trang web? . Khám phá bản xem trước khóa học kết thúcTrong bài viết này, bạn đã học về thừa kế trong PHP. Bạn đã khám phá sâu về PHP và các khái niệm hướng đối tượng của nó. Bạn đã tìm hiểu sâu về cách sử dụng, loại, chế độ và tất cả các khái niệm quan trọng khác về thừa kế. Bài viết này đã thảo luận chi tiết về một số khái niệm liên quan khác như từ khóa cuối cùng, ghi đè phương thức, công cụ sửa đổi truy cập, v.v. Để bắt đầu với PHP khi mới bắt đầu, bạn có thể tham khảo video này. Tham gia khóa học trực tuyến Đào tạo PHP của chúng tôi để học PHP và xây dựng các ứng dụng động được hướng dẫn bởi các chuyên gia trong ngành. Nếu bạn là một chuyên gia PHP, bạn có thể đăng ký Khóa đào tạo phát triển PHP nâng cao của chúng tôi để nâng cao kỹ năng. Điều này sẽ cho phép bạn tìm hiểu các khái niệm PHP nâng cao như phiên, cookie, v.v. Không chỉ dừng lại ở đây. Để tìm hiểu cách phát triển MEAN stack và để bạn có cơ hội làm việc cho những gã khổng lồ công nghệ hàng đầu, hãy xem khóa học của chúng tôi về Full Stack Web Developer - MEAN Stack. Trong khóa học này, bạn sẽ học một số kỹ năng hot nhất như Node, Mongo, v.v. điều đó sẽ giúp bạn đặt chân vào phát triển web chuyên nghiệp. Để có danh sách đầy đủ các khóa học miễn phí do Simplilearn cung cấp, hãy truy cập Nếu bạn có bất kỳ câu hỏi nào cho chúng tôi, vui lòng đề cập đến chúng trong phần bình luận và chúng tôi sẽ có các chuyên gia của chúng tôi trả lời chúng cho bạn học tập vui vẻ Tìm Chương trình sau đại học của chúng tôi trong Chương trình đào tạo trực tuyến về phát triển web Full Stack tại các thành phố hàng đầuNameDatePlacePost Chương trình sau đại học trong Full Stack Web DevelopmentCohort bắt đầu vào ngày 2 tháng 2 năm 2023,Đợt cuối tuầnChi tiết CityView của bạnChương trình sau đại học về Phát triển Web Full Stack, SingaporeCohort bắt đầu vào ngày 16 tháng 2 năm 2023, Đợt cuối tuầnSingaporeXem chi tiếtChương trình sau đại học về Phát triển Web Full StackNhóm bắt đầu vào ngày 1 tháng 3 năm 2023, Lô hàng cuối tuầnChi tiết CityView của bạn Thông tin về các Tác giảđơn giảnSimplilearn là một trong những nhà cung cấp dịch vụ đào tạo trực tuyến hàng đầu thế giới về Tiếp thị kỹ thuật số, Điện toán đám mây, Quản lý dự án, Khoa học dữ liệu, CNTT, Phát triển phần mềm và nhiều công nghệ mới nổi khác Điều gì xảy ra nếu bạn cố gắng truy cập một phương thức riêng tư của lớp cha từ lớp con của nó?Hoàn toàn không có cách nào để thực hiện điều này . Bạn không thể gọi một phương thức riêng của một lớp từ bất kỳ lớp nào khác (có thể là lớp mở rộng). Nó chỉ có thể được truy cập bên trong chính lớp đó. Có một lý do nó được cho là riêng tư.
Chúng ta có thể truy cập các thành viên private của lớp cha trong lớp con không?Kế thừa có nghĩa là một đối tượng của lớp con tự động bao gồm các trường đối tượng và phương thức được định nghĩa trong lớp cha. Tuy nhiên, nếu các trường được kế thừa là riêng tư, thì lớp con không thể truy cập trực tiếp vào các trường được kế thừa bằng cách sử dụng ký hiệu dấu chấm
Tôi có thể truy cập phương thức lớp cha bằng đối tượng lớp con không?Nó có tất cả các biến thể hiện. Khía cạnh bất thường duy nhất là, trong các định nghĩa phương thức của lớp con, bạn không thể truy cập trực tiếp các biến thể hiện của lớp cha . Ví dụ: nếu cấp độ gốc có biến thể hiện chiều cao, định nghĩa phương thức của lớp con sẽ không thể truy cập trực tiếp vào biến này.
Phương pháp cha mẹ có thể là riêng tư?Đối với phản ánh. Có, có thể . |