(برنامه نویسی java) شکل عمومی عملگر new در محیط جاوا (رباتیک _ الکترونیک)

پژوهشگر و نویسنده: (  افشین رشید )

نکته : اگر با C++/C آشنایی دارید ، حتما" خوشحال می شوید  که بدانید کارکرد عملگرها در جاوا دقیقا"مشابه با C++/C است . اما همچنان تفاوتهای ظریفی وجود دارد.

شکل عمومی عملگر new بقرار زیر می باشد : 

class-var = new classname(); 

در اینجا var-class یک متغیراز نوع کلاسی است که ایجاد کرده ایم name class . نام کلاسی است کـه مـی خـواهیم معرفـی کنیم . نام کلاس که بعد از آن پرانتزها قرار گرفته اند مشخص کننده سازنده (constructor) کلاس است . سازنده تعریف می کنـد که وقتی یک شئ از یک کلاس ایجاد شود ، چه اتفاقی خواهد افتاد . سازنده ها بخش مهمی از همه کلاسها بوده و خصلتهای بسـیار قابــل تــوجهی دارنــد . بســیاری از کلاس های دنیــای واقعــی (world-real) بطــور صــریحی ســازندگان خــود را داخل تعریف کلاس ، معرفی می کنند . اما اگر سازنده صریحی مشخص نشده باشد ، جاوا بطور خودکار یک سـازنده پـیش فـرض را عرضه می کند . درست مثل حالت . Box در این مرحله ، ممکن است تعجب کنید که چرا از new برای مواردی نظیراعداد صـحیح و کاراکترها استفاده نمی شود. جواب این است که انواع ساده در جاوا بعنوان اشیائ پیـاده سـازی نمـی شـوند . در عـوض ، آنهـا بعنـوان متغیرهای عادی پیاده سازی می شوند. اینکار برای افزایش کارایی انجام می گیرد. جاوا قادراست بدون استفاده از رفتارهای خاص نسبت به اشیائ، این انواع ساده را بطور موثری پیاده سازی کند .نکته مهم این است که new حافظـه را بـرای یـک شـی ئ طـی زمـان اجـرا تخصیص می دهد . 

مزیت این روش آن است که برنامه شما میتواند اشیائ مورد نیازش را طی زمان اجرای برنامه ایجـاد کنـد . امـا از آنجاییکـه محـدودیت حافظه وجود دارد ، ممکن است new بعلت عدم کفایت حافظه نتواند حافظه را بـه یـک شـئ تخصـیص دهـد . اگـر چنـین حـالتی پیش بیاید، یک استثنائ حین اجرا واقع خواهد شد .ولی در زبانهای C++/C در صورت عدم موفقیت ، مقدار تهی (null) برگردان می شود . اجازه دهید یکبار دیگر تفاوت بین یک کلاس و یک شی ئ را مرور کنیم . یک کلاس یک نوع جدید داده را ایجاد مـی کنـد کـه مـی توان برای تولید اشیائ از آن نوع استفاده نمود. یعنی یک کلاس یـک چهـارچوب منطقـی ایجـاد مـی کنـد کـه ارتبـاط بـین اعضـائ را توصیف می نماید . هنگامیکه یک شئ از یک کلاس را اعلان می کنیـد ، در حقیقـت نمونـه ای از آن کـلاس را بوجـود آورده ایـد. بدین ترتیب ، کلاس یک ساختار منطقی است . یک شی دارای واقعیت فیزیکی است . ( یعنی یک شی ئ فضـایی از حافظـه را اشـغال در ذهن داشته باشید . عملگرها جــاوا یــک محــیط عملگــر غنــی را فــراهم کــرده اســت. اکثــر عملگرهــای آن را مــی تــوان در چهــار گــروه طبقــه بنــدی نمود :حسابی arithmetic رفتار بیتی bitwise رابطه ای ralational و منطقی logical جاوا  همچنین برخـی عملگر هـای اضـافی برای اداره حالت های خاص و مشخص تعریف کرده است. 

نویسنده:  (افشین رشید )