מערכת טיפוסים – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מ ←‏השוואה בין שפות: תיקון קישור
←‏טיפוסיות ברווז: תיקון קישור
שורה 37:
</syntaxhighlight>
 
כך הטיפוס של הפרמטר לפונקציה len הוא "אובייקט שעבורו מוגדרת המתודה __len__ כנדרש". טיפוסיות דינמית משיגה [[פולימורפיזם (מדעי המחשב)|פולימורפיזם]] פרמטרי מקסימלי. יש לשים לב, עם זאת, שהנחת היסוד היא שמתודות בעלות שם זהה מתנהגות בצורה דומה. אובייקט עשוי לכלול מתודה בעלת שם מתאים בדרך מקרה, כאשר המימוש שלו מבצע פעולה שונה לחלוטין מזו המצופה בפונקציה. שגיאות מסוג זה הן נדירות, אך קשות מאוד לאיתור.
 
דוגמה להתנהגות המזכירה טיפוסיות ברווז אך איננה דינמית אלא סטטית היא [[תכנות גנרי]] בשפת ++C. ניתן ליצור מחלקה בעזרת טיפוס מסוים כפרמטר, כל עוד כל המתודות שבשימוש לגבי הטיפוס הזה באמת שייכות אליו. זאת אף אם קיימות מתודות (שהן בעצמן template) המבצעות פעולות שאינן תקינות לגבי הטיפוס - כל עוד לא משתמשים בהן בפועל. הבדיקה הזאת מתרחשת בזמן הידור.