همانطور که در فصل قبل گفتیم کلاس ها سنگ بنای برنامه نویسی شی گرا هستند. یک برنامه جاوا از تعدادی کلاس ساخته می شود. اشیا از روی کلاس ها ساخته می شوند و ارتباط اشیا با هم مسأله را حل می کند. حالا اگر قدری دقیق تر به کلاس ها نگاه کنیم، می بینیم که خود کلاس ها از اجزای کوچکتری ساخته می شوند. بار دیگر به ویژگی های برنامه های شی گرا از دید Alan Kay دقت کنید:
- هر چیزی یک شی است.
- یک برنامه مجموعهای از اشیا است که با استفاده پیامرسانی به یکدیگر میگویند که چه کار باید بکنند.
- هر شیءای دارای حافظهای است که از سایر اشیا ساخته شده است.
- هر شیءای یک «نوع» دارد.
- تمام اشیای همنوع میتوانند پیامهای یکسانی دریافت کنند.