חלק שני| Reflection

מה נלמד היום?

1. השגת ה- class לאובייקט
2. השגת שם רגיל +מקוצר
3. זיהוי המזהים, Modifiers.
4. זיהוי ספרייה
5. superclass
6. interfaces
7. constructors
8. Methods
9. Fields
10. Annotation

זה אמור להספיק 🙂

Reflection כמו שאמרתי בכתבה הקודמת (לינק) הינה דרך ליצירת אובייקט בזמן ריצה, והדגש הוא כמובן בזמן ריצה!
השיטה הזאת נפוצה מאוד בחברות קטונות/גדולות, שכן היצירה של האובייקט מתרחשת בזמן ריצה דבר שמקנה לנו הרבה אפשרויות לשינויים והרחבה.

יצירת האובייקט נוצרת ממידע שניתן להשיג מתוך המחלקה שממנה נוצר האובייקט כמו, קונסטרקטורים, מתודות, fields ועוד.

1. Get Class from Class
קיימות 2 אפשרויות:
– Class myObjectClass = MyObject.class
– (Class class = Class.forName(className
*When using the Class.forName() method you must supply the fully qualified class name
2. שם המחלקה
Class aClass = … //מה שראינו מקודם
String className = aClass.getName();
or

String simpleClassName = aClass.getSimpleName();

3. Modifiers["public", "private", "static" etc.]
int modifiers = aClass.getModifiers();
4. Package information
Package package = aClass.getPackage();
5. superClass
Class superclass = aClass.getSuperclass();
6. interfaces
בגלל העובדה שלמחלקה יכולים להיות מספר ממשק שהיא תממש אז נחזיר מערך של ממשקים
Class[] interfaces = aClass.getInterfaces();
7. Constructors
Constructor[] constructors = aClass.getConstructors();
8.Methods
Method[] method = aClass.getMethods();
9. Fields
Field[] method = aClass.getFields();
10. Annotations
Annotation[] annotations = aClass.getAnnotations();

הממדריך הזה אומנם בסיסי אך בחלקים הבאים אני אכנס יותר לעומק עבור כל שלב ושלב.

תודה על ההקשבה

מודעות פרסומת

להשאיר תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s