07-03-2008, 17:17
|
|
|
חבר מתאריך: 17.06.06
הודעות: 198
|
|
Java generics
הי לכולם,
מדוע כאשר רוצים לציין שהמשתנה הג'נרי שלנו הוא Comparable אנו כותבים T extends Compareable?
הרי ככל הידוע לי (וייתכן שאני טועה..) Comparable הוא ממשק ולכן נשמע לי יותר הגיוני שהיינו צריכים לכתוב T implements Compareable ולא extends.
(הרי אם למשל היינו שמים Integer הרי שהוא implements Comparable ולא extend Comparable)
כלומר שאלתי היא מדוע ב-Java נהוג לכתוב כך:
קוד:
class ClassName<T extends Comparable<T>> implements InterfaceName<T>
ולא כך:
קוד:
class ClassName<T implementsComparable<T>> implements InterfaceName<T>
(ברור לי מדוע אנחנו מעוניינים לציין שהטיפוס הג'נרי שלנו - הוא אכן בר השוואה - השאלה מדוע דווקא זה הסינטקס הנכון...)
תודה מראש לכל העונים,
סיון
_____________________________________
השתדל להנות מהדברים הקטנים בחיים.
יום יבוא ובמבט לאחור תגלה שהיו אלה דברים גדולים...
|