Professional Documents
Culture Documents
GS301 2023- lecture 1 _
GS301 2023- lecture 1 _
يتكون الع الم من حولن ا من مجموعة من الكائن ات Objectsال تي له ا ص فات (خص ائص)
ًا
attributesو س لوك .behaviorو بن اء على ه ذا املفه وم ج اءت فك رة البرمج ة الشيئية أو
املوجه ة نح و الكائن ات ،حيث تكمن فك رة OOPفي دمج البيان ات ( )attributesم ع
الوظائف او الدوال ( )behaviorالتي تعمل على هذه البيانات في وحدة مستقلة a single
unitتسمى كائن .Object
ُي قسم البرنامج في OOPإلى كائنات تتفاعل مع بعضها البعض خالل فترة تنفيذ البرنامج.
البرمجة الشيئية في لغتي (الجافا JAVAو السي) ++C
ًا
يكاد يكون واح د في اغلب اللغ ات ،حيث يرتك ز على تكوين البرنامج من مجموعة من
الكائن ات .االختالف االساسي يكمن في اختالف تعليم ات اللغة و هيكلية دوالها .اال ان
ًا
هناك تشابه كبير بين لغة javaو لغة ++Cنظر الشتقاق لغة Javaمن لغة .++C
خصائص البرمجة الشيئية:
تتميز البرمجة الشيئية باألتي:
-خاصيةحماية البيانات و تغليفها في وحدة منفردة.
-خاصية الوراثة.
-إمكانية اعادة االستخدام لوحدات البرنامج دون الحاجة ملعرفة تفاصيلها و كيفية
عملها بدقة.
لغة الجافا
ًا
في العام 1993اصبحت ال world wide webاكثر انتشار مما حدا بشركة Sun Microsoft
بالتعريف بلغة جديدة هي لغة جافا Java programming languageواملشتقة من لغة ++Cو
ذل ك إلض افة dynamic contentمث ل interactivity & animationsالى .web pagesو في
العام ،1995تم عرض هذه اللغة في مؤتمر يتعلق بالصناعات حيث لفتت انظار املستثمرين
و التجار.
ًا
تعت بر لغ ة الجاف ا من اللغ ات القوية ج د في مج ال إنش اء التطبيق ات املختلف ة س واء كانت
ه ذه التطبيق ات تعم ل منف ردة على أجه زة الكم بيوتر الشخصي أو تطبيق ات اإلن ترنت أو
التطبيقات املختلفة لألجهزة املحمولة ,مثل املوبايل واملفكرات اإللكترونية وهكذا.
انتقلت ملكي ة لغ ة الجاف ا لش ركة أوراكل بع د أن أص بحت ش ركة Sun Microsystems
مملوكة لشركة لها.
كان الهدف عند اختراع لغة الجافا هو عمل لغة قادرة على برمج ة نظم التشغيل لجميع
األجهزة من حاسبات عمالقة ( )mainframesإلى األجهزة الصغيرة مثل مشغالت MP3و لقد
اختارت الشركة صورة فنجان القهوة لتمثيل هذه اللغة .
لغة الجافا
الشكل (أ)
شكل يوضح خطوات تشغيل برنامج مكتوب بلغة ( cأو . )++c
األشكال (أ) و(ب) و(ج) توضح خطوات تشغيل برنامج مكتوب بلغة الجافا
تابع ..مزايا البرمجة بلغة الجافا
تعتمد لغة الجافا على أسلوب برمجة األهداف Object Oriented Programming
ًا
وفرت برمجة األهداف كثير من الجهد الذي كان يبذل باستخدام البرمجة التقليدية ،حيث
كانت البرمج ة التقليدي ة ت وفر للم برمج مكتب ة من ال دوال و على املبرمج إض افتها م ع البرنامج
إلنش اء التطبيق ات املختلف ة مم ا يض طره لكتاب ة الس طور الكث يرة أك ثر من م رة ،في حين أتت
البرمج ة بواس طة األه داف بفك رة جدي دة و هي إنش اء عناص ر متكامل ة تحت وي على بيان ات
ودوال هي أساس إنشاء البرنامج تعرف بـ Classو Objectمما سهل و اختصر الكثير من الوقت
والجهد.
إنشاء برامج ذات واجهة مستخدم رسومية
يعتبر بناء واجهة املستخدم الرسومية من األج زاء الهامة في البرنامج ،بحيث تعطي الواجهات
ًا
للبرنامج شكال معين ,و تعطي للمستخدم قدرا كبيرا من الراحة أثناء استخدام البرامج ,و تقلل
كث يرا من وقت املس تخدم لتعلمه ا ،و من أمثل ة الواجه ات الرسومية واجه ات الوين دوز
ومستكشف اإلنترنت و غيرها .
تابع ..مزايا البرمجة بلغة الجافا
إن األج زاء الرسومية املوجودة في لغة الجافا مرتبطة مباشرة مع اإلمكانيات الرسومية للجهاز
الذي يعمل عليه البرنامج ،و بالتالي فإن الواجهات الرسومية املوجودة في الجافا سوف تظهر
بأشكال متباينة على األجهزة املختلفة ،أي إنه عندما يكتب برنامج و يقوم بعمل زر على نظام
الوين دوز ف أن ه ذا ال زر يأخ ذ نفس ش كل ال زر املس تخدم في نظ ام الوين دوز ،و هك ذا في أي
نظام تشغيل آخر فإنه يأخذ شكل يتناسب مع نظام التشغيل املستخدم .
- 4تصميم برمجيات تستفيد من كل مميزات اإلنترنت. Java Applet
هي نوع من التطبيقات التي صممت خصيصا لإلنترنت .حيث يقوم املطور Developerبإعداد
هذا البرنامج Appletثم يتم استدعاءه من خالل ملف HTMLبشرط تحميل برنامج Applet
على الخادم Serverاملوجود عليه ملف ،HTMLفيتم عرض ه ذا التط بيق من خالل صفحة
االنترنت عندما يستدعي املستخدم هذه الصفحة.
مكتبات الجافا
java class libraries
يتكون البرنامج في لغ ة الجاف ا من قط ع تس مى ( classesالتص انيف ،الفص ائل ،الفئ ات).
ه ذه ال Classesتحت وي على الخص ائص attributesوال دوال methodsحيث تق وم
methodsبأداء مهام تتعلق ب Classesو ترجع معلومات عن هذه الوظائف عندما تنتهي
ًا
منها .هناك مجموعة هائلة من java class librariesو التي يطلق عليها ايض
بيئة JDKو االدوات املصاحبة لها
JDK Environment & Tools
برنامج أدوات جافا التطويرية )Java Development Kit (JDK
عب ارة عن Softwareيحت وي على م ترجم لغ ة جاف ا java compilerو برنامج جاف ا
االفتراضي ) Java Virtual Machine (JVMو برنامج بيئ ة جاف ا التنفيذي ة Java Runtime
) Environment (JREحيث تسمح هذه البرامج ملطوري التطبيقات بإنشاء تطبيقات جافا
وتنفيذها بواسطة JVM, JRE
JVMه و تط بيق ب رمجي يح اكي الحاس وب و يخفي البني ة التحتي ة ألنظم ة التش غيل
واملكونات املادي ة ح تى يمًك ن تنفي ذ البرنامج املترجم على أي نظ ام تش غيل أو بيئ ة أخ رى
مختلف ة ،ألن JVMال يق وم بتحويل البرنامج املص دري إلى برنامج تنفي ذي ب ل إلى byte
codeو يكون امت داده ( )class.و يعت بر التط بيق JVMاح د األج زاء األساس ية من JDKفي
بيئة تطوير جافا.
بيئة تطوير برنامج جافا نموذجية
Typical java development environment
المراحل التي يمر بها برنامج جافا
يمر برنامج بلغة الجافا بخمس مراحل حتى يصل الى مرحلة التنفيذ ،وهذه المراحل هي:
تابع ..بيئة JDKو االدوات املصاحبة لها
املراحل األساسية لكتابة البرنامج
توجد مجموعة من الخطوات التي يجب اتباعها لكتابة و تنفيذ أي برنامج .
-كتابة البرنامج املصدري creating a program
لكتاب ة البرنامج املص دري source codeنحت اج إلى مح رر نص وص editorهن اك العدي د من
محررات النصوص لكتابة البرنامج املصدري ،فعلى سبيل املثال برنامج املفكرة notepadفي نظام
التش غيل windowsه ذا باإلض افة إلى ب رامج بيئ ة التط وير املتكامل ة Integrated Development
) Environment (IDEمث ل Eclipseو NetBeansتتم يز ب رامج IDEباحتوائه ا على مح ررات
النص وص املزودة بخص ائص مث ل األل وان ،س هولة البحث عن كلم ة أو تغيرها و غيرها من
خصائص محررات النصوص و باإلضافة إلى وجود مترجمات تقوم بتحويل البرنامج املصدري إلى
bytecodeو من ثم تحويلها الى برنامج تنفيذي بسهولة.
يتم كتاب ة البرنامج املص دري وتخزين ه بامت داد java.على الق رص الص لب أو أي وسيلة التخ زين
أخرى.
تابع ..بيئة JDKو االدوات املصاحبة لها
ترجمة البرنامج املصدر ي Compiling a java program into Bytecode
ًال
أو :بع د االنته اء من كتاب ة البرنامج املص دري ،يتم تحويل البرنامج املص دري الى bytecodesعن
طريق م ترجم جاف ا ) ، javac (java compilerبع د التأك د من وجود برنامج المترجم على الجه از .و
يتم ترجمة البرنامج كالتالي:
-إما عن طريق كتابة الأمر javac Filename.javaفي موجه األوامر في نظام التشغيل windows
.
-أو عن طرق برامج الترجمة املرفقة مع بيئة التطوير املتكاملة . IDE
ثاني ًŽ Ž Žا :في حال ة ع دم وجود أخط اء لغوية أو نحوية في البرنامج املص دري يتم تحويل البرنامج الى
bytecodesالذي ينفذ بواسطة برنامج االلة االفتراضية لجافا ). Java Virtual Machine (JVM
تابع ..بيئة JDKو االدوات املصاحبة لها
تحميل البرنامج الى الذاكر ة Loading a program into memory
بعد تحويل البرنامج املصدري الى ، class.يقوم تطبيق JVMبتحميل البرنامج الى الذاكرة للتنفيذ.
▪ التأكد من البرنامج املحمل الى الذاكرة Bytecode Verification
يتم فحص امللف ات class.املحمل ة الى ال ذاكرة بواس طة JVMمن ص الحية و ع دم انته اك القي ود
األمنية حتى تضمن سالمة امللفات من البرامج الضارة ،و ذلك لحماية األنظمة.
▪ التنفيذ Execution
في هذه املرحلة يتم تحويل ملفات class.إلى برنامج تنفيذي يستطيع جهاز الحاسوب فهمه و تنفيذ
التعليمات املوجودة بداخله إلعطاء املخرجات املطلوبة من البرنامج .
أسس البرمجة باستخدام لغة الجافا
قبل البدء في عملية البرمجة (أي كتابة البرنامج املطلوب تنفيذه) بلغة الجافا البد من توافر
العدة الالزمة ( )Tool Kitو هي عبارة عن البرامج الالزمة لعملية كتابة البرنامج بلغة الجافا
بعد ذلك تأتي عملية الترجمة له ( .)compilingو يوجد أكثر من طريقة لكتابة ب رامج الجافا
وترجمتها نذكر منها :
اس تعمال املكتب ة ( )JDKوهي اختص ار JAVA DEVELOPMENTE KITم ع أي مح رر نص وص
وليكن برنامج Notepadاملوجود في الويندوز أو استعمال ب رامج وسيطة تسهل عملية الكتابة
والترجمة وتصحيح األخطاء مثل برنامج ()..-NetBeans –Eclipse
تابع ..
كيفية التأكد من وجود البرنامج على الجهاز
قب ل تنصيب البرنامج يجب التأك د من وجود البرنامج على الجه از وذل ك بواس طة األم ر الت الي
من موجه DOS
Java -version
في حالة عدم وجود برنامج جافا على الجهاز يتم عرض رسالة تفيد بعدم معرفة هذا األمر.
تابع ..
إعدادات متغير البيئة في جافا Setting Environment Variable
نقوم بهذه اإلعدادات لتمكين تنفيذ البرنامج من أي موقع على الجهاز و إال سوف لم يتم تنفيذ ب رامج جافا إال
من مسار الذي يحتوي على برنامج الجافا.
إلجراء إعدادات متغير البيئة في جافا على نظام تشغيل windowsنتبع الخطوات التالية:
.1افتح قائم ة إب دأ – لوحة التحكم – النظ ام – إع دادات النظ ام املتقدم ة -ابحث على متغ ير البيئ ة
environment variable
.2ضع املؤشر على متغير املسار path variableاملستخدم ثم اختر خيار جديد
.3أضف مسار برنامج جافا ،عادة مسار برنامج
جافا ()C:\Program Files\Java\jdk-17.0.1\bin
خصائص برنامج جافا
يمكن تنفي د برنامج بلغ ة جاف ا على أي جه از حاس وب مهم ا كان ن وع نظ ام
التشغيل بشرط ان يحتوي هذا الجهاز على JVM
Java bytecode are portable
Class loaderيحمل أي classثم استخدامها من قبل البرنامج.
برمجة تطبيق جافا
الفرق بين تطبيق جافا java applicationو جافا ابلت java applet
التط بيق ه و برنامج او مجموعة من ال برامج املرتبط ة م ع بعض ها البعض .و ُي ع د
تطبيق جافا java applicationمشابه لتطبيقات البرامج االخرى مثل تطبيق لغة C
او ++Cاملكتبي ة الغ ير مخصص ة للتنفي ذ على ش بكة االن ترنت بعكس ب رامج java
ًا ُت
appletال تي ص مم خصيص لإلن ترنت ،و ال تي يتم اس تدعائها من خالل مل ف
ال.HTML
أساسيات برنامج جافا
عند كتابة برنامج بلغة الجافا ,يجب مراعاة النقاط التالية :
.1يجب ان يحت وي البرنامج على classمن ن وع publicتتض من الدال ة االساس ية mainال تي من
خاللها يتم تنفيد البرنامج public static void main
.2يجب ان يكون إس م البرنامج ه و نفس اس م classمتب وع بامت داد java.و ان يب دا اسم class
بحرف كبير.
.3يجب تضمين اسم packageفي بداية البرنامج عند الحاجة الستخدامها.
.4يجب مراعاة الفارق بين الحروف الكبيرة والصغيرة في اسماء املتغيرات ,مثال Aتختلف عن .a
.5يجب ان يبدا كل تصريح ب classبقوس بداية { وينتهي بقوس نهاية }.
.6يجب ان تنتهي كل جملة statementفي البرنامج بالفاصلة املنقوطة.
.7يجب ان ال يحت وى اس م املتغ ير او الث ابت في البرنامج على ف راغ و أن ال تب دا ب رقم و ال تكون
كلمة محجوزة.
.8مراعاة ادراج التعليقات لتوضيح عمل البرنامج
الهيكلية العامة لبرنامج جافا
الشكل العام لبرنامج الجافا
خطوات كتابة و تنفيذ البرنامج
أنواع البيانات Data types
تع ني ن وع البيان ات املس تخدمة في البرنامج ( )data typeس واءا كانت ثابت ة constantأو
ُت
متغ يرة . variableو توجد ان واع عدي دة س تخدم في معظم لغ ات البرمج ة .و من اهم
االنواع ما يلي:
الثوابت و املتغيرات في لغة جافا
ًال
أو :الث ŽŽ Žوابت :Constantsهي اس ماء تعطى ملواق ع في ال ذاكرة ذات قيم ثابت ة و ال يمكن أن
ُت
تتغير خالل فترة تنفيذ البرنامج .و ستخدم في حال التصريح بالقيم الثابتة املتعارف عليها مثل
،pi=3.14و قيم االوزان و تحويل العمالت.
الشكل العام للتصريح بالقيم الثابتة:
ًا
ثاني :املتغيرات : variablesهي اسماء تعطى ملواقع في الذاكرة ذات قيمة غير معروفة ،و قابلة
للتغيير خالل فترة تنفيذ البرنامج .و للتصريح بمتغيرة داخل البرنامج نستخدم الشكل التالي:
الكلمات املحجوزة في لغة الجافا
. ال يجوز استخدام هذه الكلمات كأسماء ملتغيرات مثال؛ فهي محجوزة ملفردات اللغة فقط
أي أنها هي الكلمات واألوامر التي تستخدم في لغة الجافا
الكلمات المحجوزة في اللغة
Public finally abstract
Return float boolean
Short for break
Static if byte
Super implements Case
Switch import Catch
Synchronized instanceof Char
This int Class
Throw interface Continue
Throws long Default
Transient native Do
True new Double
Try null Else
العمليات في لغة الجافا
العمليات املنطقية logical operations
العمليات الحسابيةarithmetic operations
العمليات العالئقية relational operations
-العمليات املنطقية في لغة جافا :تتضمن العالمات املنطقية التالية:
ُت ُت ُت
ANDو مث ل ب&& OR ،و مث ل ب|| NOT ،و مث ل ب! و يمكن م زج أك ثر من عالم ة
منطقية مثل a && b || c :و يكون ناتج العملية املنطقية إما trueأو .false
ُت
-العمليŽات الحسŽابية تمثل ( ( / ،* ،- ،+كما في اللغات األخرى .و رتب هذه العمليات حسب
ًال
األسبقية .فالضرب و القسمة أو ثم الجمع و الطرح إال إذا كانت هذه العمليات تحتوي على
ُت
الأقواس ،في هذه الحالة ،يتم فك األقواس قبل كل شي ،ثم جرى العمليات حسب األسبقية.
-العمليŽŽات العالئقيŽŽة تتضمن العالمات التالية ) => ، =< ، =! ، == ، > ،< ( :و هي تدخل في
تكوين الشرط .condition
سؤال املحاضرة
كون برنامج بلغة جافا باستخدام بيئة Netbeansو قم بتخزينه باملجلد الخاص
بك.
انتهت املحاضرة