أساسيات لغة جافا - Harmash
في هذا الدرس ستتعرف على المفاهيم الأساسية في لغة جافا الكلاس, الكائن, الخصائص و الدوال بشكل مبسط بالإضافة لأسلوب العمل كمبرمج في شركة أو مع مجموعة.
أساسيات لغة جافا

[الرئيسية](/)

دورات ▾

[مقالات](/posts)

[مشاريع](/projects)

[أسئلة](/questions)

[كتب](/books)

[تسجيل الدخول](/account/login)

❮

[Programming Basics](/tutorials/programming) [SQL](/tutorials/sql) [HTML](/tutorials/html) [CSS](/tutorials/css) [JavaScript](/tutorials/javascript) [React](/tutorials/react) [Python](/tutorials/python) [C++](/tutorials/cplusplus) [Java](/tutorials/java) [JavaFX](/tutorials/javafx) [Swing](/tutorials/swing) [Problem Solving](/tutorials/algorithms-and-data-structure) [English](/tutorials/english) [English Conversations](/tutorials/english-conversations) [Computer Fundamentals](/tutorials/computer-fundamentals) [Linux](/tutorials/linux) [Learn Typing](/learn-typing)

❯

- الأساسيات
- [Java \- مقدمة](/tutorials/java/overview)
- [Java \- تهيئة بيئة العمل](/tutorials/java/environment-setup)
- [Java \- أساسيات لغة جافا](/tutorials/java/basics)
- [Java \- أسلوب الكتابة](/tutorials/java/basic-syntax)
- [Java \- أول برنامج لك](/tutorials/java/start-coding)
- [Java \- أنواع البيانات](/tutorials/java/basic-data-types)
- [Java \- المتغيرات](/tutorials/java/variables-type)
- [Java \- الدوال](/tutorials/java/methods)
- [Java \- العوامل](/tutorials/java/operators)
- [Java \- الحلقات](/tutorials/java/loops)
- [Java \- الشروط](/tutorials/java/conditions)
- [Java \- الأعداد](/tutorials/java/numbers)
- [Java \- الأحرف](/tutorials/java/characters)
- [Java \- النصوص](/tutorials/java/strings)
- [Java \- المصفوفات](/tutorials/java/arrays)
- [Java \- التاريخ و الوقت](/tutorials/java/date-and-time)
- [Java \- التعابير النمطية](/tutorials/java/regex)
- [Java \- الإستثناءات](/tutorials/java/exceptions)
- البرمجة الكائنية
- [Java \- الكلاس و الكائن](/tutorials/java/class-and-object)
- [Java \- Modifiers](/tutorials/java/modifiers)
- [Java \- التغليف](/tutorials/java/encapsulation)
- [Java \- الوراثة](/tutorials/java/inheritance)
- [Java \- Overriding](/tutorials/java/overriding)
- [Java \- Overloading](/tutorials/java/overloading)
- [Java \- تحويل الأنواع](/tutorials/java/type-casting)
- [Java \- التجريد](/tutorials/java/abstraction)
- [Java \- الإنترفيس](/tutorials/java/interfaces)
- [Java \- تعدد الأشكال](/tutorials/java/polymorphism)
- [Java \- الكلاسات المتداخلة](/tutorials/java/nested-classes)
- [Java \- النوع enum](/tutorials/java/enum)
- برمجة متقدمة
- [Java \- إدخال البيانات](/tutorials/java/user-inputs)
- [Java \- التعامل مع الملفات](/tutorials/java/files-io)
- [Java \- المزامنة](/tutorials/java/serialization)
- [Java \- كلاسات Data Structure](/tutorials/java/data-structure)
- [Java \- كلاسات الإطار Collection](/tutorials/java/collection)
- [Java \- التعميم](/tutorials/java/generics)
- [Java \- الشبكات](/tutorials/java/networking)
- [Java \- تعدد المهام](/tutorials/java/multithreading)
- [Java \- قواعد البيانات](/tutorials/java/jdbc)
- [Java \- Lambda Expressions](/tutorials/java/lambda-expressions)
- [Java \- ما هي خطوتي التالية؟](/tutorials/java/next-step)
- تعلم المزيد
- [بناء تطبيقات بواسطة JavaFX](/tutorials/javafx)
- [بناء تطبيقات بواسطة Swing](/tutorials/swing)
- [تحديات بلغة جافا](/tutorials/algorithms-and-data-structure)
- [مقالات عن جافا](/posts?filter=Java)
- [أسئلة حول جافا](/questions?filter=java)

[الدرس التالي❯](/tutorials/java/basic-syntax) [❮الدرس السابق](/tutorials/java/environment-setup)

# Javaأساسيات لغة جافا

- بناء برنامج بلغة جافا
- مفهوم الكلاس في جافا
- مفهوم الكائن في جافا
- مفهوم الخصائص في جافا
- مفهوم الدوال في جافا
- أسلوب العمل كمبرمج في شركة أو مع مجموعة

## بناء برنامج بلغة جافا

