השאלה שלי נובעת מהתרגיל אבל אני חושב שהיא בעצם שאלה כללית יותר. בהוראות של התרגיל יש כל מיני תכונות ופעולות שחלקן משותפת לחלק מהקבצים וחלקן לא. בתור התחלה יצרתי מחלקת-אם File הכוללת את מעט התכונות המשותפות לכל הקבצים, וממנה הורשתי מחלקת-בת לקובץ טקסט, ובמחלקת הבת הוספתי תכונות ופעולות. השאלה שלי היא אם אני יוצר מחלקה לסוג קובץ אחד שיש לו תכונות מסוימות, האם זו פרקטיקה מקובלת להוריש את התכונות שלו לסוג קובץ אחר, גם אם לסוג הקובץ החדש אין את כל התכונות והפעולות של מחלקת-האם? זה לכאורה יכול לחסוך לי עבודה, אבל גם יוצר מצב שבו במחלקה החדשה יש לאובייקטים תכונה או פעולה שלא אמורה להיות להם. האם אני רשאי “לסמוך” על המשתמש שלא ינסה להפעיל אותן? אם לא, האם יש דרך “לנטרל” אותן? ובהנחה שיש, האם זו פרקטיקה סבירה או שמא עדיף לי פשוט ליצור מחלקה חדשה לכל סוג קובץ שיורשת אך ורק ממחלקת האם הראשונה?
אני חושב שמה שאני באמת שואל כאן זה האם לגיטימי להשתמש רק בהכלה ולא בהורשה בתרגיל הזה, למרות שזו מחברת על הורשה? כי נראה שבמקרה הזה הורשה היא פשוט מסורבלת מדי.