صفحه 1:
مقدمه
3| Activex
نقلاب مدول های نرم افزا
مزلفعه نوسي خني كرا
Axtivex یخچه کوتاهی |
۷ نقاط ضعف و قوت
وضعیت جاوا چگونه است ؟
So Activex حاوا
۸ بکار بردن کنترل هاء
نمایشگ ها ۸0۵161 13۷3 اجرای
11ل خا دن اجرا کننده
oS Las Activex cls ati, sJava
gle تغبیر دادن درجه امنیت برنامه Activex
۵۷64 و امنیت
صفحه 2:
امضاء دیجیتالی از دیدگاه کاربرار
امضای دیجیتالی از دید برنامه نویسی
افزارهای مورد نیاز برای امضای دیجیتا
جاوا چیست ؟
ایجاد یک کلابر
تحلیل برنامه
6 ورائت
صفحه 3:
ایجاد سلسله مرائب کلاسر
ائت چگونه as
وزاثت سغره و جبد ANE
3265 و بسته ها 1056]13©©5- واسط ها
ايجاد يك زير كلاس
صفحه 4:
مقدمه :
جاوا کی از تکیولوویهاین عمجه ایجاف سحجویأت فال در ایسترفت اس
اپلت های جاوا , که توسط کاوشگر بار و اجرا می شوند . دارای بسیاری از قابلیت
های «ر۸() هستند
اپلت های جاوا برای جلوگیری از اقدامات خرابکارانه . فاقد توانایی های خاص ( از
قبيل مسترسى يه ۱
سیستم فایل <ظا9) هستند و این آنها را بسیار محدود كرده است .
تلوری ۰ اپلت های ۱
جاوا ایمن هستند چون اساسا نمی توانند کارهای خطرناک انجام دهند !
علاوه بر آن چون جاوا زبانی برای اینترنت است ۰ از ایمنی و حفاظت ذاتی بالایی
valid fig
طراحان چاوا By hall محیظ برخافه نویسی آمن را مد Maths
fal 3
از نظر
صفحه 5:
مقدمه :
مسعله حفاظت سیستم ها رابطه. تنگاتنگی با اشازه گرها دارد .
اکثر مهاجمان برای ورود غیر قانوئی به سیستم های دیگران از این اشاره گرها
استفاده می کنند و جاوا با حذف اشاره گرها این راه را سد کرده است .
تکنولوژی 0۳8۳ یکی از قویترین ابزارهاییست که برنامه نویسان ویندوز در
اختیار دارند .
ریبا هر برنامه ای که بنویسند از 28۳() استفاده خواهند کرد
جهت کد نویسی و طراحی صفحات وب نیاز به یک 3۳) ۳" ساده مانند
اجمصت() که در تمامی ویندوزها قابل دسترسی می باشد و نیاز به نصب Pert
Ector جديد نيست ٠
ضمنا سیستم شما باید دارای مشخصات سخت افزاری ذیل باشد
- حداقل سیستم مورد نیاز پنتیوم ۲۳۳
fal 9
صفحه 6:
مقدمه :
- ۱۶ مگابایت Raw
- حدود ۶۰۰ مگا بایت فضای آزاد
صفحه 7:
آشناپي با مش
تکنولوژی 78/۳ یکی از فویترین ابزارهاییست که برنامه نویسان ویندوز
در اختیار دارند . تقریبا هر برنامه ای که بنویسند از «9۳) استفاده خواهند
os
در این مطالب با سر فصل ذیل آشنا خواهیم شد :
- اهمیت مدول های نرم افزاری
- تاریخچه و اصطلاحات /2۸)
- درک مفهوم جاوا و کنترل >فه)
- مطالبی درباره امنیت و توزیع کنترل های 9۸۳)
صفحه 8:
انقلاب مدول های نرم افزاری :
همانند هر صنعت دیگری ۰ کارآیی یکی از دغدغه های اصلی برنامه نویسان است
و یکی از جنبه های مهم کارآیی اجتناب از دوباره کاری است . اگر کدی نوشته ايد
که کار خاصی را انجام می دهد . چرا باید دفعه بعد همان کد را دوباره بتویسید ؟
اولین گام در راه استفاده مجدد از کدها . مفهوم زیر مجموعه يا روال Provedure
است . کدی را یکبار مى نويسيد و از آن به بعد در هر جای برنامه که لازم بود فقط کافی
است آنرا احضار 2 کنید . قرار دادن روال های کلی در یک مدول برنامه نویسی
قدمی به پیش بود . با اين تمهید می توان از آن روال ها در برنامه های
مختلف استفاده کرد .
صفحه 9:
برنامه نویسی شی كرا :
به موازات رشد برنامه نویسی مدولار . تکنولوژی دیگری در زمینه برنامه نویسی اختراع
شند و وتف یافت:
برنامه نویسی شی گرا یا بججو() لهس — xe OOP Objet 5
توسعه این تکنولوژی رشد و پیچیدگی روز افزون برنامه ها و مشکلاتی بود که به تيغ
آن برنامه نویسان را درگیر خود کرده بود . مهمترین منبع این مشکلات بر هم کنش
غير قابل پیش بینی قسمتهای مختلف یک برنامه با یکدیگر بود . چون این قسمتها
مانند دانه های یک زنجیر در هم بافته شده بوند و هر تغییری در یک قسمت به راحتی
سایر قسمتها را متاثر می کرد
راه حل اين مشكل آن بود كه هر قسمت برنامه در یک بسته بنام شی ا۳۳(). کپسوله
یا 7۵9 شود . ساز و کار درونی هر شی مطلقا از دید دنیای خارج مخفی
get ll yal نود ری یز عملکزد وی یگذارند: لته یک فنی نمی تواندیگلی
fal 9
صفحه 10:
برنامه نویسی شی كرا :
از دنیای اطراف خود ایزوله شود چون بدین ترتیب دیگر چیز بی فایده ای بیش
نخواهد بود ! به همین دلیل برای ارتباط با دیگر قسمتهای برنامه . هر شی از
وسیله ای بنام واسط یا م1۳8۳" استفاده می کند . واسط هر شی دو بخش دارد
: خواص ( داده ها ) و متدها ( کدها ) ی آن .
صفحه 11:
تاریخچه کوتاهی از Driver :
برنامه نویسی مدولار سالها برنامه نویسان را به خود مشغول کرده بود و در واقع یکی از
محرکهای اصلی توسعه سیستم عامل ويندوز هم همين ايده كدهاى قابل اشتراك و قابل
استفاده مجدد بوده است . اولین گام در اه پياده سازی عناصر مدولار
تکنولوژی ظرا) یا بط لسیا؟) اجب پجتلرا ار( بود . هدف اولیه 08
ایجاد سندهای مرکب علهمحه) لصح() با استفاده از برنامه های
مختلف یوت
سندی که مقداری متن و مقداری نمودار دارد . و هر کدام آنها با نرم افزار خاص خود.
ایجاد شده اند ء نمونه ای از یک سند مرکب است . وقتی با متن کار می کنید رم افزارها
واژه پرداز کنترل را بدست می گیرد و وقتی با نمودارها کار می کنید نرم افزار ترسیمی
مسئولیت را به عهده می گیرد . 68() با وجود کندی و مشکلات دیگر
متلماً قدمی یه پیش يوه
fal a
صفحه 12:
تا یخچه کوتاهی از ذه) :
تكنولوزى 0/08 خود بر يك استاندارد کلی تر بنام 20000) یا
اط:() بط( ۳#() لستوار لست بزودی(0006) از سندهای
مركب فراتر رفت و 01/02 را هم بدنبال خود کشاند و از آن به بعد 0108 اصطلاحى
شد برای هر چیزی که از تکنولوژی 2060) استفاده می کرد . سالها بعد که میکروسافت
بطور جدی درگیر اینترنت شد . اصطلاح 928/۳) هم وارد ادبیات کامپیوتری شد .
ابتدا اين اصطلاح فقط در رابطه با اينترنت و وب بود اما اوضاع بدین منوال باقی نماند
و اكنون »م0098 به آن بخش از تكنولوزيهاى 0001 كفته مى شود كه در آنها يى
قطعه نرم افزارى امكانات خود را در اختيار برنامه هاى ديكر مى كذارد . يكى از ادعاهاى
»ه0099 ( كه بويره به اينترنت مربوط مى شود ) يشتيبانى از نرم افزارهاى توزيع شده
لجح ه0) است . و اين يعنى . كنترل هاى »28 19) به شما سرویس خواهند
دادء
fal ©
صفحه 13:
کوتاهی از «) :
حتی اگر در کامپیوتری دیگر ( و هزاران کیلومتر دورتر ) باشند . اما چه بر سر
002 آمد ؟ اين تكنولوزى دوباره به وضعیت اولیه اش برگشت و اکنون فقط با
ستتتهای مرب سروكار ذارة,.
صفحه 14:
نقاط ضعف و قوت >/۳۸) :
تکنولوژی 60۳8/۳ بهترین وسیله برای ایجاد محتویات فعال در وب است
البته برخی با این عقیده مخالفند و باید گفت که این تکنولوژی مسلما تنها ابزار
محتویات فعال وب نیست . پس اجازه دهید نگاهی به جنبه های مثبت و منفی
اين تكنولوزى بيندازيم .
نقاط قوت :
يكى از مهمترين نقاط قوت «8() قدرت آن است . یک کنترل 0۳۸۳۲ تقريباً
از عهده هر کاری که یک برنامه معمولی بتواند انجام دهد . برمی آید . از دیدگاه یک
برنامه نویس 9 بهترین جنبه یک ابزار خلق محتویات دینامیک است . دیگر
ابزارهای محتویات قعال » مانند جاوا و ODT در این زمینه بسیار محدودتر از
>صره() هستند . نکته مثبت دیگر ۰ حداقل برای بسیاری از اقراد . امکان استفاده
از مهارتهای عادی برنامه نويسى در خلق كنترل هاى “ج28 است .
روش انجام باركيرى هاى وب هم يكى از مزاياى «ر998) است
fal ae
صفحه 15:
نقاط ضعف و قوت >/۳۸) :
وقتی به یک صفحه وب که عناصر ۳8/۳ دارد می روید . وقایع ذیل اتفاق
می افتد :
۱- اطلاعات مختصری دربره کنترل و شماره ویرایش آن بار می شود .
۲- کاوشگر پررسی می کند که آیا اين نرم افزار در کامپیوتر شما نصب شده یا خیر .
۳- اگر اين نرم افزار در سیستم شما وجود نداشت ( یا اینکه ویرایش آن قدیمی تر بود)
, كاوشكر آنرا بار کرده و سپس نصب و اجرا خواهد کرد .
۴- اگر نرم افزار در سیستم شما وجود داشت . کاوشگر آنرا از همان جا اجرا خواهد کرد .
حتما متوجه مزیت این روش شده ايد : هر قطعه نرم افزارى فقط يكبار بايد بار شود
و دفعات بعد ديكر نيازى به بار شدن آن نخواهد بود بنابراين صرفه جويى زيادى در
زمان نمایش آن صفحه وب خواهد شد . در ابزارهایی مانند جاوا . اين قبیل نرم اقزارها
باید هر دفعه مجددا بار شوند و این اجرای آنها را به مراتب کندتر خواهد کرد .
fal a6
صفحه 16:
نقاط ضعف و قوت >/۳۸) :
نقاط ضعف - هیچ چیز کامل نیست !
شاید مهمترین جنبه منفی 08() ضعف امنیتی آن باشد . این ضعف ظاهرا یکی
از تبعات اجتناب ناپذیر قدرت و انعطاف تکنولوژی صم فاه است :مب ياك برقامه نويسن
شرور می تواند براحتی با این تکنولوژی نرم افزاری بسازد که به کامپیوتر دیگران صدمه
بزند . با توجه به اين وضعیت ۰ آیا می توان هنگام برخورد با کنترل های 6787 روی
اینترنت احساس راحتی کرد ؟ پاسخ این سئوال مثبت است و در ادامه توضیح خواهیم
داد که چگونه میکروسافت اقدامات امنیتی خاص را برای این تکنولوژی پیاده سازی کرده
است . با اين وجود همواره این مطلب را در نظر داشته باشید که هیچ سد امنیتی ذاتاً
تقوذ نایذیز يست +
یکی دیگر از نقاط ضعف تکنولوژی 78/۳۲() آن است که فقط برخی از کاوشگرهای
امروزی از آن پشتیبانی می کنند . اگر در یک صفحه وب نرم افزارهای 9۳8۳6) وجود
fal 06
صفحه 17:
نقاط ضعف و قوت >/۳۸) :
داشته باشد و فردی با یک کاوشگر که از «۳8/۳) پشتیبانی نمی کند این صفحه را باز
کند قادر به استفاده از مزایای آن نخواهد بود . خوشبختانه این مشکل آنچنان که به نظر
می آید حاد نیست . چون دو تا از مهمترین
lj] Octscape Ouviggion , Iotervet Pxplorer) G3 cle R595
تکنولوژی پشتیبانی می کنند ( اولی مستقیم و دومی از طریق یک افزودنی قابل نصب )
به هر حال . وقتی با برنامه نویسی اینترنت سروکار داریم ۰ این مشکل اساسا وجود ندارد
چون این ما هستیم که شبکه را کنترل می کنیم . مشکل دیگر رفتار کنترل های
cual I Bote که تمام آنها روی سیستم شما جا خوش کرده و فضای هارددیسک
را اشغال خواهند کرد . اما بنظر من نگرانی در این مورد هم بیهوده است چون عناصر
0() معمولا کوچکند و چند مگابایت le که احتمالا ( صدها کنترل
»ات6 ) اشغال خواهند کرد در هارد دیسک های بسیار بزرگ امروزی نمی توانند
مشکلی ایجاد کند .
fal ae
صفحه 18:
وضعیت جاوا چگونه است ؟
جاوا یکی دیگر از تکنولوژیهای عمده ایجاد محتویات فعال در اینترنت
اپلت های جاوا . که توسط کاوشگر بار و اجرا می شوند . دارای بسیاری از قابلیت
های «92#۳) هستند . اپلت های جاوا برای جلوگیری از اقدامات خرابکارانه . فاقد
توانایی های خاص ( از قبیل دسترسی به سیستم فایل /) هستند و این
آنها را بسیار محدود کرده است . از نظر تتوری . اپلت های جاوا ایمن هستند چون
اساسا نمی توانند کارهای خطرناک انجام دهند !
صفحه 19:
درك مفهوم جاوا و كنترل هاى »ورج 8 :
توسط شرکت 000 به بازار عرضه شده
جاوا یک زبانبرنمه نویسی کامپیوثر اسث که
است تا به وسیله آن برنامه نویسان قادر باشند برنامه هایی را برای مرورگرهای وب
بنویسند که کار با آنها برای استفاده کنندگان بسیار راحت باشد ابزارهای استاندارد
شبکه وب به فعالیت ها و عملکردهایی که از صفحه وب قابل دسترسی هستند محدود
مى شوند . با يك نرم افزار كامل برنامه نویسی مانند جاوا محدودیت های کمی برای
طراحی عملکردهای دورن یک صفحه وب وجود دارد .
بعنوان مثال شما می توانید با مراجعه به سایت اینترنتی .سم با
برخی از نمونه های کاری جاوا آشنا شوید . به شکل زیر توجه کنید :
6
صفحه 20:
درك مفهوم جاوا و كنترل هاى »ورج 8 :
* وسايل بالا و پایین برنده صفحه
به همراه صدا
* طراحی تصاویر سه بعدی از
اشیاء مختلف نظیر مولکول
انگرهای اعلان یک مطلب
که بطور خودکار عوض می شود
صفحه 21:
درك مفهوم جاوا و كنترل هاى »ورج 8 :
برنامه هاى جاوا را با نام 9۳۳۳) نامگذاری کرده اند . اع۳۳() جاوا توسط صفحات
وب بر روی یک سرویس دهنده وب نگهداری می شود . وقتی که شما یک صفحه وب
را که دارای قسمت هایی است که بوسیله جاوا برنامه ریزی شده نگاه می کنید.
برنامه های جاوا بصورت خودکار در هنگام دیدن آن صفحه وب از روی اینترنت گرفته
و بر روی کامپیوتر شما قرار می گیرند . برای انجام این کار . احتیاجی نیست شما
کاری انجام دهید .
نرم افزار 18" خود می داند که چگونه برنامه های جاوا را اجرا کند . یک برنامه جاوا به
همان سرعت که به دستگاه شما می رسد بر روی آن نیز اجرا می شود .
برای اینکه کامپیوتر خود را بصورت مطمئن نگهداری کنید نرم افزار 168" مدلی از
امنیت جاوا را به شما ارائه می کند که در آن اجازه اجرای کلیه اپلت های جاوا داده
شده است . بدون اینکه در مورد آسیب دیدن برنامه های کامپیوتر تان یا نفوذ به
fal eq
صفحه 22:
درك مفهوم جاوا و كنترل هاى »ورج 8 :
اطلاعات شخصى خودتان كه بر روى دستكاه شما موجود است نكران باشيد
. #ججه هل ساده ترين زبان برنامه نويسى كامييوتر است که برای طراحی
اجزاء صفحه وب شما بکار می رود .
تمل بوسيله شركت 57ج (1) به بازار عرضه شده است . برخلاف جاوا
اين نرم افزار نمى توائد براى نوشتن برنامه ها يا 0۳۳) بکار رود . ال
فقط برای اعمال ساده نظیر روشن کردن یک کلمه وقتی که شما با ماوس بر روی آن
می روید و یا تفییر شکل یک نشانه به شکلی که شما تصور کنید آن را فشار داده sal
بكار مى رود
Explorer اعدجه1» قادر است كه اكول را اجرا كند و صفحاتى را كه
در آنها از اجزایی استفاده شده که بوسیله ۱0/۵۷۲۱ برای همگان قابل استفاده
شده است ممکن است در نوشتن آنها مشکلاتی پیش آید و در نتیجه امکان دارد
fal ee
صفحه 23:
درك مفهوم جاوا و كنترل هاى »ورج 8 :
شما در هنگام دیدن صفحات وب با اشکالاتی در رابطه با دستورات امول
مواجه شوید و عملکردهای اه بر روی دستگاه شما به شکل
درستی اجرا نشود
شرکت ۳( دوست دارد که 8۳ت9) را یک مجموعه از امکانات جدید برای
ساختن صفحات وب فعالتر معرفی کند بر خلاف جاوا 28/۳۷ االسعست() یک زبان
برنامه نویسی نیست بلکه یک مجموعه از قطعات نرم افزاری است که توسط دیگر
نرم افزارهای برنامه نویسی نظیر جاوا می تواند استفاده شود . ۳8/۳() مانند
ص لله و حدم - زع() قابلیترم لفزار 165 را گسترشداده لست همچنین
oy) cole Cub @rtvex افزار جاوا را نیز بهبود بخشیده است . برنامه هاى »هع
ترل نامیده می شوند . مانند اپلت های جاوا , كنترل ها از روى اينترنت كرفة
می شوند و بر روی دستگاه شما اجرا می گردد این عمل هنگامی صورت می گیرد
که شما صفحات وبی را مشاهده می کنید که دارای کنترل های 28۳() هستند
fal 56
صفحه 24:
درك مفهوم جاوا و كنترل هاى »ورج 8 :
در گوشه پایین سمت چپ پنجره WB شما مى توانيد جمله ( نصب قطعات نرم افزارى )
وقتى كه كنترلهاى »جم ه09 در حال انتقال به دستكاه شما هستند را مشاهده مى كنيد .
مواقعى ممكن است شما با ينجره هايى در صفحه مانيتور كامييوترتان مواجه شويد كه
بوسيله آنها از شما سئوال مى شود كه آيا مى خواهيد كنترل هاى “جره به دستكاه
شما منتقل شوند يا نه ؟ تكنولوزى »0958 در حقيقت قسمتى از
مدلهاى 7ت ) (0000) مخفف مدلهاى شى ء كراى برنامه نويسى ميكروسافت
مى باشد ) ميكروسافت مى باشد .
اين مدل به برنامه نويسان اجازه مى دهد تا نرم افزارهايى بصورت مستقل براى صفحات
اينترنت خود ايجاد كنند و يا برنامه هايى را طراحى كنند كه عمليات خاصى را انجام دهد .
وقتى كه اين برنامه ها نوشته و طراحى مى شوند مى توان از آنها در جاهاى ديكر هم
دوباره استفاده كرد . در قسمت يايين تعدادى از كنترل هاى “ج096 كه در داخل IG
بكار مى روند آورده شده است :
fal ee
صفحه 25:
درك مفهوم جاوا و كنترل هاى »ورج 8 :
Power Porat gle bb Stl *
* رابطه هایی برای بکارگیری بانک های اطلاعاتی
* ساعت های بین المللی
* نقشه راه ها که کار با آنها ساده است .
یکی از بزرگترین امتیازات جاوا و 28/۷) که در عه - ال جم - بعلا) و
نمایشگر ها وجود ندارد این است که آنها بصورت خودکار کار می کنند و شما احتیاجی
ندارید که به پایگاه های اینترنت مراجعه کرده و آنها را به کامپیوتر خود منتقل کنید و
مدتی وقت صرف کنید تا فرم های ثبت نام شما را پر نمایید . پس از انتقال آنها به
دستگاه:مدتی را برای تصب آنها وقت صرف کُنید . از زمانی که نرم افزاز 108 توافست
ايلت هاى جاوا اعامم9) دمحل و كنترل هاى »ج8ت13) را اجرا كند كاربران اينترنت
ديكر احتياجى ندارند كه به يايكاههاى خاص براى كرفتن اطلاعات مراجعه كنند
fal es
صفحه 26:
درك مفهوم جاوا و كنترل هاى »ورج 8 :
بلكه ايلت ها و كنترل ها به همان سرعت كه به روى دستكاه شما متصل مى شوند
در همان فاصله نيز به اجرا در خواهند آمد .
پایگاه اینترنت مربوط به اطلاعات 2,۲)
صفحه 27:
بكار بردن کنترل های :@Ovtvex
کنترل های «8ه9) صفحات اینترنتی شما را بصورت زنده در می آورند بطوریکه
شما قادر خواهید بود فایل های صوتی زنده را اجرا کرده و یا نشانگرهای متغییر
را ببینید و بسیاری کارهای
مشابه دیگر .
صفحه 28:
بکار بردن کنترل های Driver
۱- به یک صفحه وب که دارای کنترل 2() است متصل شوید . به عنوان
مثال به آدرس فوق مراجعه کنید : /2دت دده دامحصعت|//نصتطا
. گزینه مربوط به اجرای یک فایل صوتی یا تصویری را کلیلک کنید -C
۳- در صورت نیاز گزینه ۱۷۳۳ را کلیک كنيد تا نصب کنترل 2۳8/۳) بر روی دستگاه
شما منتقل شده و اجرا می شود .
اگر شما به یک پایگاه اینترنت که دارای یک کنترل ۳8/۲() هست مراجعه کنید
نرم افزار 2108 چک می کند که کدام کنترل ها بصورت دیجیتالی oad aul اند . یک
کنترل تایید شده دیجیتالی برنامه ای است که بصورت مستقل تایید شده است که دارای
ویروس های کامپیوتری نیست و تاثیرات منفی بر روی دستگاه شما ندارد . شما می توانید
پنجره ای بر روی صفحه مانیتور خود ببینید که به شما اطلاع می دهد که آیا نصب کردن
این نرم افزار بر روی دستگاه شما به امنیت آن صدمه ای نمی زند و یا اخطار می دهد
fal 69
صفحه 29:
بکار بردن کنترل های Driver
که در صورت نصب به دستگاه شما بصورت نرم افزاری آسیب می رساند .
نکته :
جریان داده : در اینترنت به جای اینکه یک فایل صوتی بزرگ را قبل از اينکه بشنوید به
کامپیوترتان نكنيد از جریان داده استفاده می شود . پایگاههای اینترنتی اطلاعات
خود را بصورت یک جریان داده می فرستند . کامپیوتر شما پس از چند ثانیه از شروع
جریان داده آن را با خبر کرده و شروع به پخش آن می کند و به همین ترتیب آن فايل
صوتی یا تصویری را تا انتها اجرا می کند
fal 0
صفحه 30:
اجرای ۳۳۷۶۱() سمل و نمایشگرها :
نرم لفزار 168 یک اعامم9) تمعل را وقتی اجرا می کند که صفحه وب حاوی آن در
حال شروع به نمایش بر روی صفحه کامپیوتر شما می باشد . هزاران اع2۳() هل بر
روی وب وجود دارد نظیر نشانگرهای متفییر بالا و پایین برنده صفحه که از خود صدا تولید
می کند . ماشین حسابها و بسیاری از عملکردهای دیگر
اجرای یک : ۳۳9) مرول
0 به یک صفحه وب که دارای ۳۳۳() هل هست متصل شوید . به عنوان مثال
به آدرس های زیر مراجعه کنید :
۱۵۲۵:۷۷۷۷ ۱۵۵۳۵۵۵
ويا
ام اجه مسا لته
-O منوی 0۳۴۷( را انتخاب کنید و سپس گزینه مربوط به نمایش صفحه وب
fal 280
صفحه 31:
اجرای ۳۳۷۶۱() سمل و نمایشگرها :
همراه با اعام۳() نحل را کلیک نمایید . اعا۳() تمعل به کامپیوتر شما منتقل
خواهد شد و به اجرا در خواهد آمد .
۳- اگر لازم شد اطلاعات درخواستی اپلت های جاوا و یا منوهای مناسب آن را کلیک
کنید تا اجرای آن کامل شود .
صفحه 32:
خاموش کردن اجرا کننده : UID
. منوى ابزار را كليك كرده و سيس 089 192-20 را كليك كنيد -١
. جعبه مك0 را كليك كنيد -١
۳- صفحه را به پایین آورید تا tov DO cond برسید .
۴- جعبه مربوط به گزینه 68 طامسی) IIT ملد کلید 6( را کلیک کنید .
نرم افزار 168" دارای یک اجرا کننده نرم افزار است که دقیقا در همان زمان گرفتن برنامه
آن را اجرا می کند (61۲0 بصورت پیش فرض روشن است . وقتی که شما با مشکلی در
اجرای اپلت های جاوا (1(۳۲۳) !6 برخورد کردید . می توانید اجرا کننده 1
خود را در منوی () در ۳8() اع1۳" خاموش کنید . بدین ترتیب
اپلت های جاوا بر روی دستگاه شما دیگر اجرا نخواهند شد .
صفحه 33:
کنترل کردن 2۳/7) و برنامه های Nava
توسط 102 شما می توانيد دقيقا تعيين كنيد كنترل هاى »ج0098 و برنامه هاى
اصامرم() جمهل تا چه حد بر روی برنامه های دستگاه شما تاثیر بگذارند با استفاده
از مرآ" رومح9) استفاده کنندگان و مدیران شبکه می توانند درباره سطح
دسترسی کنترل های /028) و برنامه های 0۳۳۳۱) هل تصمیم بگیرند .
به عنوان مثال شما می توانید به برنامه های اعامم() ممعل که از پایگاههای معتبر
بر روی اینترنت دریافت می کنید اجازه دسترسی بیشتری به کامپیوترتان را بدهید و
یا اینکه جاوا اپلت های گرفته شده از پایگاههای غیر معتبر را از لحاظ دسترسی به
فایل های دستگاهتان محدود کنید تا نتوانند به آنها آسیب برسانند
fal 89
صفحه 34:
کنترل کردن ۳/7( و برنامه های كمسل :
cre ی
و
0
سس مس8
ا
ee
“Pre
اه فسات اه ملس سا اه له 8
Seat
“
Aasetonton stor —
fete fn | الع
“Gavaad| SSF vag Cat Comics Popane| Alves
Sad eben csc جوت مامص دا
cece eb tere
Sealy bolts
Custom
gute tess اس
صفحه 35:
کنترل کردن ۳/7( و برنامه های كمسل :
تغییر دادن درجه امنیت برنامه های >ضه)
0 منوی ۲۳۶ را کلیک کنید و سپس گزینه ۳8۳0( اس" را
۲- گزینه 2۳۳۷7) را در بالای پنجره کلیک کنید .
۳- بر روی گزینه مناسب کلیک کنید .
۴- آنگاه می: توائید با بالابردن نشانه » تدابیز امئیتی, شدیدتری اتخاد کنید
و یا بالعکس با پایین آوردن نشانه درجه امنیت را پایین تر بیاورید و
در اصطلاح به عاطم۳() جمجل اطمینان کنید .
۵- برای تغییر مشخصات حرفه ای تر می توانید گزینه ابا مصد را
کلیک کنید .
صفحه 36:
کنترل کردن ۳/7( و برنامه های كمسل :
۶- برای تغییر هر کدام از مشخصات زیر یکی از ۳ گزینه ( قابل اجرا) علطلب)
. آماده ۳۲۳۷() و ( غیر قابل اجرا ) را انتخاب کنید
* مشخصه ۲۲ت0) 9۳۲۷۷) در حقیقت امن بودن اسکریپت ها را چک می کند
* مشخصه بعدی امنیت اجرای کنترل های ۳/۲() و برنامه های ع — CPhagy
چک می کند .
* گزینه بعدی مربوط به گرفتن کنترل های 08/۳ تایید شده توسط علامت دیجیتالی
است (لصم)
* گزینه بعدی مربوط به گرفتن کنترل های 0۳8/۳6 تائید نشده توسط علامت های
دیجیتالی است (كجي :و (1))
* كزينه بعدى مربوط به مقدار دهی و اجرای کنترل های /908) است که امنیت
آنها تایید نشده است .
* كزينه 01 را كليك كنيد .
fal 89
صفحه 37:
2) و لمنیت
مطمئناً تا به حال درباره ویروس های کامپیوتری ( برنامه هایی که با آلوده کردن سیستم ها صدماتی
به آنها می زنند ) جيزهايى شنيده ايد . ويروس هاى مختلفى از انواع بى آزار تا بسيار مخرب وجود
دارند و تلاش هاى زيادى صورت مى گیرد تا جلوی اين آلودكى و انتشار ويروس ها گرفته شود
اما آيا اين احتمال وجود ندارد كه ويروسها ( يا ديكر نرم افزارهاى مخرب ) از طریق اینترنت پراکنده شوند ؟
در روزهاى اول وب اين خطر چندان جدی نبود چون سندهای ,1۷0و فایلهای گرافیکی و تصویری
تنها انواع فايل هايى بود كه روى اينترنت جايجا مى شد . اين قبيل فايلها مى توانستند خراب باشند
ما در ضمن هیچ خطری برای سیستمی که آنها ابا می کرد نداشتند
اما با روی کار آمدن محتویات فعال اوضاع دگرگون شد . چون در این حالت برنامه ها هم جزیی از وب
شده بودند و یک برنامه هم قاعدتاً هر کاری می تواند انجام می دهد
( از پاک کردن فایل های کامپیوتری مقصد گرفته تا دزدیدن اطلاعات آن و انتقال آنها به جاهای
نامعلوم ) .در انجابود که شرکتهای تولید کنندهازرهای برامه نویسی وب به ضرورت تمهیدات امنیتی پی بردند
وفتی در وب گشت و گذار می کنید . مایلید مطمئن باشید کدهایی که بار می کنید سیستم تان را بهم نخواهند.
ريخت
! براى مقابله با اين مشكل بالقوه دو روش اساسى ابداع شد
صفحه 38:
: Drtiver (cle ab
دادن درجه ا
۱- منوی ۳۶" را کلیک کنید و سپس گزینه ۳۸۳5() 10۳۲۱" را كليك كنيد .
۲- گزینه #مح) را در بالای پنجره کلیک کنید .
۳- بر روی گزینه مناسب کلیک کنید .
۴- آنگاه می توانید با بالا بردن نشانه . تدابیر امنیتی شدیدتری اتخاذ کنید و یا بالعکس با
پایین آوردن نشانه درجه امنیت را پایین تر بیاورید و در اصطلاح به #عامم9) محل اطمينان
sans,
۵- برای تغییر مشخصات حرفه ای تر می توانید گزینه اصربا مطصد) را کلیک كنيد .
۶- برای تغییر هر کدام از مشخصات زیر یکی از ۳ گزینه ( قابل اجرا ) -0؟) . آماده
pat ) 9 Procopt قابل اجرا ) را انتخاب کنید
* مشخصه >«ت() ۲۷() در حقیقت امن بودن اسکریپت ها را چک می کند
fal 99
صفحه 39:
تغییر دادن درجه امنیت برنامه های >رظم() :
* مشخصه بعدی امنیت اجرای کنترل های 2۳8/۳۳) و برنامه های 02 - 2۷!() چک می
* گزینه بعدی مربوط به گرفتن کنترل های 0۳8/۳ تایید شده توسط علامت دیجیتالی
است (Giged)
* گزینه بعدی مربوط به گرفتن کنترل های 2۳8/۳ تائید نشده توسط علامت های
یتالی است (ا())
گزینه بعدی مربوط به مقدار دهی و اجرای کنترل های 28/۳) است که امد
تشه ات
* كزينه 01 را كليك كنيد .
289
صفحه 40:
»ماك 9) و لملمنيت
روش اول آن بود که اساساً اجازه اعمال بالقوه خطرناک به برنامه های وب داده نشود . این راهی بود که
جاوا در پیش گرفت . اپلت های جاوا قادر به انجام افعال بالقوه مخرب ( مانند دسترسی به سیستم فایل )
نیستند و می توانيد مطمئن باشيد كه آنها یی خطر هستند درست همانگونه که یک چاقوی پلاستیکی
بی خطر است ادر روش دوم ۰ که میکروسافت برای عناصر 0۳8/۳) در پیش گرفت . به جای محدود
کردن ذاتی برنامه ها از یک تکنولوژی نام کد تعیین اعتبار ا 6004۳87 برای تعیین صحت
و سقم نرم افزارها استفاده می شود . ایده نهفته در اين روش این است که اگر شما بدانید که یک عنصر
«9ت() ( یا هر نرم افزار دیگری ) از کجا آمده ( خالق آن کیست ) و تفییری هم در آن صورت
نگرفته . ديكر مى توانيد با خيال راحت از آن استفاده كنيد . به اين روش امضاى ديجيتالى يا
. هم گفته می شود Digital Grier
fal 0
صفحه 41:
امضاء دیجیتالی از دیدگاه کاربران
وقتی از یک کاوشگر با قابلیت «/8) استفاده می کنید در واقع سطوح امنیتی مختلفی را در اختیار
دارید . که می توانید از آنها بسته به نیزتان استفاده کنید . این سطوح عبارتند از : ضعیف . متوسط .
شدید . برای انتخاب سطح امنیتی دلخواه در کاوشگر سط«) سس . آیتم
طام() اس را از منوی/۳2() لنتخاببکرده و سيسبه بركه بشهحج6) برويد.
در قسمتهایی ربیاو کمیت_پلنید سایتهایهر منطقه رالمنتخابكرهم و سيسرهر قسمتهاييزه يلوك
سطح امنیتی هر منطقه را تعیین کنید . سایتهای قابل اطمینان و شناخته شده را می توانید در منطقه
مورد اعتماد ( ل#") قرار دهید . این منطقه دارای سطح امنیتی ضعیف است . سایتهای ناشناخته
را در متطقه محدود ( لت 22۳؟)) که سطح امنیتی بالایی دارد . قرار دهید .
Vetercet Explorer stl cg عبارتند از
* شدید (1/۳۷) : برنامه های بالقوه خطرناک هرگز بار نمی شوند . هر اقدامی برای بار کردن محتویات
فعال به شما اطلاع داده خواهد شد .
(Derk) Luge * : هنكام باركردن محتويات فعال به شما اخطا
خواهید داشت که ( بر اساس امضاء دیجیتالی ) آنرا بار کنید
in) Gand * : تمام محتویات فعال بدون هیچ اخطاری بار خواهند شد .
fal eq
داده می شود ولی این امکان را
صفحه 42:
امضاء دیجیتالی از دیدگاه کاربران :
قابل تنظیم (مص()) : می توانید برای هر نوع محتویات فعال سطح امنیتی مناسب ( هرگز بار نشود
با دادن اخطار بار شود . هميشه بار شود را تعیین کنید . توصیه می شود تا زمانیکه با تمام انواع
محتویات موجود در وب آشنا نشده اد از اين گزینه استفاده نکنید
روش کار اين سیستم چنین است : وقتی به صفحه وبی می روید که می خواهد محتویات فعال خود را برای
شما بفرستد . کاوشگر ابتدا امضای دیجیتالی تمام آیتم های نرم افزاری آنرا چک می کند . اگر امضای
دیجیتالی وجود نداشته باشد . محتویات فقط در سطح امنیتی ضعیف اجازه بارشدن خواهند داشت . در
غیر این صورت . با توجه به اطلاعات موجود در امضای دیجیتالی . سالم بودن آيتم ها ( عدم تغيير در
محتویات آنها ) بررسی می شود . ضرورت این کار از آنجا ناشی می شود که افراد شرور می توانند برای
یک نرم افزار بی ضرر امضای دیجیتالی و تائیدیه یگیرند و سپس آنراتغییر داده و بصورت خرابکار
و خطرناک در آورند
در سطح امنیتی متوسط نام تولید کننده نرم افزار بایستی از منابع تایید شده از سوی شما مطابقت داده
خواهد شد . اگر اي نام در لیست مورد اعتماد شما نباشد . دیالوگی موضوع را گوشزد کرده و اجازه بار
کردن آنرا به شما خواهد داد . در همین دیالوگ می توانید تولید کننده مزبور را هم به لیست
معتمدین خود اضافه کنید .
fal مم
صفحه 43:
امضای دیجیتالی از دید برنامه نویسی :
در یک امضای دیجیتالی سه دسته اطلاعات وجود دارد : هویت تولید کننده رم افزاره هویت منبع تایید
کننده ( سازمانی که امضاء را صادر کرده ) و یک عدد رمز برای تایید اين مطلب که محتویات نرم افزار
دستکاری نشده است .
اگر می خواهید برای وب محتویات فعال بنویسید بايد يك كواهينامه كد تعيين اعتبار براى خود دست
و با كنيد تا بتوانيد براى نرم افزار هاى خود امضاى ديجيتالى بكيريد . اكر فقط براى اينترنت برنامه
مى نويسيد نيازى به اين مراحل نداريد جون سطح امنيتى در آنها معمولا بايين است و نيازى به امضاى
ديجيتالى وجود ندارد
اكر Bye براى شركت خود نرم افزار مى نويسيد مى توانيد از كواهينامه آن استفاده كنيد . اما توصيه
می شود خودتان هم اين گواهینامه را بگیرید .با آن که شرکتهای متعددی برای صدور گواهینامه کد
تعیین اعتبار وجود دارند . ميكروسافت شركت 0099 () را توصيه می کند . برای کسب اطلاعات بیشتر
عتی توانید به سایت: وب این شرکت که دز زیر آمده است مراجعه کنید:
httpsiwww.verisign.comdevelopersiindex html
هزینه دریافت این گواهینامه ۲۰ دلار در سال و مراحل انجام آن بسیار ساده است
در سایت مزیور . یک فرم پر کنید و در آن اطلاعات خواسته شده ( از جمله اطلاعات
fal 6
صفحه 44:
امضای دیجیتالی از دید برنامه نویسی :
مربوط به کارت اعتیاری ) را وارد کنید
۲. شرکت وي+ذ2() كد شناسايى شما را با پست الکترونیک برایتان ارسال خواهد کرد .
۳ به صفحه نصب گواهینامه رفته و کد شناسایی خود را وارد کنید . اين کار باید در همان کامپیوتری که
توسط آن کد شناسایی را گرفته ايد . انجام شود . ۴. گواهینامه به کامپیوتر شما فرستاده خواهد شد.
هنكام ثبت كواهينامه دو كزينه در اختيار داريد : ذخيره کردن آن در یک فایل یا در رجیستری ویندوز
توصیه می شود گواهینامه خود را در یک فایل و روی دیسک ذخیره کنید تا بتانید آن را از گزند نامحرمان
حفظ كنيد . در « دو قایل به کامپیوتر شما فرستاده می شود : یکی حاوی خود گواهینامه
( با بسوند ) 0100© و ديكرى حاوى كليد رمزبندى ( با يسوند ) 60006 .
صفحه 45:
نرم افزارهای مورد نیاز برای امضای دیجیتالی :
بعد از دريافت كد تعيين اعتبار و كليد رمز بندى . آماده ايد تا امضاى خود را به نرم افزارهايى كه
نوشته اید اضافه کنید . این برنامه ها جزیی از کیت توسعه نرم افزلر 8(28۳۷) هستند و می توانید
آنها را مجانی از سایت میکروسافت بردارید . فايل هايى كه نياز داريد از اين قرارند :
Orn * جاه( : يك كواهينامه ©7).©00 براى تست مى سازد .
۶ 6 (۳(): یک گواهینامه توزیع نرم افزار آزمایشی می سازد .
* «۳() 9:۳ : یک فایل محتویات فعال را امضا می کند .
Prat * 0115 : اعتبار فايل ly بررسی می کند ( مشابه همان کاری که کاوشگر می کند )
gad: Dake OTL * 31 گواهینامه های قابل اعتماد می سازد .
* () ۳۲۷( : برنامه مدیریت گواهینامه ها . لیست های گواهینامه های قابل اعتماد و باطل شده .
* ۷ ): برنامه ثبت گواهینامه در رجیستری .
بايد توجه داشت كه تمام اين ابزارها برنامه هاى 00005 هستند و بايد ينجره 0008-0008 اجرا
شوند . براى باز كردن نرم افزارهاى فوق مى توانيد به آدرس زير مراجعه كنيد :
۱۵/۷۷۷۸۸۹۹۵
fal es
صفحه 46:
جاوا چیست ؟
جاوا یک زیان برنامه نویسی است که در اوایل دهه ٩۰ توسط BOP مرول , بخ
2۲) توسعه داده شد . هدف آن بود که جاوا زبانی ساده . قوی و همه منظوره باشد . جاوا تمام
جنبه های مثبت () و +604 را در خود دارد » و آن چیزهایی که
برنامه نویسان +*2) از آن نقرت داشته اند
( مانند ورائت چند گانه . تحریف اپراتورها و اشاره گرها ) را به کناری گذاشته است
مهمترین ویژگیهای جاوا این است که اساسا شیء گرا است . اولین ادعای 66۳() توانایی استفاده مجدد
از کد است : چیزی كه +04 با تمام ادعاهایش هرگز نتوانست بدان دست یابد .اما در اولین قدم خواهید
دید جاوا در اين زمینه نا چه حد اندازه صحت دارد . تصورش را بکنید که با صرف کمی وقت بتوانید
برنامه ای بنویسید که در سیستم های ویندوز ؛ بونیکس و مکینتاش براحتی اجرا شود . همین که یک
شركت نرم افزارى بتواند براى تمام بلاتفرم های موجود در آن واحد پروژه ای را تولید کند و مقادير
عظیمی پول صرفه جویی کند ) خود می تواند بهترین دلیل اقبال جرا باشد و امروز دیگر همه
( و نه فقط شرکتهای نرم افزاری ) به سمت جاوا کشیده شده اند .با این ویژگی ( استقلال از لاتفرم )
یک برنامه نویس می تواند برای سیستمی برنامه بنویسد که هرگز با آن کار نکرده است . این ویژگی
اصلی ترین علت توفیق جاوا در اينترنت است . اینترنت شیکه پیچیده ای است از میلیونهاکامپیوتر
صفحه 47:
جاوا چیست ؟
در سراسر دنیاء و مقاومت در مقابل این وسوسه که یتواند برنامه ای بنویسد که روی تمام این سیستم های
متفاوت و نا متجانس اجرا شود چندان ساده یست . ۱
جاوا یک زبان بسیار ساده است چون شما را وادار نمی کند تا در محیط جدید ( و نا آشنايى ) كار كنيد
و این برای کسانی که اطلاعات فنی ناچیزی درباره کامپیوتر دارند بسیار مهم است . ساختار زبان جاوا در
نگاه اول بسیار شبیه 0 و +2 است و این به هیچ وجه تصادفی نیست . O زبانی است ساخت یافته
و +:() زبانیست شیء گرا و مهمتر از همه قسمت اعظم برنامه نویسان دنیا از آنها استفاده می کنند از سوی
دیگر اين شباهت حرکت به طرف جاوا را برای این قبیل افراد ساده خواهد کرد بتابراین طراحان جاوا برای
اجتتاب از دوباره کاری از زیانهای 62 و ++() بعنوان مدل استفاده کردند .
جاوا با دور انداختن اشاره گرها و بر دهش کشیدن بار مدیریت حافظه . برنامه نویسان () و++() را برای
همیشه از این کابوس ها رهایی بخشیده است . علاه بر آن چون جاوا زبانی برای اینترنت است . از ایمنی
و حفاظت ذاتی بالایی برخوردار است . طراحان جاوا از ابتدا یک محیط برنامه نویسی امن را مد نظر
داشته اند . مسئله حفاظت سیستم ها رایطه تنگاتنگی با اشاره گرها دارد. اکثر مهاجمان برای ورود
غير قانونى به سیستم های دیگران از این اشاره گرها استفاده می کنند و جاوا با حذف اشاره گرها این راه
را سد کرده است . جاوا مکانیزم های حفاظتی دیگری هم دارد که در جای خود به آنها اشاره خواهیم کرد
fal ee
صفحه 48:
تکامل جاوا :
جاوا هم مانند اکثر اختراعات مهم حاصل تلاش گروهی دانشمندا
جاوا آن است که جوا از ویرانه های یک پروژه شکست خورده سر بر می آورد
اگر پروژه گرین (۳)) که شرکت 2 در سال ۱۹۹۱ آن را شروع کرد به موفقیت می انجامید
آمروز نه سان دیگر یک شرکت کامپیوتری من بود و ثه جاوا در سال ۰۱۹۹۱
شرکت مرس ۳() م() در آغاز راه تبدیل شدن به بزرگترین تولید کننده ایستگاههای
كارى 19©6) بود و در طول فقط بنج سال درآمدش را از ۲۱۰ میلیون دلار به ۵/۲ میلیارد دلار رسانده
بود و به نظر می رسد هیچ چیز نمی تواند جلودار آن باشد . عامل عمده موفقیت 9) کارهای بیشتازانه
در ايجاد شبكه هاى باز بود و در اين زمينه هيج كس به باى آن نمى رسيد
مدیران 9۷) به این فکر افتادند تا کاری کنند که این رشد برای مدتی طولانی ادامه یابد یکی از
زمینه های مورد علاقه 2۲) بازار لوازم الکترونیکی بود ۰ پروژه ۳۳() بوجود آمد تا برای اين بازار
نرم افزاری پیشرفته خلق کند .
مهندسان 0) توجه خود را به میکروپروسسورهایی معطوف کردند تا دارای قابلیت استفاده در این گونه
سیستم ها باشند . اگر پروژه 69۳۳۳ می خواست موفق یاشد باید کاری می کرد تا سیستم
مزیور بتواند به راحتی یه بسترهای سخت افزاری مختلف منتقل شود براى اين منظور ابتدا از
fal 6
از است . اما نکته جالب درباره
صفحه 49:
تکامل جاوا :
کامپایلر (6++ استفاده شد ولی بزودی نارسایی های 460+ در اين زمینه خود را نشان دادند . مهندسان
9۲) خیلی سریع دریافتند که بای ادامه كار بايد جيزى جدید و قوی خلق کنند. در همین زمان بود
که 2۷۷ حول کار بر روی زبان جدید اوک ۲۱۳4 را شروع کرد تقدیر آن بود که اين زبان جاوا
نامیده شود . چون اداره ثبت نام های تجاری ۳4() را رد کرد
بتدریج مهندسین یک دستگاه شبه لتو) اطلیم) امسس۳) -۳)0۲0) ساختند که در آن از
سیستم عامل ۰ زبان برنامه نویسی و واسط کاربر جاوا استفاده شده بود و با وجود ابتدایی بودن
توجه مدیران © را به خود جلب كند
بعدها گروهی که در پروژه IS Brows 095 بودند شركت 90إم8) نول را بنیان نهادند
شکل زیر بايكاه وب اين شركت
صفحه 50:
The low-cost move is on.
“Two new servers and market beating ces
tetend Sun's push into the 86 arena
: tec] & lave
Ja Cerarnow
صفحه 51:
تکامل جاوا
برای رفتن به اين پایگاه اینترنتی مى بايست به آدرس زير مراجعه كنيد
۱۵۵۵:۷۷۸۷
متاسفانه بخت با پروژه 3۳۳۳) یار نبود و بعد از چند شکست متوالی Grr 31 را کنار گذاشت .
در همین زمان بود که عده ای از محققان eat |, Det Grape 25,5 DOGO كردند و
این اتفاقات با آتشی كه به سرعت دنیا را در می نوردید و شبکه تار عنکبوتی جهانی 400000
(که مختف «اع() 60:4 1۸۷) می باشد) نام داشت همزمان شد
باراین اتفاقى نبود که مهندسان پروژه 9۳)به سمت اینترنت و وب بهعنوان بستر پوژه 7
روانه شوند و بعد از آن دیگر جزء تاریخ است
چهار سال بعد پروژه ay Brewer بار نشست و جاوا تبدیل به داغترین موضوع اینترنت شد .
همه از برنامه نویسان و طراحان صفحات وب گرفته تا کاربران اینترنت مى خواهند از جاوا استفاده کنند
© باغاصله بسولیچاوا ینک اوشگر هم توليد كرد . ليراوليرك ايشكرئبود كه مئت ونس طيلتهاى
جاوا را اجرا کند و نام آن هم مهل اوبا!/ بود
fal eq
صفحه 52:
ویژگیهای زبان برنامه نویسی 0« :
جاوا ویژگیهای متعددی دارد که آن را منحصربه فرد کرده است . جاوا هم کامپایلر دارد و اینترپرتر
توضیح : ( کامپایلر برنامه ای است که متن برنامه را گرفته و در پایان یک فایل توليد می کند .
بعد از كامبايل شدن يك برنامه . دیگر به وجود كامبايلر نيازى نيست و مى توان برنامه 7« را روی هر
كامبيوتر سازكارى اجرا كرد . اما اینترپرتر هیچ برنامه جع ای تولید نمی کند و برنامه را خط به خط اجرا
مى کند . برای اجرای برنامه حتما باید اینترپرتر هم روی کامپیوتر مورد نظر موجود باشد )
هر کامپایلر فقط برای یک سیستم خاص ( مانند اینتل . اپل یا آلفا ) می تواند کد اجرایی تولید کند اما
كامبايلر جاوا كد اجرايى 8*7 توليد نمى كند و در عوض يك فايل بينابينى مى سازد كه بايت كد
طحت ابر8) نام دارد و بايت كد جيزى شبيه زبان اسميلى است . اما اين زبان مختص هيج يروسسور
خاصى نيست بلكه زبان اسمبلى يك ماشين ويزه بنام ماشين مجازى
جاوا ( بجه() اع+<() ملع دارد که روی ماشین مجازی جاوا اجرا می شود . دستورات فایل
بای کد را به دستورات قابل فهم برای پروسسوری که روی آن اجرا می شود تبدیل خواهد کرد
se
صفحه 53:
ویژگیهای زبان برنامه نویسی تلا :
برنامه های کاربردی جاوا
اشیاء جاوا
ماشین مجازی جاوا
ote
ویندوز
©0059 مكينتاش
سیستم عامل
صفحه 54:
ویژگیهای زبان برنامه نویسی 0« :
اما شاید از خود سئوال کنید که چرا جاوا این همه کار را بر خود ( و دیگران ) سخت گرفته است ؟
این همه لایه و ماشین مجازی برای چیست ؟ یکی از ادعاهای جاوا . آزاد بودن از بستر سخت افزاری است
اما اين یعنی چه ؟ اگر جاوا بخواهد در اینترنت موفق باشد برنامه های آن باید بتوانتد بدون هیچ اشکالی
روی تمام کامپیوترهای متصل به اینترنت اجرا شوند . اما شما بهتر مى دانيد كه اینترنت شبکه عظیمی
است از کمپیوترهای نامتجانس . از سوپر کامپبوترهای عظیم گرفته تا 6۳60 های مبتنی بر پروسسور های
اینتل و اور پی سی تا ماشین های یونیکس مبتنی بر پروسسورهایآلفا و .۱۰
چگونه یک برنامه اجرايى مى تواند روى اين طيف وسيع كامبيوترها اجرا شود ؟
ابده اوليه ساده است : برنامه ها براى ماشين مجازى كامبايل شوند و اين ماشين مجازى روى تمام
كامبيوترهاى متصل به إينترنت نصب شود .
اين دقيقاً همان روشى است كه جاوا در بيش كرفته است . برنامه تان را با يك كامبايلر جاوا كامبايل كنيد ٠
آن را در بايكاه وب خود قرار دهيد و به ديكران اطلاع دهيد تا با يك كاوشكر مجهز به جاوا
(صد8) لاطب 8) - تحدل ) اين برنامه را كه ممكن است در دل يك صفحه وب قرار داشته
باشد اجرا كنند
شايد هركز تصور نمى كرديد كه برنامه أى را كه با يك 0*0 اينتل نوشته ايد روى يك ماشین مکینتاش
9
صفحه 55:
ویژگیهای زبان برنامه نویسی هل :
ونيكس اجرا شود ولی اکنون به لطف جاوا این دیگر آرزویی دست نیافتنی نیست .
شیء گرایی در جاوا به غایت خود رسیده است . جاوا در استفاده از اشیاء بسیار مفید و سخت گیر است
و تخطى از اصول را نمى يذيرد . در 10+ شما مى توانيد از اشياء به موازات برنامه نويسى به سيك
ead استفاده كنيد و اكثرأ در بايان كار جنان ملغمه اى يوجود مى آيد كه مديريت آن با روش هلى
برنامه نویسی شی ء گرا امکان دارد نه با روش های قدیمی . جاوا دیگر به شما اجازه نمی دهد تا خود را
در چنین مخمصه ای گرفتار کنید !
صفحه 56:
ایجاد یک اپلت جاوا :
ایجاد اپلت با ایجاد برنامه فرق دارد و قواعد متفاوتی بر آن حمکفرماست . یک اپلت برای اجرا در صفحات وب
نوشته می شود .بنایراین کمی پیچیده تر از یک برنامه است . در واقع یک اپلت تا زمانی که در یک کاوشگر
اجرا نشود خروجی خود را نمایش نخواهد داد
بايد سعی شود برنامه ها . اپلت ها و صفحات وب را در دای رکتوریهای جداگانه ذخیره کرد . اپلتی که در این
قسمت مى نويسيم pb Weeks Dorkd Bpplet دارد . به لیست زیر نگاه کنید
import java. Awt. Graphics;
x public class Hello World Applet Extends java. Applet. Applet {
4:
5: Public Void Paint (Graphics G) {
6: g. drawstring (‘Hello World!”.5 , 25 );
7}
8:}
fal 5
صفحه 57:
ایجاد یک اپلت جاوا :
آپلت را با نام ول 0۷ج" ذخیره کنید. در مورد یک اپلت باید به چند نکته توجه کنید
دستور ۲۲۳۳۷ در خط ۱ شبیه دستور #ط»۱۳۸ در زبان () است با این دستور اپلت می تواند از
WOK chars برای کارهای گرافیکی استفاده کند .
متد ۲۳۳90 ( ) برای نمایش محتویات اپلت است در این جا عبارت ۳۲۸۱() ۱۲1۷۳ روی صفحه نمایش
داده خواهد شد اپلت ها متد ۳۳۷( ) ندارند و به جای آن از متدهای ۳( ) و 04() Prorat L
() استفاده می کنند
براى كاميايل كردن اين ابلت جنين بايد کرد iava Weblo Dorkd Bpptet. fav در این حالت هم
کامپایلر یک فایل کلاس Wels Dodd @pplet. Chae pli ایجاد خواهد کرد اما برای اجرای یک
اپلت یک قدم دیگر هم باید برداشت و آن ایجاد یک فایل (,1 است که اپلت در آن اجرا خواهد شد
می توانید یک فایل 1۳6۸" را برای این منظور مشاهده كنيد
fa 8?
صفحه 58:
| Welle Dordd اجرای اپلت sly WPOL S,
: <html>
: <head>
: <title>Hello to Everyone</title>
: </head><body>
: <p> My Java Applet says:
: <applet code=”"Hello World Applet. Class” width=150 height=25>
: </applet>
: </body>
: Jhtml>
fal Se
سم رع دن كد ها ب ب مو ها
صفحه 59:
| Welle Dordd اجرای اپلت sly WPOL S,
تحلیل برنامه
برای اجرای یک اپلت در فایل .ل(111۳ باید از برچسب < اطم > استفاده کرد برای مشخص کردن
نام کلاسی که اپلت در آن است از صفت 6062()() استفاده کنید . برای مشخص کردن ابعاد پنجره ای که اپلت
در آن اجرا خواهد شد از صفت های )و 1,۳۸۵ استفاده کنید . اعداد مشخص شده بر حسب پیکسل
هستند اين فايل را با نام ۳ اطمم0(!49اس/ ذخیره کنید حالا آماده اید تا اپلت را اجرا کنید
أين كار به حو روش امکانپذیز است:
Det Goer scile Igle as استفاده از كاوشكرهاى مجهز -١
© استفاده از برنامه Bpplet Otrwer كه با 10006 مى آيد . اين برنامه كل صفحه وب را نمى تواند
نمایش دهد و فقط ابلت را نمايش خواهد داد
براى ديدن ابلت در يك كاوشكر , فايل |**! فوق را باز كنيد ۰ با این کار صفحه وب و اپلت درون آن
ابه نمايش در خواهد آمد . روش استفاده از جيجه اجاترجه چنین است
fal 69
صفحه 60:
| Welle Dordd اجرای اپلت sly WPOL S,
نكته : با وجود اينكه مى توان برنامه ۱۸۲ 0۳۲7۳۱ را از محل فايل hier اجرا کرد ولی در اين حالت
بدون بستن آن نمی توان اپلت را مجدداً بر کرد . در حالیکه اگر مشاهده گر اپلت از محل دیگری اجوا
شود ( مانند دستور فوق) می توان یک اپلت را تغییر داده . مجدداً کامپایل کرده و سپس دوباره در
مشاهده گر بار کرد .
بطور کلی جاوا یک زبان برنامه نویسی است که با آن می توان برنامه های متنوعی نوشت بیشترین
کاربرد جاوا در اینجا اپلتهایی است که در کاوشگرهای وب قابل مشاهده هستند
اپلتهابرنامه هایی هستند که جزیی از صفحات وب محسوب می شوند . تقریباً هر کاری بالپلت ها
امکانپذیر است .
قدرت جاوا در سادگی و استقلال از آن بستر سخت افزاری ( چه در فایل منبع برنامه و جه در كد
باینری آن ) لست . با جاوا می تون برنامه هایی هم نوشت که بدون کاوشگرهای وب قابل اجرا
باشند . اپلت های جاوا را فقط در فایلهای 1/1۳6 می توان مورد استفاده قرار داد .
fal eo
صفحه 61:
برنامه نویسی شی ء گرا و جاوا :
OOP) — سس 12) لد () ادصزط()) يكى از بز ركترين ايده هاى برنامه نويسى در دو دهه اخير
است که نیاز به تسلط کامل دارد .
مفاهیم برنامه نویسی شی ء گرا :
ابرنامه نويسى شى ء گرا قصد دارد مدلی از دنیای واقعی را وارد برنامه نويسى كامبيوتر كند دنياى اطراف ما از اشياء
ساخته شده است
اشیاء (۳۳ت() و کلاسها (عصیعم) :
شیی ء کلیدی ترین مفهوم برنامه نويسى شى كرا است هر شى ء يك حالت و رفتار دارد و برنامه عبارت است از بر
هم كنتن بين أشياء...حالت :يك شى » عبارث:است از متفييرهاى عناص داده اى شين :و.مقدار آنها : رفتار يف
شی ء را متدهاى آن تعيين مى كند . شىء در واقع مقدارى كد است كه كار خاصيتى انجام مى دهد
هر شىء كيسولى است از مقدارى متغيير و كد كه کار نگهداری و به روز در آوردن آنها را ساده مى كند . معمولاً
درون يك شىء از دسترس دنياى خارج به دور است و برای كار با آن بايد از ارسال بيام استفاده كرد . مزیتش آن
است که كاربر براى كار با آن هيج نيازى به دانستن مکانیزم های درونی آن
صفحه 62:
برنامه نویسی شی ء گرا و جاوا :
ندارد و فقط باید ساختار پیام ها را بداند . معمولاً ساختار پیام ها در لشیاء مختلف یکسان است . در
دنیای واقعی هم وضع به همین منوال است مثلا برای استفاده از یک تلویزیون شما هیچ نیازی به آشنایی
با پیچیدگیهای درون آن ندارید فقط کافی است بدانيد كه بايد آن را به برق زده و روشن كنيد و يك
كانال را انتخاب كنيد . كلاس در ولقع الكويى است براى ايجاد شىء . در واسط برنامه نويسى جاوا (سمهم
1 جندين كلاس مختلف وجود دارد .
جندين كلاس با هم يك كتابخانة كلاس Chase Library مى سازند .
امه نويسى جاوا اصولاً جيزى نيست جز طراحى و يياده سازى كلاس ها
صفحه 63:
برنامه نویسی شیء گرا در جاوا :
برنامه نویسی شیء (606۳() یکی از بزرگترین ایده های برنامه نویسی در دو دهه اخیر
است » اما تسلط کامل بر این ایده به سالها زمان و ممارست نیاز دارد. برنامه نویسی
شیء در واقع پیوند دنیای ولقعی با برنامه نویسی کامپیوتر است . در اینجا با مقاهیم
برنامد نویسیی: شیء گرا دز چاوا و ارتباط اپن:مفاهیم با ساشثار بزنامه ها آفتا عی شویم
*قیء وگلانن چیست ورابطه آنها چگونه اس
* یک شیء یا کلاس دو جزء مهم دارد : رفتار و حالت .
* ورائت و نقش آن در طراحی برنامه ها .
* بسته ها و واسط ها در جاوا
صفحه 64:
ایجاد یک OW
در این قسمت یک مثال عملی خواهیم آورد . در این مثال یک موتور سیکلت را شبیه سازی می کنیم .
یک موتور سیکلت ولقعی دارای حالت و رفتار خاص خود است . حالت موتور سیکلت در واقع همان خواص
آن ( مانند رنگ . مدل نوع و ..) است . مجموع این خواص یک موتور سیکلت خاص را مشخص خواهند
کرد که از موتور سیکلت های دیگر قابل تمیز است . هر شیء وهله ایست از یک کلاس . کلاس موجودی
قابل لمس نیست . در حالیکه شیء موجودی است قابل لمس که به کلاس خود موجودیت داده است
مثلاً . انسان یک کلاس است در حالیکه شما نمونه ای هستید از کلاس انسان . شما موجودیت دارید در
حالیکه چیزی بنام انسان وجود خارجی ندارد؛ بلکه در اشیاء خاص ( من » شما ۰ دیگران ) موجودیت می
یابد .
موتور سیکلت ما دارای رفتارهایی هم هست . رفتارهایی مانند روشن شدن ۰ خاموش شدن ۰ تعویض
دنده . سرعت گرفتن ۰ ترمز کردن و غیره . ادیتور خود را اجرا کنید و کلاس موتور سیکلت را مانند ذيل
اتعريف كنيد :
Class Motorcycle {
}
fal or
صفحه 65:
ایجاد یک کلاس :
البته اين کلاس هنوز کار چندانی انجام نمی دهد ( در واقع هیچ کاری انجام نمی دهد ا) اجازه دهید
کارمان را با تعریف چند متغییر حالت ادامه دهیم . این تعریف ها را بعد از [ ولرد کنید :
String make;
String color;
(Class library)Boolean engineState;
fal es
صفحه 66:
نکته
بر خلاف (۰۲ متفییرهای ۳8۷) فقط مقادیر 1 یا ۳۳۳۳) می گيرند و نمی تواندد عدد +
حال چند رفتار (متد ) به اين کلاس اضافه می کنیم .
گفتیم که یک موتور سیکلت می تواند رفتارهای متعددی داشته باشد ولی ما در اینجا برای سادگی کار
فقط متد روشن شدن موتور را پیاده سازی خواهیم کرد
کد ذیل را بعد از تعریف متغییرهای حالت اضافه کنید
صفحه 67:
Void startEngine()
If (engineState == True)
System. out. printIn(“The engine is already on.”);
Else {
engineState = True;
System. out.println (“The engine is now on.”);
صفحه 68:
ایجاد یک كلاس
این متد ابتدا تست می کند که آیا موتور روشن است (م2 <9جس) ۰ اگر چنین باشد
فقط با پیامی اين موضوع را گوشزد می کند . اگر موتور روشن نباشد. آن را روشن کرده و پیام
می دهد که کارش را به پایان رسانده است .
كلاس را با نام .حاص 6ه7) ذخيره كنيد . اين كلاس تا اينجا بايد جنين باشد :
صفحه 69:
Class motorcycle
1
String make;
String color;
Boolean enginestate;
Void StartEngined)
If (engineState==true)
System. out printin (“The engine is already on.”);
Else )
engineState=true;
Systern.out.printin¢-The engine is now on.”)
fal 9
صفحه 70:
ایجاد یک کلاس :
قبل از کامپایل کردن این کلاس : اجازه دهید یک متد دیگر به آن اضافه کنیم . این متد 9۳
» مقدار فعلی متغییرهای حالت یک ومله خاص از این کلاس را نمایش خواهند داد . این متد چنین است
Void showArts()
{
System. out.println(“This motorcycle is a "+ بزع كلق ”ترم زوع
If (engineState= = true)
System. out.printIn(“The engine is on.”);
Else System.out.printin(“The engine is off.”);
fal eo
صفحه 71:
ایجاد یک OW
این متد دو خط اطلاعات روی صفحه نمایش خواهد داد
خط اول رنگ و نوع موتور سیکلت . و خط دوم حالت موتور آن را نمایش می دهد
فايل را ذخیره کرده و سپس آن را با عم كامبايل كنيد :
گر سعی شود این کلاس را بالینترپرتر جاوا اجرا کنید . با خطا مواجه خواهید شد چون اینترپرتر
دنبال متدی بنام ۳۳08() می گردد و چون آن را نمی play ub, خطای ذیل را نمایش خواهد داد :
coral (tac rcp cot cePiced رحاس ج000 اه 10
برای آنکه این کلاس را عملیاتی کنیم باید یک برنامه جاوا بنویسیم و در آن از این کلاس استفاده
کنیم
ما روش ساده تر آن است که به این کلاس یک مند ۳۳80( اضافه کنیم . لیست زیر این متد را نشان
می دهد .
fal a
صفحه 72:
اد یک OW
متد 0ماعصدبرآی مزع ماما
Public static void main (string args[]){ :1
Motorcycle m=new motorcycle(); :2
mmake = “Yamaha RZ350"; :3
mcolor="yellow”; :4
System_out.printIn(‘Calling Show Arts...°); :5
mshow ArtsQ; :6
System.out.printl (5.0.0.0... ;7
System.out println(Starting engine..."); :8
mstartEngined; :9
System.out.printIn(*.....") :10
System.out.printin(“Calling show Arts. :11
m.show Arts); :12
System.outprintin(*......."); :13
System. out.printin(*Starting engine...”); :14
mstartEngineQ); ;15
}:16
fal ©
صفحه 73:
ایجاد یک OW
با لضافه کردن لین متد . کلاس ۳۳۳۲( اکنون یک برنامه است و می توان آنرا کامپایل و اجرا
کرد . خروجی برنامه شبیه ذیل خواهد بود Calling Show Arts
This motoreyele is a yellow Yamaha RZ350
The engine is off.
Starting engine ...
‘The engine is now on.
This motorcycle is a yellow Yamaha RZ350
The engine is on.
Starting engine ....
The engine is already on.
fal 9
صفحه 74:
تحلیل برنامه :
چیزهایی که در مند 070800 می بینید خط ۱ تعریف متد 007000 است و شما آن را همواره به
همین شکل خواهید دید . در خط ۲ یک شیء از کلاس ۳۳7() بنام © تعریف شده است .
توجه كنيد كه با كلاس ها به طور منظم کاری صورت نمی گیرد بلکه یک وهله از آنها ( یک شیء )
مورد استفاده قرار می گیرد . در خطهای ۳ و ۴ متفییرهای حالت این شییء ست می شوند
00 ۷۲۰۳۰۰ و رنگ زرد . در خط های ۵ و ۶ متد 0/۳//۲۸۶) فراخوانی می شود
( در حقیقت فقط خط ۶ فراخوانی این متد.لست و خط ۵ فقط پیامی است مبنی بر فراخولن آن ) .
این متد نوع « رنگ و روشن یا خاموش بودن شییء موتور سیکلت را نمایش خولهد داد . توجه کنید
که در ابتدا موتور خاموش است .
خط ۷ یک خط رسم می کند که قسمتهای مختلف خروجی را از هم جدا می کند و فقط برای
شکیل تر شدن برنامه است . در خط ٩ با فراخوانی متد 20۳2۸ موتور روشن می شود . خط
۲ دوباره متد 1715 د!9() را فراخوانى كرده و مقدار متغییرهای حالت را نمایش می دهد . در
اين لحظه موتور روشن است 1
خط ١8 سعى مى كند كه موتور را دوباره روشن كند . ولى موتور قبلاً روشن شده است و بيام داده
شده هم موید همین مطلب است
fa 6
صفحه 75:
ورائت ساد
ورائت یکی از کلیدی ترین مفاهیم برنامه نویسی شیء گراست و تاثیر مستقیمی روی نحوه طراحی و
نوشتن کلاس های جاوا دارد . ورائت مکانیزمی لست برای تغییر شکل دلدن به کلاس ها و استفاده
مجدد از آنها . با مکانیزم ورائت می توان به طور خودکار از اطلاعات کلاس های دیگر استفاده کرد .
اصطلاح جدید ( ورائت تمام کلاسها را در یک سلسله مراتب گرد آورده و مرتب می کند .) به شکل زیر
نگاه کنید
fal 6
صفحه 76:
ورائت ساد
هر کلاس یک فوق کلاس (عصه ص69 . و یک يا چند زیر کلاس ols ub Chae)
هر کلاس از کلاسهای بالاترخود در این سلسله مرتب ارث می برد و بهکلاس پایینتر از خود ار می
دهد . هر زیر کلاس تمام متدها و متفییرهای فوق کلاس خود را به ارث می برد و دیگر نیازی به تعریف
مجدد آنها وجود ندارد
بالاترین کلاس در سلسله مراتب کلاس های جاوا کلاس ۴7۱() است و تمام کلاسهای دیگر از این
كلاس مشتق مى شوند . اين كلاس تعیین کننده کلی ترین متدها و خواص تمام كلاس هاى ذيل خود
لست . معمولاً کلاس ها ضمن ارث بردن از کلاسهای بالاتر از خود . چیزهایی را به آن اضافه و پیاده
سازی می کنند .
fal 0
صفحه 77:
ایجاد سلسله مراتب کلاس :
وقتی تعداد کلاس ها زیاد است » منطقی است که آنها را در یک سلسله مراتب گرد آوریم تا بتوانیم نحوه به ارث
رسیدن متدها و خواص را بهتر کنترل کنیم . بدين ترتيب نياز به دوباره نويسى كدها به حداقل رسيده و هنكام
نیاز به تغییر كدها نيز اصلاحات فقط در يك نقطه انجام خواهد شد و از آنجا به تمام نقاط ديكر دسترسى خواهند
يافت
اجازه دهيد با استفاده از مثال جاد 0 (1) موضوع را روشنتر كنيم . ديديد كه كلاس جاصرد 0 () جكونه
طراحى شد ( و بخوبى كار كرد ). حال فرض كنيد بخواهيم كلاس جديدى بنام -0©8) ( اتومبيل ) بسازيم . موتور
سيكلت و اتومبيل شباهتهاى زيادى با هم دارند . در نظر اول بنظر مى رسد كه بهتر است كلاس خاعبو 0096 را
باز كنيم و اطلاعات درون آن را به داخل كلاس جديدى بنام -00) كبى كنيم . اما ايده يهترى هم وجود دارد و
آن انتقال اطلاعات مشترك اين دو كلاس به يك كلاس كلى تر است . با إينكه اين روش كار بيشترى مى طلبد
ولى توسعه آن و ايجاد كلاسهاى جديدتر ( مانند دوجرخه . كاميون و غيره ) را ساده تر خواهد كرد
اجازه دهيد با شروع از بالاترين كلاس جاوا در سلسله مراتب كلاس ها. يعنى كلاس 0190© . يك سلسله مراتب
جديد بسازيم . كلى ترين كلاسى كه مى تواند اين دو وسيله نقليه را در خود جاى دهد را كلاس حاف !06) مى
ناميم . يك وسيله نقليه (طف!00)) جيزى است كه مى تواند فردى را أز
fal ar
صفحه 78:
ایجاد سلسله مراتب کلاس :
نقطه ای به نقطه دیگر منتقل کند . در کلاس اط(ع() فقط رفتارانتقال از نقطه 0 به نقطه ۲ را تعریف خواهیم
کرد و نه هیچ چیز بیشتر
در ذیل کلاس طتفاع() چه چیزی بايد قرار دهیم ؟ مثلا ماشین متحرک با نیروی انسانی و ماشین متحرک با
موتور چطور است ؟ ماشین متحرک با نیروی انسان مثلاًمی تواند پدال داشته باشد ( و يا هر مكانيزمى برای انتقال
حرکت انسان به ماشین ). ماشین متحرک با موتور هم ( به احتمال زیاد! ) یک موتور دارد . به سوخت نیاز دارد و
به وسیله ای برای تنظیم سرعت . در ذیل کلاس go Beets Powered Oshicls توانیم چند کلاس مثل
Ovioroycke . () و اس قرار دهیم . ولی می توانیم با ايجاد يك كلاس بينايى باز هم رفتارها را تقسيم
بندی کنیم
بالاخره كلاس أدص 96() را در ذيل كلاس لحاد!(1) سب" ( دو چرخ ) قرار داده pal . اما
خواصی مثل رنگ و نوع را کجا باید قرار داد ؟ می توان این خواص را در کلاس عاحفات() قرار داد تا تمام زیر
کلاسها آنها را به ارث ببرند . تتها چیزی که باید به خاطر داشته باشید این است که وقتی یک حالت ( خاصیت ) یا
رفتار را تعریف کردید . دیگر به طور خودکار در سلسله مراتب به تمام زیر کلاسها انتقال خواهد یافت ( به ارت
خواهد رسید ).
fal 0
اد بپرسید که
صفحه 79:
ایجاد سلسله مراتب کلاس :
وسایل نقلیه دوچرخ و چهار چرخ
Engine Powered Vehicle
‘Two Wheeled Person, Four Whealed Engine
Powered Vehicle Powered Vehicle
fal 9
صفحه 80:
ورائت چگونه عمل می کند -
ورائت چگونه عمل می کند ؟ چگونه یک شیء متفییرها و متدهای کلاس بالاتر را به طور خودکار
بدست می آورد ؟ در مورد متغییرها . وقتی شییء بوجود می آید یک مسیر دسترسی به تمام
متفییرهای کلاس مربوطه را بدست می آورد . در مورد متدها هم وضع به همین منوال است و
تعریف یک متد در اختیار تمام زیر کلاسها قرار خواهند گرفت . وقتی در یک شیء متدی فراخوانی
می شود . جاوا ابتدا در همان کلاسی که متد تعریف شده به دنیال کد آن می گردد . اگر کد آن را
نیافت » در سلسله مرلتب يك پله بالاتر رفته و در فوق کلاس بدنبال آن خواهد گشت تا زمانیکه کد
متد را بیابند . به شکل زیر نگاه کنین
صفحه 81:
ورائت چگونه عمل می کند <
نحوه تعیین محل متدها
وقتی در یک زیر كلاس متدى با نام مشابه
متدى در يك كلاس بالاتر تعريف شوده
كارها كمى ييجيده خواهد شد . در اين
حالت متدى كه زودتر ( در حركت از يايين
) يافت شود اجرا خواهد شد . بدين تر:
متد تعریف شده در زیر کلاس متد فوق
کلاس را مخفی می کند . به اين وضعيت Meunge sao jet nd
ate Override) Gy od گفته می شود . هس دجسم
itn io
شکل زیر را ببینید .
صفحه 82:
ورائت چگونه عمل می کند.:
تحریف متدها :
اصطلاح جدید :
به تعریف یک متد با نام مشابه متدی Moods oveisden
ادر يك فوق كلاس ٠ تحريف مى ee
شود . متد زير كلاس متد فوق كلاس
را مخفی می کند .
Masage sotto oot and
pseu clas hieaty
a ton fod
صفحه 83:
و منفرد و چند گانه :
جاوا به گونه ای که دیدید از ورائت منفرد 09) استفاده مى كند . وراثت منفرد يعنى هر كلاس
جاوا می تواند فقط یک فوق کلاس داشته باشد : اما عکس آن درست نیست» یعنی یک کلاس می
تواند چندین زیر کلاس داشته باشد
در زبانهای شیء گرلی دیگر . مانند 0++ . يك كلاس مى تواند از جند فوق كلاس به ارث ب
این وضعیت ورائت چند گانه (۳() گفته می شود . با وراثت جند كانه مى توان كلاس هاى
فوق العاده جالبی بوجود آورد . ولی کد نویسی آنها بسیار دشوار است .
صفحه 84:
Packages ها ay 9 IoterPures- le Luly
دیدید که در جاوا هر کلاس فقط از یک فوق کلاس ارث می برد . با اينکه ورائت منفرد برنامه نویسی را
ساده تر می کند ولی کمی محدودتر هم هست : مثلاً .اگر در شاخه های مختلف یک سلسله مراتب
متدهای مشابهی داشته باشید . باید تمام آنها را جداگانه پیاده سازی کنید . جاوا با استفاده از مفهومی
بنام واسط مشکل به اشتراک گذاشتن متدها را حل کرده است
واسط عبارت است از مجموعه ی نام چند متد , بدون تعریف آنها . که واسط آنها در اختیار کلاس
استفاده کننده می گذارد .
یک کلاس جاوا می تواند در آن واحد از
ین واسط استفاده کند . و با اين کار کلاس های بسیار
متفاوت می توانند رفتارهای مشابهی داشته باشند
در جاوا کلاس و واسط های مرتبط با هم در یک بسته گرد آورده می شوند . کلاس های اصلی جاوا در
بسته ای بنام مهم كرد آورده شده اند و فقط محتویات این بسته است که در تمام نسخه های جاوا ثابت
ماند .
می
البته در بسته هل بسته های دیگری وجود دارند ولی بسته :۱0/۳ به طور پیش فرض در اختیار
تمام برنامه هاست . برای استفاده از بسته های دیگر باید آنها را به طور صریح تعریف کرد .
fal os
صفحه 85:
Packages ها ay 9 IoterPures- le Luly
نام بسته ها و کلاس ها در هنگام تعریف با نقطه () از هم جدا مى شوند . مثلاً براى استفاده از كلاس
+29 كه در بسته امه ( که خود در داخل بسته تمه می باشد ) قرار دارد . بايد چنین نوشت :
)هرمز
صفحه 86:
ایجاد یک زیر کلاس :
چگونه می توان یک زیر کلاس ساخت و چند متد را در آن تحریف کرد Se Gl با بسته ها هم
پیشتر آشنا خواهید شد .
فرض کنید می خواهید یک اپلت بوجود آورید . تمام اپلت ها در جاوا زیر کلاس کلاسی بنام ا9۳۳)
هستند ( که در بسته اعا0/0۳۳ قرار دارد ) .با ایجاد یک زیر كلاس از كلاس (42م90) مى توانيم
تمام رفتارهای آن ( از قبیل کار با پنجره ها . ارتباط با سیستم و پاسخ به رویدادهای لمارو۴5) و
عص() را به ارث ببریم . در اين مثال يك اپلت شبیه اپلت 00۲۸۷) ما" خواهیم ساخت که این
عبارات را با رنگ و اندلزه دیگری نمایش خواهد داد . ایتدا یک کلاس تعریف می کنیم :
Public class HelloAgainApplet extends java.applet.applet{
}
fal 6
صفحه 87:
ایجاد یک زیر کلاس :
در اینجا کلاسی Leto Begarspplet pls تعریف شده است . به قسمت تلد ae
در حقیقت این عبارت است که می گوید اپلت شما یک زیر کلاس از کلاس 0۳۳۳4) خواهد بود . به
مسیر کامل کلاس اع۳() دقت کنید . چون این بسته بطور پیش فرض برای جاوا تعریف نشده +
بايد مسیر کامل آن ذکر شود . کلمه تعتال) می گوید که این کلاس در اختیار تمام سیستم قرار
خواهد داشت تا اینجا كلاس ما تمام متفییرها و متدهایش را از کلاس بالاتر 60۳۳0) به ارث برده
و كاملاً شبيه آن است . اجازه ذهيد فونت آن را عوض كنيم :
Font f=new font(‘TimesRoman”,Font.BOLD,36);
fal جو
صفحه 88:
ایجاد یک زیر کلاس :
در اینجا *] متفییری است از کلاس ۳0#) که جزء بسته 9۸ است . با تعریف فوق فونت
سیستم از نوع ۱۳۳6۲7 ضخیم و با اندازه ۳۶ خواهد شد . با استفاده از شییء فونت می
توان فونت اپلت را تغییر دلد .
حال بايد متدی تعریف کرد تا از اين فونت استفاده کند . متدی که عبارات را روی صفحه نمایش می
دهد متد ۳0۷ است که در اینجا آن را تعریف خواهيم کرد تا Welo Dorkd be با فونت جديد
هه Public void paint (Graphics g)
اتعريف جديد متد مزبور
چنین است > {
:)له ممع
g.setColor(Color.red);
g.drwString(“Hello again!” ,5 , 25);
}
fal be
صفحه 89:
ایجاد یک زیر کلاس :
در لینجا به دو نکته باید توجه کنید . اول اینکه اين متد ۲ط۳۰) است چون متدی که هم نام آن
است خود ۳/#7) است . وقتی می خواهید متدى را تحريف كنيد بايد میدان دید (۳۳۳۳() آن
مانند متد فوق کلاس متناظرش باشد . دوم اينکه . متد 6۳۷ یک آرگومان ورودی . که یک شیء
از کلاس Col Brophiog دارد . اين کلاس یک روش مستقل از سخت افزار برای عملیات گرافیکی
در متد 06۳ سه کار انجام داده ایم :
* گفته شده که شیء گرافیکی از فونت * استفاده کند .
* گفته شده که رنگ رسم عبارت رنگ قرمز (۳۳۳۰۲۵()) است .
* در پایان هر عبارت *00() متا" در نقطه (۵,۲۵) رسم می شود .
كلاس جديد به همين راحتى تعريف شد ! ايلت ما تا اين جا بايد مانند ذيل باشد
صفحه 90:
ايجاد يك زير كلاس :
Public class HellAgainApplet extends java. applet. Applet
1
Font f=new Font(“TimesRoman” Font.BOLD,36);
Public void paint (Graphics g)
{
g.setFont(f);
g.setColor(Color.red);
g.drawString(“Hello again!” ,5,40);
صفحه 91:
ايجاد يك زير كلاس :
اما مثال ما يك اشتباه دلرد ..اكر نمى توانید حدس بزنید که این اشتباه چیست . اپلت را کامپایل
كنيد . كامبايلر با ييغام ذيل كارش را متوقف خواهد کرد :
HelloAgainApplet.java:7:Class Graphics not found in type declaration
اين ييغام خطا براى جيست ؟ به ياد داريد كه بسته پیش فرض 07 بسته ».همهم است ولى
شما در خط اول تعريف كلاس از بسته اواصد.عرهم استفاده كرده ايد . اما مى بينيد كه كاميايلر از
اين خط خطا نكرفته است جون مسير كامل بسته را قيد كرده ايم . يك راه حل براى رهايى از اين
قبيل مشكلات آن است كه مسير كامل تمام كلاسها را قيد كنيم . اما اكر در يك ايلت بدفعات از
يك يا جند كلاس استفاده كنيم . هر بار نوشتن نام كامل مسير كلاس ها بسيار خسته كننده و
وقت كير خواهد بود . در اين موارد بهتر است از دستور 5001 استفاده كنيم . در ايلت فوق از سه
Braphics) IS , ۳۳0۱) , «صاص2) استفاده كرده gil که همگی در بسته 0/0۰0۸ قرار دارند
بنابراین » دستورات ذیل را به اول برنامه » قبل از تعريف كلاس : اضافه کنید :
fal ea
صفحه 92:
ايجاد يك زير كلاس :
اين ييغام خطا بيلى جيست ؟ به ياد دلريد كه بسته ييش فرض rar erry any FUT است ولی
شما در خط اول تعريف كلاس از بسته امتهم استفاده كرده ايد . اما مى بینید که کامپایلر از
اين خط خطا نكرفته لمست جون مسير كامل بسته را قيد كرده ايم . يك رله حل براى رهايى از اين
قبيل مشكلات آن است كه مسير كامل تمام كلاسها را قيد كنيم . اما اكر در يك ايلت بدفعات لز
يك يا جند كلاس استفاده كنيم . هر بار نوشتن نام fal مسير کلاس ها بسیار خسته کننده و وقت
گیر خواهد بود . در این موارد بهتر است از دستور مب" استفاده کنیم . در اپلت فوق از سه کلاس
Poot, Graphics) , «طا۵()) استفاده کرده ایم که همگی در بسته ۴00.0۸ قرار دارند
بنابراین « دستورات ذیل را به اول برنامه . قبل از تعریف کلاس . اضافه کنید
Import java.awt. Graphics;
Import java.awt.Font;
Import java.awt. Color;
fal ee
صفحه 93:
ایجاد یک زیر کلاس :
نکته :
با استفاده از یک ستاره (#) می توان تمام کلاس های 7عتد۳) یک بسته را مورد استفاده قرار داد .
مانند ذيل 9
11210011 [ 253. 358/1. *:
حال كه كلاس را تصحيح كرديم . مى توانيم ايلت اعاوم9) #2م>9) باوبا را كامبايل كنيم . براى
تست این اپلت . فایل 1/۲1" جدیدی مانند ذیل بسازید :
صفحه 94:
<HTML>
<HEAD>
<TITLE> Another Applet</TITEL>
</HEAD>
<BODY>
<P>My second java applet says:
<BR><APPLET CODE="Hello Again Applet.class” WIDTH=200
HEIGHT=50>
</APPLET>
</BODY>
</HTML>
fa 2
صفحه 95:
ایجاد یک زیر کلاس :
این فایل را با نام ۳/۳۹2/9۱۱ ذخیره کرده و آن را در یک کاوشگر مجهز به جاوا اجرا
کنید
یکی از سخت ترین جنبه های تسلط پر بنامه نویسی شییء گرا درک همین مفاهیم ( عجیب و غریب
veal gl ¢
در اینجا مرور مجددی بر این مفاهیم خواهیم داشت .
* کلاس: الگویی برای اشیاء که در آن رفتار و خواص شییء تعریف نشده اند .
* شیی»: یک نمونه قابل لمس از یک کلاس لز یک روی کلاس می توان چند شییء بوجود آورد که
هر کدام رفتار و خواص خود را دارند .
* وهله : هر شییء یک وهله است از یک کلاس .
* فوق کلاس : کلاسی که به زیر کلاس هایش ارث می دهد .
* زیر کلاس : کلاسی که از والدینش ارث می برد .
* متد کلاس : متدی که در يك كلاس تعريف مى شود
fal es