שאלה ב-JAVA
יש לי מחלקה שהגדרתי כך (שימוש ב- Generics ע"מ לאפשר להגדיר מטריצה מכל סוג שהוא):
אני לא מצליח לעשות כך - האם למישהו יש רעיון?אולי טעיתי בהצהרות ע"מ לנסות להבהיר - אני קודם כל יוצר מחלקה כללית גנרית שמכילה מטריצה כללית - MyMatrix יש לי יישום ספציפי (אותו אני רוצה לבצע במחלקה שיורשת עבור type של Integer) שבו אני רוצה לאתחל את המטריצה במספרים עולים תודה מראש גיל
יש לי מחלקה שהגדרתי כך (שימוש ב- Generics ע"מ לאפשר להגדיר מטריצה מכל סוג שהוא):
public class MyMatrix<E>{ //extends AbstractList<E> protected E[][] matrix; protected int size;
ומוגדרות מספר מתודות כמו להדפיס, וכו'. אני רוצה להגדיר מחלקה שיורשת ממנה חדשה SpecialMatrix שהיא תאתחל את המטריצה בערכים עולים 1,2..public class SpecialMatrix extends MyMatrix<Integer> {// not working // only thing work: // public class SpecialMatrix{ // MyMatrix<Integer> mat; // ... // but it is not what I want private void init(){ int i = 0, j = 0, x = 0; while (i < size && j < size) { matrix[j] = x++; // I get ClassCastException here!!! j++; if (j % size == 0) { j = 0; i++; } } } }
אני לא מצליח לעשות כך - האם למישהו יש רעיון?אולי טעיתי בהצהרות ע"מ לנסות להבהיר - אני קודם כל יוצר מחלקה כללית גנרית שמכילה מטריצה כללית - MyMatrix יש לי יישום ספציפי (אותו אני רוצה לבצע במחלקה שיורשת עבור type של Integer) שבו אני רוצה לאתחל את המטריצה במספרים עולים תודה מראש גיל