के लिए स्थिर चर की अलग-अलग प्रतियां हो सकती हैं, मैं कक्षा के प्रकार के आधार पर एक अलग मूल्य के साथ एक ही स्थिर चर होना चाहता हूं।क्या मेरे पास प्रत्येक अलग-अलग प्रकार के विरासत वर्ग
तो मैं
public class Entity
{
public static Bitmap sprite;
public void draw(Canvas canvas, int x, int y)
{
canvas.drawBitmap(sprite, x, y, null);
}
}
public class Marine extends Entity
{
}
public class Genestealer extends Entity
{
}
और फिर अपने मुख्य कार्यक्रम ही बार में होगा:
Marine.sprite = // Load sprite for all instances of Marine
Genestealer.sprite = // Load sprite for all instances of Genestealer
मैं कक्षा के प्रत्येक उदाहरण में एक ही स्प्राइट स्टोर करने के लिए नहीं करना चाहती। मैं प्रत्येक प्रकार के वर्ग के लिए एक चाहता हूँ। मैं स्थैतिक स्प्राइट वैरिएबल और ड्रॉ फ़ंक्शन का उत्तराधिकारी बनाना चाहता हूं जो स्प्राइट को आकर्षित करेगा। लेकिन मैं नहीं चाहता कि जेनस्टेलर समुद्री स्प्राइट को ओवरराइड करने के लिए उगाए।
क्या यह संभव है?
मैं यह कैसे करूँगा?
और यहां तक कि आपका गुरुत्वाकर्षण अंतरिक्ष समुद्री कवच में एक टक्स पेंगुइन है - भयानक :) – weiji
मुझे लगता है कि आप इसे "नए असमर्थित ऑपरेशन अपवाद" फेंकने के साथ मूल वर्ग में भी परिभाषित कर सकते हैं यदि आपके कुछ बच्चों के वर्ग कभी स्प्राइट नहीं होने की उम्मीद करते थे (हालांकि इसका मतलब यह भी होगा कि आप संकलन समय चेक खो देते हैं)। – rogerdpack