Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में एक उप वर्ग चर को सुपर क्लास प्रकार में कैसे परिवर्तित करें?

विरासत दो वर्गों के बीच एक संबंध है जहां एक वर्ग दूसरे वर्ग के गुणों को प्राप्त करता है। इस संबंध को -

. के रूप में विस्तृत कीवर्ड का उपयोग करके परिभाषित किया जा सकता है

public class A extends B{

}

जिस वर्ग को गुण विरासत में मिलते हैं उसे उप वर्ग या बाल वर्ग के रूप में जाना जाता है और जिस वर्ग की संपत्ति विरासत में मिली है वह सुपर क्लास या मूल वर्ग है।

इनहेरिटेंस में सब क्लास ऑब्जेक्ट में सुपर क्लास के सदस्यों की एक कॉपी बनाई जाती है। इसलिए, उप-वर्ग ऑब्जेक्ट का उपयोग करके आप दोनों वर्गों के सदस्यों तक पहुंच सकते हैं।

उप-वर्ग चर को सुपर क्लास प्रकार में बदलना

आप सीधे एक उप-वर्ग चर (मान) को एक सुपर चर में निर्दिष्ट कर सकते हैं। संक्षेप में, सुपर क्लास रेफरेंस वेरिएबल सब क्लास ऑब्जेक्ट को होल्ड कर सकता है। लेकिन, इस संदर्भ का उपयोग करके आप केवल सुपर क्लास के सदस्यों तक पहुंच सकते हैं, यदि आप उप-वर्ग के सदस्यों तक पहुंचने का प्रयास करते हैं तो एक संकलन समय त्रुटि उत्पन्न होगी।

उदाहरण

class Person{
   public String name;
   public int age;
   public Person(String name, int age){
      this.name = name;
      this.age = age;
   }
   public void displayPerson() {
      System.out.println("Data of the Person class: ");
      System.out.println("Name: "+this.name);
      System.out.println("Age: "+this.age);
   }
}
public class Sample extends Person {
   public String branch;
   public int Student_id;
   public Sample(String name, int age, String branch, int Student_id){
   super(name, age);
      this.branch = branch;
      this.Student_id = Student_id;
   }
   public void displayStudent() {
      System.out.println("Data of the Student class: ");
      System.out.println("Name: "+super.name);
      System.out.println("Age: "+super.age);
      System.out.println("Branch: "+this.branch);
      System.out.println("Student ID: "+this.Student_id);
   }
   public static void main(String[] args) {        
      Person person = new Person("Krishna", 20);      
      //Converting super class variable to sub class type
      Sample sample = new Sample("Krishna", 20, "IT", 1256);      
      person = sample;
      person.displayPerson();
   }
}

आउटपुट

Data of the Person class:
Name: Krishna
Age: 20

उदाहरण

class Super{
   public Super(){
      System.out.println("Constructor of the Super class");
   }
   public void superMethod() {
      System.out.println("Method of the super class ");
   }
}
public class Test extends Super {
   public Test(){
      System.out.println("Constructor of the sub class");
   }
   public void subMethod() {
      System.out.println("Method of the sub class ");
   }
   public static void main(String[] args) {        
      Super obj = new Test();  
      obj.superMethod();
   }
}

आउटपुट

Constructor of the Super class
Constructor of the sub class
Method of the super class

  1. जावा में सुपर क्लास वेरिएबल को सब क्लास टाइप में कैसे बदलें?

    विरासत दो वर्गों के बीच एक संबंध है जहां एक वर्ग दूसरे वर्ग के गुणों को प्राप्त करता है। इस संबंध को - . के रूप में विस्तृत कीवर्ड का उपयोग करके परिभाषित किया जा सकता है public class A extends B{} जिस वर्ग को गुण विरासत में मिलते हैं उसे उप वर्ग या बाल वर्ग के रूप में जाना जाता है और जिस वर्ग की स

  1. प्रारूप विधि का उपयोग करके एक डबल मान को जावा स्ट्रिंग में कैसे परिवर्तित करें?

    यह विधि एक प्रारूप स्ट्रिंग और तर्क (varargs) को स्वीकार करती है और निर्दिष्ट प्रारूप में दिए गए चर (ओं) का एक स्ट्रिंग ऑब्जेक्ट लौटाती है। आप प्रारूप () विधि का उपयोग करके एक डबल मान को स्ट्रिंग में प्रारूपित कर सकते हैं। इसके लिए “%f” . पास करें प्रारूप स्ट्रिंग के रूप में (आवश्यक दोहरे मान के सा

  1. जावा का उपयोग करके आदिम डेटा को रैपर वर्ग में कैसे परिवर्तित करें?

    जावा java.lang पैकेज में रैपर क्लास नामक कुछ कक्षाएं प्रदान करता है। इन वर्गों की वस्तुएं उनके भीतर आदिम डेटाटाइप लपेटती हैं। रैपर वर्गों का उपयोग करके, आप विभिन्न संग्रह वस्तुओं जैसे ArrayList, HashMap आदि में आदिम डेटाटाइप भी जोड़ सकते हैं। आप आवरण वर्गों का उपयोग करके नेटवर्क पर आदिम मान भी पास