آیا تا کنون مفهوم و واژهء شئ گرایی را شنیده اید؟آیا در مورد برنامه نویسی شئ گرایی چیزی می دانید؟
برنامه نویسی شیءگرائی (object oreinted programming) وسیله ای برای مدل کردن صحیح دنیای واقعی با استفاده از اشیا (objects) در برنامه و استفاده مجدد از کد است. یک شی در برنامه دقیقا همان طور تعریف می شود که در دنیای واقعی است؛ خواص معینی دارد که آن را توصیف می کند و متدهایی که می توانید برای انجام کار معینی روی شیء استفاده کنید.
هدف کلی C++ اضافه کردن شیءگرائی به زبان برنامه نویسی C است. یک شیء برای نگهداری داده استفاده می شود. داده و توابعی که روی داده کار می کنند به هم مربوط هستند بنابراین داده و توابع هردو با هم دریک بسته قرار می گیرند. شیءگرائی بیشتر روی داده تاکید دارد تا عملیات و توابعی که روی داده کار می کنند.
مثال. ماشین یک شی است دارای خواصی مثل رنگ، تعداد درها و غیره است متدهای معینی دارد مانند سرعت گرفتن، ترمز کردن و غیره. می توان این شی را با استفاده از متدهایش استفاده کرد.
شرحی از داده ها و توابعی که می توانند روی داده کار کنند را کلاس (class) می نامند. کلاس را به عنوان الگوئی برای تولید شیء می توان تصور کرد. کلاس در واقع یک نوع داده user-defined است . اشیاء نمونه هائی از کلاس ها هستند که در زمان اجرا ایجاد می شوند.
چهار مفهوم اصلی وجود دارند که اساس برنامه نویسی شیءگرائی را می سازند و توسط کلاس ها ارائه می شوند. این مفاهیم انتزاع (abstraction)، کپسوله کردن (encapsulation)، توارث (inheritance) و چندریختی (polymorphism) هستند.