وقتی کاملاً از رفتار و خواص شی مورد نظر مطمئن هستید از کلاس استفاده کنید.
وقتی از رفتار شی مورد نظر آگاهید اما شیوه ی آن رفتار برای شما مشخص نیست از ابنترفیس ها استفاده نمایید.
وقتی بعضی از رفتارها برای شما مشخص و بعضی نامشخص هستند از کلاس های Abstract استفاده نمایید.