دانلود مقاله در مورد آشنایی با زبان برنامه نویسی اسمالتاک smalltalk

نظرات 0

دانلود پروژه شماره 192: آشنایی با زبان برنامه نویسی اسمالتاک



این مقاله 19 صفحه، به زبان فارسی و با فرمت پاورپوینت میباشد.












 برای اطلاعات کامل و خرید اینترنتی این پروژه (4012) اینجا کلیک کنید









*** لینک های پرطرفدار ***





- لیست تمامی پروژه های کامپیوتر







فهرست مطالب این مقاله:
مقدمه
تاریخچه
تاثيرات بر روي زبان هاي ديگر برنامه نويسي
برنامه‌نویسی شی‌گرا
انعکاس
دستورات
ثابت‌ها
اعلان متغیرها
انتساب
 پیام‌ها
بلوک کد
عبارات
ساختار كنترل
كلاس ها
توابع
ساختن نمونه اي از كلاس ها
سطح دسترسی
كامپايل كردن اسمالتك
نمونه ای از متن این پروژه :
انعکاس
اسمالتاک-۸۰ یک سیستم کاملاً انعکاسی است که در خود اسمالتاک-۸۰ پیاده شد. اسمالتاک-۸۰ هم ساختار و هم محاسبات انعکاسی فراهم می‌سازد. کلاس‌ها و متد‌ها که یک شی را تعریف می‌نمایند خود شی هستند و کاملاً جز خود سیستم هستند. کامپایلر اسمالتاک فایل‌های متنی را به به اشیا متد تبدیل می‌کند که معمولاً نمونه‌هایی از کلاس Compilemethod است. این‌ها از طریق اضافه شدن به دیکشنری کلاس اضافه می‌شوند. سلسله مراتبی که کلاس‌ها را تعریف می‌نماید خود می‌تواند کلاس‌های جدید اضافه نماید. سیستم از طریق کد اسمالتاک-۸۰ که کلاس‌های جدید تعریف می‌کند یا تغییر می‌دهد گسترش می‌یابد. بدین طریق سیستم‌های نوشته شده به اسمالتاک-۸۰ سیستم‌های زنده هستند و می‌توانند در زمان اجرا خود را تغییر دهند و بهبود یابند.
اسمالتاک-۸۰ یک سیستم محاسباتی انعکاسی فراهم می‌سازد تا وضعیت محاسباتی سیستم قابل مشاهده باشد.
اگر پیام ارسال شده به هر شی توسط آن شی پیاده نشده باشد پیام عدم فهم شی (doesNotUnderstand:) ارسال می‌گردد و پیام آرگومان آن محسوب می‌شود. پیام شامل فرستنده و آرایه‌ای ارگومان‌هایش است. در یک سیستم محاوره‌ای اسمالتاک پیاده‌سازی پیش‌فرض پیام doesNotUnderstand: همان است که پنجره را برای نشان دادن خطا باز خواهد کرد. از این طریق می‌توان دلیل و زمینه خطا را شناخت و این اشکال را در داخل سیستم برطرف نمود و با استفاده از سیستم انعکاسی یه کار ادامه داد.
کاربرد مهم دیگر doesNotUnderstand: میانجی‌گری است. برنامه‌نویس می‌تواند کلاسی پیاده نماید که هیچ متدی نداشته باشد و فقط پیام doesNotUnderstand: را پیاده کرده باشد و از هیچ کلاسی به ارث نرفته باشد. اگر این اشیا بدرستی به کار روند می‌توانند پیام‌ها را به سیستم‌های دیگر هدایت بنمایند و سیستم‌های توزیع‌شده به خوبی عمل نمایند. این چنین سیستمی در CORBA و RMI نیز وجود دارد اما در ابتدا در اسمالتاک-۸۰ پیاده گردید.
دستور
دستورات اسمالتاک-۸۰ درصدد کوچک بودن است و تناها از تعدادی کلمات کلیدی و اعلامات استفاده می‌نماید. در حقیقت تنها شش کلمه کلیدی وجود دارد: true، false، nil، self، super، و thisContext. (این‌ها در واقع کلمات کلیدی نیستند تنها شبه کلمات کلیدی است که شی‌هایی به عنوان تنها نمونه کلاس‌های خود هستند. اسمالتاک در حقیقت اصولا کلمه کلیدی را به عنوان یک مفهوم نپذیرفته است.) ت’نها ساخته‌های داخلی زبان ارسال پیام‌ها، انتصاب، بازگشت مقدار در متد، و ثابت برای بعضی اشیا. باقیمانده زبان، دستورات کنترلی همانند انتخاب شرطی و دستورات تکرارپذیر توسط استاندارد اسمالتاک در کتایخانه کلاس‌ها پیاده می‌شود. بدلیل بهینه‌سازی ممکن است بعضی پیاده‌سازی‌ها به بعضی از پیام‌ها اهمیت زیادی داده ولی باید دقت کرد که این اهمیت دادن در داخل زبان نوشته نشده و تنها یک بهینه‌سازی است
ثابت‌ها
مثال پایین نشان‌دهنده تمام ثابت‌های معمول اشیا را در متدهای اسمالتاک-۸۰ است.
اعداد. لیست پایین بعضی اعداد ممکن را نشان می‌دهد.
42 -42 123.45 1.2345e2 2r10010010 16rA000
در دو خط اخر اعداد دودویی و شانزده‌شانزدهی نشان داده شده‌اند. r نشان‌دهنده استفاده از پایه دیگری است البته این منبع می‌تواند ۲ نباشد. به عنوان مثال 36rSMALLTALK یک عدد ممکن است (برای کسانی که کنجکاوند این عدد برابر است با 80738163270632 دهدهی).
کاراکترها با علامت $ نوشته می‌شوند:   $A
رشته‌ها به صورت توالی کاراکترها در بین نوشته می‌شوند.
'Hello, world!'
برای شمول یک ' دو علامت را بکار ببرید.
'I said, ''Hello, world!'' to them.'
" نیاز به هیچگونه تغییری ندارد چون در رشته‌ها علامت ' بکار می‌رود.
'I said, "Hello, world!" to them.'
دو رشته برابر (رشته‌ها برابرند در صورتی که شامل تمام کاراکترها باشد) می‌توانند دو شی در دو محل متفاوت از حافظه باشد. علاوه بر رشته‌ها اسمالتاک دارای یک کلاس توالی کاراکترهای دیگر بنام symbol است. symbolها تضمین شده‌اند که منحصر بفرد باشند و هیچ دو symbol برابر دو شی متفاوت نیستند. به دلیل منحصر بفرد بودن آنها را می‌توان براحتی مقایسه نمود و برای انتخاب کننده پیام‌ها و سایر مصنوعات زبان به کار رود.
symbolها توسط علامت # و چند کاراکتر نشان داده می‌شود.  #foo
آرایه‌ها.
#(1 2 3 4) یک آرایه از ۴ عدد سحیح را تعریف می‌کند.
اعلان متغیرها
دو نوع متغیر معمول استفاده شده در اسمالتاک متغیرهای نمونه و متغیرهای موقت هستند. متغیرهای دیگر و اصطلاحات مرتبط بستگی به پیاده‌سازی‌های مختلف دارند. به عنوان مثال ویژوالورکس دارای متغیر‌های به اشتراک گذاشته در کلاس و فضای نام است در حالی که اسکویک و پیاده‌سازی‌های دیگر متغیرهای کلاس، حوضچه، و جهانی است.
اعلام متغیر موقت در اسمالتاک برای متغیرهای درون متد بکار می‌رود. این متغیرها در بالای متد تعریف می‌شوند و با فضای خالی و | جدا می‌گردند.
به عنوان مثال: