में सार्वजनिक, स्थैतिक फ़ंक्शन को कॉल करना मुझे लगता है कि यह प्रश्न भाषा-गीक्स की ओर अधिक है।एक अमूर्त वर्ग
<?php
abstract class ScopeFactory
{
public static function doStuff()
{
}
}
अब, मैं तो की तरह, यह फ़ंक्शन को कॉल करने में सक्षम हूँ: मैं निम्नलिखित वर्ग है
ScopeFactory::doStuff()
और यह खुशी से काम करता है। मैंने हमेशा इस धारणा के तहत कोड किया है कि abstract
कक्षाओं का सीधे उपयोग नहीं किया जा सका - और उन्हें कॉल करने योग्य होने के लिए एक ठोस वर्ग द्वारा कार्यान्वित किया जाना है।
static
का मेरा प्रभाव यह है कि इसे कॉल करने योग्य होने के लिए इंस्टेंस की आवश्यकता नहीं है।
क्या कोई मुझे समझा सकता है कि यह कानूनी क्यों है, और यदि यह होना चाहिए? मैं बेहतर विवरण के बारे में उत्सुक हूँ।
हां कक्षा की आवृत्ति (उदाहरण! = घोषणा) के समान स्थान पर एक स्थैतिक विधि संग्रहीत नहीं की जाती है। यह आपको सुराग देगा: http://stackoverflow.com/questions/17407203/can-we-use-static-method-in-an-abstract-class –