يمكننا تعريف أي برنامج مكتوب بلغة جافا على أنه مجموعة من الكائنات مرتبطة مع بعضها البعض بشكل منطقي و متسلسل.

في هذا الدرس سنعطيك فكرة عامة عن بعض المصطلحات الأساسية في لغة جافا مع الإشارة إلى أنك ستتعرف على كل مصطلح منهم بتفصيل في الدروس اللاحقة.

المصطلحات الأساسية في لغة جافا هي التالية.

- الكلاس (Class)
- الكائن (Object)
- الخصائص (Instance variables)
- الدوال (Methods)

## مفهوم الكلاس في جافا

الكلاس عبارة عن حاوية كبيرة تستطيع أن تحتوي كل الكود من متغيرات و دوال و كائنات إلخ..

![](/tutorials/java/basics/1115b2ae-c682-4558-a151-c2a7b68c21ac_Capture.PNG)

## مفهوم الكائن في جافا

الكائن عبارة عن نسخة مطابقة لكلاس معين.

بما أن الكائن عبارة عن نسخة من الكلاس, يمكننا القول أنه لا يمكن إنشاء كائن إذا لم يكن هناك كلاس.

إذاً في مفهوم برمجة الكائنات نقوم بإنشاء كلاس معين يسمونه Blue Print أي (النسخة الخام أو النسخة الأصلية) , و بعدها ننشئ نسخة أو أكثر من هذا الكلاس و نفعل بها ما نريد بدون أن نغير محتويات الكلاس الأساسي و هكذا نكون حافظنا على كودات الكلاس الأساسي لأننا نعدل على النسخ و ليس عليه مباشرةً.

الفكرة الأساسية في برمجة الكائنات أنك تقوم بتقسيم البرنامج الواحد إلى عدة كلاسات, و كل كلاس يتم برمجته لتنفيذ ناحية معينة في البرنامج.

بعد الإنتهاء من كل أقسام البرنامج الموجودة في عدة كلاسات, نقوم فقط بإنشاء نسخ منهم في المكان الذي نحتاجهم فيه. و بذلك نكون جمعنا كل الكلاسات التي كتبت بشكل منفصل و ربطناهم مع بعضهم و كأننا كتبناهم في كلاس واحد فقط.

![](/tutorials/java/basics/405ea471-893b-4826-a223-7e1d64db9e25_Capture.PNG)

الكائن هو نسخة من الكلاس و ليس نسخة من الملف الذي يحتوي على الكلاس.

كما أن الكلاس الأساسي يتم إنشائه بدون إعطاء قيم لمتغيراته و سنرى في دروس لاحقة كيف أننا نغير قيم الكائنات و ليس قيم الكلاس الأصلي مباشرةً.

لا تقلق ستفهم كل شيء في دروس لاحقة.

## مفهوم الخصائص في جافا

كل كائن ننشئه من كلاس معين يملك نسخة خاصة به من المتغيرات الموجودة في هذا الكلاس. المتغيرات التي يتم إعطاء نسخة منها لكل كائن من الكلاس هي ما تسمى بالخصائص, مثال:

إذا كان عندنا كلاس إسمه Harmash يحتوي على متغيرين x و y, و أنشأنا منه كائنين, الكائن الأول إسمه A و الثاني إسمه B.

هنا سيكون كل كائن يحتوي نسخة خاصة من الأشياء الموجودة في الكلاس Harmash.

سيملك الكائن A نسخة خاصة به من المتغيرين x و y لا علاقة للكائن B فيها.

و سيملك الكائن B نسخة خاصة به من المتغيرين x و y لا علاقة للكائن A فيها.

![](/tutorials/java/basics/fcc8ef24-def5-4d37-97db-fb01e23fdf74_Capture.PNG)

## مفهوم الدوال في جافا

الدالة ( أو الميثود ) عبارة عن كود جاهز يتنفذ فقط عندما تقوم بإستدعائه.

#### مثال

```
public void welcome()
{
    System.out.print("welcome to www.harmash.com");
}
```

ملاحظة: في البرامج الحقيقية لا يتم تعريف جميع الدوال في الكلاس الأساسي في المشروع و الذي يسمى Main Class. بل يتم تعريفهم في كلاس ثاني أو أكثر من كلاس و عند الحاجة يتم إستدعاءهم. لا تقلق ستفهم كل شيء في دروس لاحقة.

## أسلوب العمل كمبرمج في شركة أو مع مجموعة

في المشاريع الكبيرة يتم تقسيم البرنامج الواحد إلى عدة أقسام, كل مبرمج يكون مسؤول عن قسم معين في البرنامج.

الآن إليك ما يحدث, يقوم مدير المشروع بتقسيم العمل على المبرمجين, فيطلب من كل مبرمج أن ينشئ ملف جافا و ينشئ فيه كلاس و يضع فيه كوداته.

بعد إنهاء جميع أقسام البرنامج الموجودة في عدة كلاسات منفصلة \- لأن كل مبرمج يعمل على ملف جافا خاص \- يقوم مدير المشروع بتجميع أقسام البرنامج كلها.

