Quá tải và ghi đè PHP
Phương pháp lập trình hướng đối tượng, thường được viết tắt là OOPS, là nền tảng của tất cả các ngôn ngữ lập trình hiện đại. Các ngôn ngữ này tuân thủ và triển khai các khái niệm về lập trình hướng đối tượng với rất ít loại trừ. Hai trong số các khái niệm đó rất quan trọng - nạp chồng phương thức và ghi đè phương thức Show
Quá tải phương thức là gì? Nạp chồng phương thức là khái niệm định nghĩa hai hoặc nhiều phương thức có cùng tên nhưng chữ ký khác nhau. Một trong hai phương thức này được gọi dựa trên số lượng tham số được truyền Ghi đè phương thức là gì? Bắt đầu khóa học phát triển phần mềm miễn phí của bạn Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác Ghi đè phương thức là khái niệm xác định hai hoặc nhiều phương thức giống hệt nhau, có cùng tên và chữ ký. Một trong hai phương pháp này được gọi dựa trên đối tượng gọi Gói phát triển phần mềm tất cả trong một(hơn 600 khóa học, hơn 50 dự án) Giá bán Hơn 600 khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập trọn đời So sánh trực tiếp giữa nạp chồng phương thức và ghi đè phương thức (Infographics)Dưới đây là 10 điểm khác biệt hàng đầu giữa Nạp chồng Phương thức và Ghi đè Phương thức Sự khác biệt chính giữa Nạp chồng phương thức và Ghi đè phương thứcSau đây là những điểm khác biệt chính giữa Nạp chồng phương thức và Ghi đè phương thức
Bảng so sánh nạp chồng phương thức và ghi đè phương thứcDưới đây là bảng so sánh cho thấy sự tương đồng giữa Nạp chồng Phương thức và Ghi đè Phương thức Cơ sở so sánh giữa Method Overloading và Method OverridingMethod OverloadingMethod OverridingDefinitionMethod Overloading là khái niệm định nghĩa hai hoặc nhiều phương thức có cùng tên nhưng khác chữ ký. Ghi đè phương thức là khái niệm xác định hai hoặc nhiều phương thức giống hệt nhau, có cùng tên và chữ ký. Thời gian biên dịch ràng buộc phương thức. Việc ràng buộc các định nghĩa phương thức quá tải với các lệnh gọi phương thức tương ứng được thực hiện tại thời điểm biên dịch. Thời gian chạy. Việc ràng buộc các định nghĩa phương thức bị ghi đè với các lệnh gọi phương thức của chúng được thực hiện trong thời gian chạy. Loại liên kết phương thức Liên kết tĩnh Liên kết động Hạn chế lớp Nạp chồng phương thức có thể đạt được trong cùng một lớp hoặc trong các lớp khác nhau. Không hạn chế. Ghi đè phương thức đạt được trong các lớp khác nhau. Các lớp này có quan hệ cha-con. Hạn chế chữ ký Các phương thức quá tải phải khác nhau về chữ ký của chúng. Số lượng tham số hoặc loại tham số hoặc thứ tự tham số phải khác nhau. Các phương thức bị ghi đè có thể có cùng chữ ký, không hạn chế. Hạn chế phương thức tĩnh Phương thức tĩnh có thể bị quá tải. Điều này cho phép một lớp có nhiều hơn một phương thức tĩnh có cùng tên nhưng chữ ký khác nhau. Phương pháp tĩnh không thể được ghi đè. Nếu một lớp con có một phương thức tĩnh có cùng tên và chữ ký với lớp cha, thì nó được coi là một phương thức riêng biệt và không ghi đè lên phương thức của lớp cha. Kiểu trả về của phương thứcKiểu trả về của các phương thức quá tải không quan trọng. Các phương thức bị quá tải có thể có hoặc không có cùng kiểu trả về. Tuy nhiên, các phương thức có cùng tên và chữ ký nhưng chỉ khác nhau về kiểu trả về không thể bị quá tải. Các phương thức bị ghi đè có thể có các kiểu trả về cụ thể hơn. Một phương thức của lớp cha có thể trả về một đối tượng của lớp cha và một phương thức của lớp con, ghi đè phương thức của lớp cha, có thể trả về một đối tượng của lớp con. Sử dụng quá tải được thực hiện để triển khai các logic phương thức khác nhau trong khi vẫn giữ nguyên tên phương thức. Nó chủ yếu được thực hiện để viết một triển khai cụ thể của một phương thức được kế thừa từ lớp cha. Lợi íchTăng khả năng đọc chương trìnhTăng khả năng sử dụng lại mã. Giúp viết logic mã để xử lý các tình huống cụ thể bằng cách chuyển mã thông thường. Liên quan Khái niệm OOPS Kết hợp chặt chẽ với tính đa hình. Cùng một phương thức có thể thực hiện các hành động khác nhau dựa trên sự khác biệt về tham số. Đan chặt chẽ với một thừa kế. Một lớp con có thể đi chệch khỏi logic cha để xử lý một kịch bản cụ thể trong khi vẫn kế thừa các kịch bản khác Ví dụ về Nạp chồng Phương thức và Ghi đè Phương thức trong JavaSau đây là các ví dụ về Nạp chồng phương thức và Ghi đè phương thức trong Java Ví dụ 1Mã số
đầu ra Ví dụ #2Mã số
đầu ra Ví dụ về trường hợp sử dụng nghiệp vụGiả sử bạn cần triển khai ứng dụng thanh toán cho một doanh nghiệp chấp nhận tất cả các loại thẻ, ngân hàng trực tuyến, ví thanh toán, v.v. Bây giờ, bạn có hai cách để thực hiện điều này
Không phải là cách thứ hai sạch hơn? Hãy tiến thêm một bước để hiểu ghi đè. Hiện nay có rất nhiều nhà cung cấp dịch vụ thẻ như VISA, MasterCard, AmericanExpress, Rupay, v.v. Giả sử tất cả đều sử dụng một cổng thanh toán chung ngoại trừ Rupay có cổng thanh toán riêng. Bây giờ bạn sẽ viết một lớp cha chứa định nghĩa phương thức để chấp nhận thanh toán qua cổng thanh toán chung. Lớp con của Rupay sẽ kế thừa tất cả các tính năng của lớp cha và chỉ ghi đè lên một tính năng - phương thức cổng thanh toán. Rốt cuộc, lớp con chỉ khác nhau ở phương thức cổng thanh toán. Tất cả các tính năng khác, chẳng hạn như số thẻ, mã thông báo bảo mật, v.v. , giống nhau Phần kết luậnNhư vậy, chúng ta đã biết được sự khác biệt cơ bản giữa hai khái niệm cơ bản nhất trong lập trình hướng đối tượng là Overloading và Overriding. Chúng tôi đã viết một ví dụ cơ bản và hiểu một kịch bản kinh doanh thực tế trong đó có thể triển khai quá tải và ghi đè. Cả hai khái niệm đều dễ hiểu về mặt lý thuyết nhưng cần thực hành để áp dụng trong các tình huống thực tế. Do đó, rất nên tạo thói quen sử dụng quá tải và ghi đè càng nhiều càng tốt trong các chương trình của bạn. Điều này sẽ giúp bạn rất nhiều trong việc nắm bắt nó Bài viết được đề xuấtĐây là hướng dẫn về Sự khác biệt giữa Nạp chồng Phương thức và Ghi đè Phương thức. Ở đây chúng tôi thảo luận về Sự khác biệt quan trọng hàng đầu giữa Quá tải và Ghi đè bằng đồ họa thông tin và ví dụ. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm – Sự khác biệt giữa ghi đè và quá tải trong PHP là gì?Nạp chồng và ghi đè hàm là tính năng OOP trong PHP. Trong nạp chồng hàm, nhiều hàm có thể có cùng chữ ký phương thức nhưng số lượng đối số khác nhau. Nhưng trong trường hợp ghi đè hàm, nhiều hàm sẽ có cùng chữ ký phương thức và số lượng đối số
PHP có quá tải không?Nạp chồng ¶ Nạp chồng trong PHP cung cấp phương tiện để tự động tạo các thuộc tính và phương thức. Các thực thể động này được xử lý thông qua các phương thức ma thuật mà người ta có thể thiết lập trong một lớp cho các loại hành động khác nhau
Tại sao PHP không hỗ trợ quá tải?Bạn không thể quá tải các hàm PHP. Chữ ký hàm chỉ dựa trên tên của chúng và không bao gồm danh sách đối số, vì vậy bạn không thể có hai hàm có cùng tên . Quá tải phương thức lớp trong PHP khác với nhiều ngôn ngữ khác. PHP sử dụng cùng một từ nhưng nó mô tả một mẫu khác.
Ghi đè trong PHP là gì?Ghi đè hàm trong PHP
|