Sự khác biệt giữa Phương pháp Ghi đè và Ghi đè là gì?



Bài viết này trình bày những điểm khác biệt chính giữa nạp chồng phương thức và ghi đè trong java với nhiều ví dụ khác nhau bao gồm từ khóa siêu và các quy tắc khác nhau.

Ngôn ngữ lập trình Java là sự lựa chọn tốt nhất khi nói đến . Với những khái niệm như các lớp học , , , v.v., nó trở nên cực kỳ dễ làm việc với . Dễ dàng truy cập và cú pháp dễ dàng làm cho mã hiệu quả và ít phức tạp hơn. Trong bài này, chúng ta sẽ tìm hiểu về tính năng nạp chồng và ghi đè phương thức trong Java. Sau đây là các chủ đề được thảo luận trong blog này:

Nạp chồng phương thức trong Java là gì?

Nạp chồng phương thức cho phép phương thức có cùng tên khác nhau trên cơ sở đối số hoặc kiểu đối số. Nó có thể liên quan đến tính đa hình thời gian biên dịch. Sau đây là một số lưu ý mà chúng ta phải ghi nhớ khi nạp chồng các phương thức trong Java.





  • Chúng ta không thể quá tải một kiểu trả về.

  • Mặc dù chúng ta có thể quá tải , các đối số hoặc tham số đầu vào phải khác nhau.



  • Chúng tôi không thể quá tải hai phương thức nếu chúng chỉ khác nhau bởi một từ khóa tĩnh.

  • Giống như các phương thức tĩnh khác, phương thức main () cũng có thể được nạp chồng.

nạp chồng phương thức - nạp chồng và ghi đè phương thức trong java- edureka



Hãy cùng xem một chương trình đơn giản để hiểu cách hoạt động của tính năng nạp chồng phương thức trong python.

public class Div {public int div (int a, int b) {return (a / b)} public int div (int a, int b, int c) {return ((a + b) / c)} public static void main (Chuỗi args []) {Div ob = new Div () ob.div (10, 2) ob.div (10, 2, 3)}}
 Đầu ra: 5 4

Trong chương trình trên, chúng ta có hai phương thức trùng tên nhưng khác tham số. Đây là cách hoạt động của phương thức nạp chồng trong .

Tại sao quá tải phương pháp?

Ưu điểm chính của việc sử dụng phương thức nạp chồng trong Java là nó cho phép chúng ta tự do không phải định nghĩa lại một hàm để thực hiện cùng một việc. Trong ví dụ dưới đây, hai phương thức về cơ bản là thực hiện phép chia, vì vậy chúng ta có thể có các phương thức khác nhau có cùng tên nhưng có tham số khác nhau. Nó cũng giúp đa hình thời gian biên dịch.

Ghi đè phương thức main ():

cách chấm dứt chương trình java

Sau đây là một ví dụ để nạp chồng phương thức main () trong java.

public class Edureka {public static void main (String [] args) {System.out.println ('hello') Edureka.main ('edurekan')} public static void main (String arg1) {System.out.println (' welcome '+ arg1) Edureka.main (' welcome ',' to edureka ')} public static void main (String arg1, String arg2) {System.out.println (' hello ', + arg1, + arg2)}}
 Đầu ra: xin chào chào mừng edurekan xin chào, chào mừng đến với edureka

Ví dụ về quá tải phương thức

  • Chương trình nạp chồng các phương thức tĩnh trong java.
public class Test {public static int func (int a) {return 100} public static char func (int a, int b) {return 'edureka'} public static void main (String args []) {System.out.println ( func (1)) System.out.println (func (1,3))}}
 Đầu ra: 100 edureka
  • Chương trình nạp chồng ba phương thức có cùng tên.
public class Add {public int add (int a, int b) {return (a + b)} public int add (int a, int b, int c) {return (a + b + c)} public double add (double a, double b) {return (a + b)} public static void main (String args []) {Add ob = new Add () ob.add (15,25) ob.add (15,25,35) ob .add (11.5, 22.5)}}
 Đầu ra: 40 75 34

Ghi đè phương thức trong Java là gì?

Kế thừa trong java liên quan đến mối quan hệ giữa các lớp cha và con. Bất cứ khi nào cả hai lớp chứa các phương thức có cùng tên và các đối số hoặc tham số thì chắc chắn rằng một trong các phương thức sẽ ghi đè phương thức kia trong quá trình thực thi. Phương thức sẽ được thực thi tùy thuộc vào đối tượng.

Nếu đối tượng lớp con gọi phương thức, phương thức lớp con sẽ ghi đè phương thức lớp cha. Ngược lại, nếu đối tượng lớp cha gọi phương thức, phương thức lớp cha sẽ được thực thi.

Ghi đè phương thức cũng giúp thực hiện đa hình thời gian chạy trong java. Hãy lấy một ví dụ đơn giản để hiểu cách ghi đè phương thức hoạt động trong java.

class Parent {void view () {System.out.println ('đây là phương thức của lớp cha)}} class Con mở rộng Parent {void view () {System.out.println (' đây là phương thức của lớp con)}} public static void main (String args []) {Parent ob = new Parent () ob.view () Parent ob1 = new Child () ob1.view ()
 Đầu ra: đây là một phương pháp lớp con

Quy tắc ghi đè phương pháp

  • Các truy cập chỉnh sửa chỉ có thể cho phép nhiều quyền truy cập hơn đối với phương thức được ghi đè.

    cách cài đặt php 7 trên windows 10
  • ĐẾN sau cùng phương thức không hỗ trợ ghi đè phương thức.

  • Một phương thức tĩnh không thể được ghi đè.

  • Không thể ghi đè các phương thức riêng tư.

  • Kiểu trả về của phương thức ghi đè phải giống nhau.

  • Chúng ta có thể gọi phương thức lớp cha trong phương thức ghi đè bằng cách sử dụng từ khóa super.

  • ĐẾN người xây dựng không thể bị ghi đè vì lớp con và lớp cha không thể có hàm tạo trùng tên.

Ví dụ về ghi đè phương pháp

  • Chương trình hiển thị ghi đè bằng cách sử dụng từ khóa siêu
class Parent {void show () {System.out.println ('parent class method')} class Con mở rộng Parent {void show () {super.show () System.out.println ('child class method')} public static void main (String args []) {Parent ob = new Child () ob.show ()}}
 Đầu ra: phương pháp lớp cha phương pháp lớp con

Quá tải so với Ghi đè: Sự khác biệt giữa Ghi đè phương thức và Ghi đè phương thức

Sau đây là sự khác biệt chính giữa nạp chồng phương thức và ghi đè trong Java.

Quá tải phương thức Ghi đè phương pháp
  • Nó được sử dụng để tăng khả năng đọc của chương trình
  • Cung cấp một triển khai cụ thể của phương thức đã có trong lớp cha
  • Nó được thực hiện trong cùng một lớp
  • Nó liên quan đến nhiều lớp
  • Các thông số phải khác nhau trong trường hợp quá tải
  • Các thông số phải giống nhau trong trường hợp ghi đè
  • Là một ví dụ về tính đa hình thời gian biên dịch
  • Nó là một ví dụ về tính đa hình thời gian chạy
  • Kiểu trả về có thể khác nhưng bạn cũng phải thay đổi các thông số.
  • Loại trả lại phải giống nhau khi ghi đè
  • Phương thức tĩnh có thể được nạp chồng
  • Ghi đè không liên quan đến các phương thức tĩnh.

Trong blog này, chúng ta đã thảo luận chi tiết về việc nạp chồng phương thức và ghi đè phương thức. Với sự tham gia của các lớp, đối tượng và các khái niệm như kế thừa và đa hình, việc hiểu rõ ý nghĩa của việc nạp chồng hoặc ghi đè các phương thức trong java là khá quan trọng.

Ngôn ngữ lập trình Java là một đỉnh cao trong lập trình hướng đối tượng và kết hợp rất nhiều ứng dụng. Với nhu cầu và sự phổ biến, một nhà phát triển java tham vọng phải thành thạo các khái niệm cơ bản của ngôn ngữ lập trình. Đăng ký Edureka's để bắt đầu việc học của bạn.

Có một câu hỏi cho chúng tôi? vui lòng đề cập đến vấn đề này trong phần nhận xét của bài viết này về “quá tải phương thức so với ghi đè phương thức trong java” và chúng tôi sẽ liên hệ lại với bạn sớm nhất có thể.