में "सुपरक्लास" कन्स्ट्रक्टर को आमंत्रित करें, मैं अभी जावास्क्रिप्ट में आया हूं और मैं अपने ऑब्जेक्ट उन्मुख व्यवहार से परेशान हूं। मैं सिर्फ x
, y
सदस्यों के साथ एक वर्ग Point2D
बना सकते हैं और x
, y
, z
सदस्यों के साथ एक Point3D
वर्ग के साथ यह विस्तार करने के लिए कोशिश कर रहा था।जावास्क्रिप्ट
class Point2D
{
int x, y;
public Point2D(int x, int y) { this.x = x; this.y = y; }
}
class Point3D : Point2D
{
int z;
public Point3D(int x, int y, int z) : base(x, y) { this.z = z; }
}
मैं सामान का एक बहुत पढ़ा है, लेकिन मैं वास्तव में लगता है मैं क्या देख रहा हूँ नहीं है: व्यवहार मैं प्राप्त करने के लिए कोशिश कर रहा हूँ की तरह है, चलो यह कहना सी # में जाने कुछ है। यहाँ क्या मैं अब तक के लिए आए हैं:
function Point2D(x, y) { this.x = x; this.y = y; }
Point2D.prototype.constructor = Point2D;
function Point3D(x, y, z) { Point2D.prototype.constructor.call(this); this.z = z; }
Point3D.prototype = new A(); // see latter explanation
Point3D.prototype.constructor = B;
var p = new Point3D(10, 20, 30);
कौन सा स्पष्ट रूप से गलत है।
अब, मैं जानता हूँ कि मैं Point3D.prototype = new A(x, y)
की तरह कुछ करना चाहिए, लेकिन मैं तयx
, y
निर्देशांक और चर z
के साथ एक प्रोटोटाइप बनाने के लिए नहीं करना चाहती। यह बहुत आसान होना चाहिए, लेकिन मुझे यह नहीं मिल रहा है, मैं सुपरक्लास कन्स्ट्रक्टर को कॉल करने या इसे ठीक से व्यवहार करने के लिए प्रतीत नहीं कर सकता।
आपको बहुत धन्यवाद, मैं पागल हो रहा था और यह इतना आसान था! मैं निश्चित रूप से उन पुस्तकों में से कम से कम एक को पढ़ूंगा। – Cancer