public virtual class parent {
public static void doStuff(){system.debug('stuff');}
}
public class child extends parent{}
जब मैं फोनक्या सेलफोर्स स्थिर तरीकों का सर्वोच्च समर्थन विरासत है?
child.doStuff();
मैं इस त्रुटि मिलती है: विधि मौजूद नहीं है या गलत हस्ताक्षर: child.doStuff()
स्थिर तरीकों Salesforce में नहीं ली गई है या मैंने कुछ गलत कर रहा हूँ ?
असल में, यहां दिए गए उत्तर के अनुसार: http://stackoverflow.com/questions/5316705/overriding-properties-from-abstract-class-in-salesforce-apex 'वर्चुअल' केवल विधियों पर उपयोग किया जा सकता है। –
वर्चुअल न केवल कक्षाओं पर उपयोग किया जा सकता है, लेकिन यदि वर्ग को विरासत में प्राप्त किया जा रहा है तो यह होना चाहिए। और नहीं, इसका मतलब यह नहीं है कि हर विधि को लागू किया जाना है। किसी विधि पर लागू होने पर "वर्चुअल" का अर्थ है कि विधि को ओवरराइड किया जा सकता है। और कक्षा में लागू होने पर "आभासी" का अर्थ है कि इसे विरासत में प्राप्त किया जा सकता है। – naomi
मुझे लगता है कि समस्या vtable संबंधित नहीं है। मुझे लगता है कि यह बाल वर्ग moniker का उपयोग कर अभिभावक वर्ग की सार्वजनिक स्थैतिक विधि के बारे में नहीं है। ओओपी सिद्धांत में नमूना काम करना चाहिए और विधि नाम को अस्वीकार करने से पहले संकलक को मूल वर्ग से परामर्श लेना चाहिए। – mmix