### كيف يفعل ذلك؟

إنتبه جيداً, لا يقوم المدير بتعديل الملفات التي أعطاه إياها المبرمجين بل يقوم بإنشاء مشروع جديد و إنشاء الكلاس الأساسي في المشروع ( الـMain Class ).ثم يقوم بانشاء كائنات من الكلاسات التي أنشأها المبرمجين بداخل هذا الكلاس, و هكذا يكون قد قام بجمعها كلها في مكان واحد, أي ربط جميع الكائنات مع بعضها.

إذاً مهمة المدير هي فقط ربط الكائنات و دمجها مع بعضها بالشكل الصحيح للحصول على برنامج واحد.

و في حال أراد المدير إضافة شيء ما في قسم معين من البرنامج, فإنه يطلب من المبرمج الذي كتب ذلك القسم أن يضيف عليه كود جديد.

و يستطيع المدير الوصول إلى هذا الكود الجديد من خلال الكائنات.

لا تقلق إذا لم تفهم كل شيء تم ذكره حتى الآن لأن الهدف الأساسي هو إعطاءك فكرة عامة. كما أنك ستتعلم طريقة بناء المشاريع من الصفر بعد أن تتعلم كل ما تحتاجه.

[الدرس التالي❯](/tutorials/java/basic-syntax)

إحفظ تقدمي

[❮الدرس السابق](/tutorials/java/environment-setup)

![](/assets/images/harmash-logo.PNG?v=WT8T6ehJTHC1SKflAMzUvolwHzEunAsBmzUaMvtZlg8)

### هدف الموقع

هرمش هو موقع تعليمي مجاني يهتم بعلوم الكمبيوتر و يقدم إليك المعرفة بشكل مبسّط و مفصّل، و هو المكان المناسب لأي شخص يطمح بأن يصبح مبرمجاً محترفاً و مبدعاً في العالم الرقمي.

[حساب هرمش في تويتر](https://twitter.com/harmashcom)[صفحة هرمش في فيسبوك](https://www.facebook.com/harmashcom)[قناة هرمش في يوتيوب](https://www.youtube.com/@harmashcom)[قناة هرمش في تيليقرام](https://telegram.me/harmashcom)[قناة هرمش في واتساب](https://whatsapp.com/channel/0029VaFDGT90gcfAiQNph40E)

### روابط مهمة

[حول الموقع](/about)

[الأسئلة الشائعة](/faq)

[سياسة الخصوصية](/privacy-policy)

[شروط الإستخدام](/terms-of-use)

[أبلغ عن مشكلة](/account/report)

[تبرع للموقع ❤️](/support-us)

### حقوق النشر

جميع الحقوق محفوظة لموقع هرمش. لا يسمح باستخدام الشروحات لأغراض تجارية، إجراء تعديل عليها، نشرها في موقع آخر، وضع الشروحات في تطبيق أو في كتاب إلا في حال أخذ موافقة صريحة من إدارة الموقع كما أن المحتوى مسجل بواسطة DMCA و في حال قيامك بمخالفة حقوق النشر سنضطر آسفين لاتخاذ الإجراءات اللازمة.

[![DMCA.com Protection Status](https://images.dmca.com/Badges/dmca-badge-w150-5x1-07.png?ID=f9112b68-054a-45ee-abf9-9acfad8b5420)](//www.dmca.com/Protection/Status.aspx?ID=f9112b68-054a-45ee-abf9-9acfad8b5420 "DMCA.com Protection Status")

### الدورات

[أساسيات البرمجة](/tutorials/programming)

[قواعد البيانات](/tutorials/sql)

[لغة HTML](/tutorials/html)

[لغة CSS](/tutorials/css)

[لغة JavaScript](/tutorials/javascript)

[مكتبة React](/tutorials/react)

[لغة Python](/tutorials/python)

[لغة ++C](/tutorials/cplusplus)

[لغة Java](/tutorials/java)

[الإطار JavaFX](/tutorials/javafx)

[مكتبة Swing](/tutorials/swing)

[أساسيات الحاسوب](/tutorials/computer-fundamentals)

[نظام لينكس](/tutorials/Linux)

[اللغة الإنجليزية](/tutorials/english)

[التحدث بالإنجليزية](/tutorials/english-conversations)

[تحديات برمجية](/tutorials/algorithms-and-data-structure)

[الكتابة على الكيبورد](/learn-typing)

### أدوات مساعدة

[إختبر سرعتك في الكتابة](/typing-test)

[محرر أساسيات البرمجة](/algo-editor)

[محرر الويب](/tryit)

[أداة إختيار الألوان](/color-picker)

[أداة رسم الأشكال بواسطة CSS](/css-clip-path-maker)

[محول الوحدات](/units-converter)

[محلل عناوين الشبكات](/ip-analyzer)

[تحويل SVG إلى XML](/svg-to-code)

[القرآن الكريم و الأذكار](/quran)

### أقسام الموقع

دورات


[مقالات](/posts) [كتب](/books) [مشاريع](/projects) [أسئلة](/questions)

### إبحث