मुझे अपने बिंदुओं से थोड़ी अधिक जानकारी की आवश्यकता है, इसलिए मैंने सोचा कि मैं एक पिछला एक्स जोड़ूंगा, पिछली बार ताकि मैं डेल्टाएक्स और डेल्टा प्राप्त कर सकूं। अब, अगर मैं एक सरल आत्मनिर्भर वर्ग बना देता हूं तो यह ठीक काम करता है।मैं एएस 3 प्वाइंट क्लास को सही तरीके से कैसे बढ़ा सकता हूं?
मुझे लगता है कि, हालांकि, मैं अन्य कार्यों और गणनाओं से लाभ प्राप्त करने के लिए flash.geom.Point क्लास का विस्तार करना चाहता हूं।
तो मैंने प्वाइंट बढ़ाया और मुझे आवश्यकतानुसार एक्स और वाई सेटर्स को संशोधित किया। जब मैं संकलित करता हूं, तो मुझे एक त्रुटि मिलती है कि इन सेटर्स को ओवरराइड के लिए चिह्नित नहीं किया जाना चाहिए। तो मैं ओवरराइड करता हूं, लेकिन फिर मुझे एक त्रुटि मिलती है जो कहती है कि ये किसी भी फ़ंक्शन को ओवरराइड नहीं करते हैं।
कोई सुराग जहां मैंने खराब किया?
यहाँ वर्ग है:
package net.jansensan.geom
{
import flash.geom.Point;
/**
* @author Mat Janson Blanchet
*/
public class UpdatablePoint extends Point
{
private var _previousX : Number = 0;
private var _previousY : Number = 0;
private var _deltaX : Number = 0;
private var _deltaY : Number = 0;
// ********************************************************************
// [ PUBLIC METHODS ]
// ********************************************************************
public function UpdatablePoint(x:Number=0, y:Number=0)
{
super(x, y);
}
override public function toString():String
{
return "(x=" + super.x + ", y=" + super.y + ", previousX=" +
_previousX + ", previousY=" + _previousY + ", deltaX=" +
_deltaX + ", deltaY=" + _deltaY + ")";
}
// ********************************************************************
// [ GETTERS/SETTERS ]
// ********************************************************************
override public function set x(x:Number):void
{
_previousX = super.x;
super.x = x;
_deltaX = super.x - _previousX;
}
override public function set y(y:Number):void
{
_previousY = super.y;
super.y = y;
_deltaY = super.y - _previousY;
}
public function get previousX():Number
{
return _previousX;
}
public function get previousY():Number
{
return _previousY;
}
public function get deltaX():Number
{
return _deltaX;
}
public function get deltaY():Number
{
return _deltaY;
}
}
}
क्या आप दोनों मामलों में त्रुटियों का सटीक पाठ शामिल कर सकते हैं? 'ओवरराइड' कथन के साथ और बिना। आप एक अतिरिक्त समारोह ओवरराइड कर सकते हैं। – lunixbochs