به نام خدا
* کسایی بخونن که شی گرائی رو توی برنامه نویسی کار کردن.
اولین پستیه ک توی ویرگول میزارم :)
کلاس : طرحی/توصیفی/تفسیری از یک موجود(موجود(یعنی چیزی ک وجود دارد) میتواند انسان ، حیوان ، مفهوم(مثل مفهوم خطا(Error)) و ... باشد) . هر طرح ، شامل جزئیات مربوط به خودش است(منظور property). و همچنین هر طرح دارای اعمال مربوط به خودش است(منظور method).
مثلا :
class AdadSahih {
int Value;
public:
Adad(int n) : Value(n) {}
}
شی ای از یک کلاس( obj ) : نمونه ای از طرح/توصیف/تفسیر از کلاس مورد نظر . مثال :
AdadSahih yek(1);
مثال بدون کد : طرح انسان! شامل جزئیاتی مانند نام ، اخلاقیات ، قد ، وزن و ... است . و همه ی ما نمونه هایی از طرح انسان هستیم. منتها با جزئیاتی تقریبا متفاوت ! ممکن است در جزئیاتی مانند رنگ مو ، رنگ چشم و ... اشتراکاتی داشته باشیم.(نگاه کلی بود . مثلا قد دو نفر هیچوقت یکسان نیست! ممکنه دو تا آدم باشن هر دو با قد 180 ، اما ممکنه در هزارم متر ، یا ده هزارم متر یا یک میلیونم متر یا یک میلیاردم متر و ... با هم متفاوت باشن و در واقع برابر بودن کمیت های قابل اندازه گیری تقریبا غیر ممکنه . که تا این حد جزئیات دیگه از بحث برنامه نویسی خارجه :))) ).
معرف دسترسی : هر کدوم از ما ، بخشی از جزئیاتمون مثل رنگ چشم ، رنگ پوست و ... به راحتی و در جمع قابل تشخیص اند(public) . اما بخشی دیگر از جزئیات ما ، مثل نام و نام خانوادگی و کد ملی ما محفوظ اند(private یا protected) این جزئیات محفوظ ، با یک نگاه کردن به ما مشخص نمیشن .
public = آن چیز که عیان است
private یا protected = آن چیز که نهان است :)
متد ها : هر طرح ، عملیات های مربوط به خودش رو داره . مثل متد(عملیات) فکر کردن برای انسان ، که هم به جزئیاتی که عیان است دسترسی داره ، و هم به جزئیاتی که نهان است . :) پس متد ها توی شی ها به تمام جزئیات اون شی(تمام اعضای داده) دسترسی دارن.
سازنده ( constructor ) : سازنده متدی است که یک شی از یک کلاس را میسازد . و منطقا باید جزئیات(اعضای داده یا به قول بعضیا property) آن شی را تعیین(مقداردهی) کند.
مخرب ( destrcutor ) : مخرب متدی است که یک شی از یک کلاس را از بین میبرد . و منطقا باید اثرات شی رو هم از بین ببره(مثل آزاد کردن حافظه ای ک رزرو شده و ...)
خب . تا همینجا کافیه :) . به خدا میسپارمتون. اگه جایی ایراد فلسفی ای چیزی بود(از نظر خودتون یا واقعا ایراد بود) بهم بگین تا بحث فلسفی کنیم من بحث فلسفی دوست.