Mari kita lihat dahulu apa yang dicadangkan oleh nama itu pada pandangan pertama. "Melebihi muatan" bermaksud: meletakkan sedikit beban tambahan pada fungsi asal sesiapa sahaja, bukan? Sementara itu, "Mengatasi" bermaksud menyediakan kefungsian baharu sebagai tambahan kepada kefungsian asal sesiapa sahaja. Dalam artikel ini, kita akan melihat Overloading dan Overriding dalam Java secara terperinci. Ya, melaksanakan ini secara pemrograman di Jawa mengikut pendekatan yang sama. Mari kita lihat mereka satu persatu.
Apabila kelas java mempunyai berbilang kaedah dengan nama yang sama tetapi dengan hujah yang berbeza, kami memanggilnya Method Overloading. Dengan mengekalkan nama yang sama, kami hanya meningkatkan kebolehbacaan kod program. Sebagai contoh, katakan kita perlu melakukan beberapa operasi tambah pada beberapa nombor tertentu. Katakan nama kaedah kami ialah "tambahan()". Di sini, penambahan boleh dilakukan antara dua, tiga, atau lebih. Oleh itu, bergantung pada bilangan nombor yang akan terlibat dalam operasi tambahan, kita boleh menukar argumen (atau parameter) fungsi. Tetapi, sebaliknya, jika anda menulis kaedah yang berbeza untuk bilangan hujah yang berbeza, sukar untuk dikenali kerana nama itu berbeza. Oleh itu, dengan lebihan beban, kami mencapai kebolehbacaan kod kami yang lebih baik. Jadi sekarang persoalannya, bagaimana kita akan mencapai lebihan beban?
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Mari kita lihat satu persatu dengan kod contoh.
Jadi di sini, kami akan melakukan operasi tambahan pada beberapa nombor. Untuk ini, mari kita buat kelas yang dipanggil "Operasi Tambahan". Di dalam kelas itu, mari kita mempunyai dua kaedah bernama "tambahan()". Dalam salah satu kaedah tersebut, kami akan menambah dua nombor. Dalam yang lain, kami akan menambah tiga nombor. Kami akan mencapai ini dengan menukar bilangan parameter dalam kaedah tersebut, tetapi kami akan mengekalkan nama yang sama. Dengan cara ini, kami membebankan kaedah “tambahan()” di sini.
Kod:
public class AdditionOperation { static int addition(int num1,int num2){return num1+num2;} //function declarationand definition for addition of two numbers static int addition(int num1,int num2,int num3){return num1+num2+num3;} //function declarationand definition for addition of three numbers public static void main(String args[]) { system.out.printin(addition(35,36)); //method overloading system.out.printin(addition(35,36,37)); //method overloading, we are calling same methods but for different number of arguments. } }
Output:
Di sini, kami akan melakukan operasi tambah pada jenis yang berbeza, contohnya, antara jenis integer dan dua jenis. Untuk ini, mari kita buat kelas yang dipanggil "Operasi Tambahan". Di dalam kelas itu, mari kita mempunyai dua kaedah bernama "tambahan()". Dalam salah satu kaedah tersebut, kami akan menambah dua integer. Dalam yang lain, kami akan menambah dua beregu. Kami akan mencapai ini dengan menukar jenis parameter dalam kaedah tersebut, tetapi kami akan mengekalkan nama yang sama. Dengan cara ini, kami membebankan kaedah “tambahan()” di sini.
Kod:
public class additionOperation { static int addition(int num1,int num2){return num1+num2;} //function declarationand definition for addition of two numbers static double addition(double num1,num2){return num1+num2;} //function declarationand definition for addition of three numbers public static void main(String args[]) { system.out.printin(addition(35,36)); //method overloading system.out.printin(addition(35.5,36.6)); //method overloading, we are calling same methods but for different type of arguments. } }
Output:
Mata yang Perlu Diperhatikan kerana Lebih Muatan
Code:
//Parent or Super class class Parent { public void display() { system.out.printin("Hello, I am from parent class"); } } //Child or sub class class Sub extends Parent { //Below method overrides the Parent display() method // @override public void display() { system.out.printin("Hello, I am from child class"); } } //Driver class public class Overriding { public static void main?(String args[]) { Parent superObject = new Parent (); superObject.display(); // Super class method is called Parent subObject = new Sub(); subObject.display(); //Child class method is called by a parent type reference: this is functionality of method overriding Sub subObject2 = new Sub(); //Child class method is called by a child type reference subObject2.display(); } }
Output:
Limitations in method Overriding:
Points to be Noted for Overriding
This concludes our learning of the topic “Overloading and Overriding in Java”. Write the codes mentioned above in the java compiler and check the output. Learning codes will be incomplete if you do not do hands-on by yourself, enhancing your coding skills. Happy coding!!
Atas ialah kandungan terperinci Overloading dan Overriding dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!