Method Overriding in Java
Method Overriding in Java: किसी Super Class में किसी Method का जो Signature होता है, उसी Signature का Method जब हम Sub Class में Create करते हैं, तो इस प्रक्रिया को Method Overriding कहा जाता है। जबकि Super Class व Sub Class दोनों में ही Method का नाम समान हो, लेकिन उनके Signature में अन्तर हो, तो फिर चाहे ये Methods Super Class में हों चाहे Sub Class में ऐसे Methods Overloaded Methods कहलाते हैं और इस प्रक्रिया को Method Overloading कहा जाता है। Method Overloading के बारे में हम पिछले अध्याय में पढ चुके हैं। इस अध्याय में हम Method Overriding के बारे में जानेंगे।
Rules for method overriding
- एक declared final method को override नहीं किया जा सकता।
- Java में, एक method केवल sub-class में लिखी जा सकती है, class में नहीं।
- तर्क सूची उस class की override method के समान होगी।
- किसी भी तरीके को जो स्थिर है override करने के लिए उपयोग नहीं किया जा सकता है।
- यदि किसी method को inheritance में नहीं लिया जा सकता है, तो इसे override नहीं किया जा सकता है।
- Constructors override नहीं किए जा सकते है।
जावा method overriding का क्या उपयोग होता है आइये देखतें है −
- Method overriding का उपयोग रन टाइम polymorphism के लिए किया जाता है।
- Method overriding का उपयोग एक Method के specific implementation प्रदान करने के लिए किया जाता है जो पहले से ही इसके superclass द्वारा प्रदान किया जाता है।
// example:
class Employee { private int ID; private String name; public void setData(int empID, String empName) { ID = empID; name = empName; } public void showData() { System.out.println("\tName : " + name); System.out.println("\tID : " + ID); } } class Scientist extends Employee { private float salary; public void setData(int empID, String empName, float sciSalary) { super.setData(empID, empName); salary = sciSalary; } public void showData() { super.showData(); System.out.println("\tSalary : " + salary); } } class InheritanceDemo { public static void main(String args[]) { Employee you = new Employee(); Scientist me = new Scientist(); you.setData(5000, "IDP"); me.setData(7000, "Ajay", 20000); System.out.println("Your Information"); you.showData(); System.out.println("\nMy Information"); me.showData(); } // Output Your Information Name : IDP ID : 5000 My Information Name : Ajay ID : 7000 Salary : 20000.0
Comments
Post a Comment