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

क्या हम जावा में एक अमूर्त वर्ग का ऑब्जेक्ट बना सकते हैं?

नहीं, हम एक अमूर्त वर्ग की वस्तु नहीं बना सकते। लेकिन हम एक अमूर्त वर्ग का संदर्भ चर बना सकते हैं। संदर्भ चर का उपयोग व्युत्पन्न वर्गों (सार वर्ग के उपवर्ग) की वस्तुओं को संदर्भित करने के लिए किया जाता है।

एक अमूर्त वर्ग का अर्थ है कार्यान्वयन को छिपाना और उपयोगकर्ता को फ़ंक्शन परिभाषा दिखाना सार वर्ग के रूप में जाना जाता है। एक जावा अमूर्त वर्ग में उदाहरण विधियां हो सकती हैं जो एक डिफ़ॉल्ट व्यवहार को लागू करती हैं यदि हम आवश्यकता को जानते हैं और आंशिक रूप से कार्यान्वयन करते हैं तो हम एक अमूर्त वर्ग के लिए जा सकते हैं।

उदाहरण

abstract class Diagram {
   double dim1;
   double dim2;
   Diagram(double a, double b) {
      dim1 = a;
      dim2 = b;
   }
      // area is now an abstract method
      abstract double area();
}
class Rectangle extends Diagram {
   Rectangle(double a, double b) {
      super(a, b);
   }
   // override area for rectangle
   double area() {
      System.out.println("Inside Area for Rectangle.");
      return dim1 * dim2;
   }
}
class Triangle extends Diagram {
   Triangle(double a, double b) {
      super(a, b);
   }
   // override area for triangle
   double area() {
      System.out.println("Inside Area for Triangle.");
      return dim1 * dim2 / 2;
   }
}
public class Test {
   public static void main(String args[]) {
      // Diagram d = new Diagram(10, 10); // illegal now
      Rectangle r = new Rectangle(9, 5);
      Triangle t = new Triangle(10, 8);
      Diagram diagRef; // This is OK, no object is created
      diagRef = r;
      System.out.println("Area of Rectangle is: " + diagRef.area());
      diagRef = t;
      System.out.println("Area of Triangle is:" + diagRef.area());
   }
}

उपरोक्त उदाहरण में, हम डायग्राम टाइप का ऑब्जेक्ट नहीं बना सकते हैं लेकिन हम डायग्राम टाइप का रेफरेंस वेरिएबल बना सकते हैं। यहां हमने डायग्राम टाइप का एक रेफरेंस वेरिएबल बनाया है और डायग्राम क्लास रेफरेंस वेरिएबल का इस्तेमाल क्लास रेक्टेंगल और ट्रायंगल की ऑब्जेक्ट्स को रेफर करने के लिए किया जाता है।

आउटपुट

Inside Area for Rectangle.
Area of Rectangle is: 45.0
Inside Area for Triangle.
Area of Triangle is:40.0

  1. क्या एनम जावा में किसी भी वर्ग का विस्तार कर सकता है?

    जावा में एन्यूमरेशन (एनम) एक डेटाटाइप है जो स्थिर मूल्यों का एक सेट संग्रहीत करता है। आप निश्चित मानों जैसे सप्ताह में दिन, वर्ष में महीने आदि को संग्रहीत करने के लिए गणनाओं का उपयोग कर सकते हैं। आप एनम कीवर्ड का उपयोग करके एक एन्यूमरेशन को परिभाषित कर सकते हैं, उसके बाद एन्यूमरेशन के नाम के रूप मे

  1. जावा में सार वर्ग

    जिस वर्ग की घोषणा में सार कीवर्ड होता है उसे अमूर्त वर्ग के रूप में जाना जाता है। एब्स्ट्रैक्ट क्लासेस में एब्सट्रैक्ट मेथड्स हो भी सकते हैं या नहीं भी हो सकते हैं, यानी बॉडी के बिना मेथड्स ( public void get(); ) लेकिन, यदि किसी वर्ग में कम से कम एक सार विधि है, तो कक्षा को सार घोषित किया जाना चाहि

  1. मैं JSON ऑब्जेक्ट से पायथन क्लास कैसे बना सकता हूं?

    हम python-jsonschema-objects का उपयोग कर सकते हैं जो jsonschema के शीर्ष पर बनाया गया है। python-jsonschema-objects Python में उपयोग के लिए JSON स्कीमा के लिए एक स्वचालित वर्ग-आधारित बाइंडिंग प्रदान करता है। हमारे पास एक नमूना जोंस स्कीमा इस प्रकार है schema = '''{     "ti