تفکر OOP این بود که نگاه برنامه نویسان به برنامه نویسی به دنیای واقعی نزدیکتر بشود.
برای مثال خانهای که من در آن زندگی میکنم یک نوع شی یا Object است و خانهای هم که شما در آن زندگی میکنید یک نوع Object است،ولی این دو نوع Object ممکن است تفاوتهای بسیار زیادی را باهم داشته باشند
یا تلویزیون یک نوع شی هست که دارای یکسری Attribute یا ویژگی هست مثل:
صفحه نمایش
اسپیکر
کنترل و...
به علاوه اینها هر تلویزیون یکسری Behavior یا بهتره بگیم عملکرد راهم داره،برای مثال:
شی تلویزیون قابلیت پخش تصویر را داره
قابلیت ظبط تصویر را داره
یا قابلیت اتصال به اینترنت را داره
یه اینها میگم رفتارها(Behavior) یا بهتره بگیم عملکرد های شی تلویزیون
مثالی ساد از یک کلاس در جاوا:
در برنامه نویسی شی گرا Object ها دارای ۳ ویژگی هستند:
۱-هر Object دارای یک Identity یا هویت خاص خود است
برای مثال دو انسان را به عنوان شی در نظر بگیرید:
هر دو اینها دارای Attribute های مثال دست،پا،چشم و... هستند
و عملکر های(Behavior) مشابهی هم مثل حرف زدن،دویدن و... دارند
اما دارای هویتهای مجزا هستند مثل جواد و سعید
۲- هر Object دارای Attribute یا خصصیه مخصوص به خودش هست
برای مثال سن جواد ۱۸ سال هست ولی سن سعید ۳۰ سال
۳-هر Object دارای عملکرد یا Behavior هست
مثلاً محمد جواد نویسنده خوبی هست اما سعید سخران خوبی هست
اشیاء یا Object ها به خودی خود ساخته نمیشنوند و باید ریشه در جایی داشته باشند،در اصل Object ها از روی Class ها ساخته میشوند
برای مثال نقشه یک ساختمان را در نظر بگیرید که از روی آن هزاران خانه ی دیگر ساخته میشود.
در واقع هر خانهای که از روی این نقشه ساخته میشود یک Instance یا نمونه از کلاس ساختمان است
پس به Object هایی که از روی کلاس ساخته میشوند یک Instance یا نمونه گفته میشود
در برنامه نویسی شی گرا چهار اصل اساسی وجود دارد: