العودة   منتديات طلاب الجامعة العربية المفتوحة > منتديات المشرفين والمنتديات المساعدة > أرشيف المواد والمواضيع القديمة

 
 
أدوات الموضوع انواع عرض الموضوع

قديم 16-10-2011, 01:13 PM   #1
my-warm-heart my-warm-heart غير متصل
مشرف سابق
 
الصورة الرمزية my-warm-heart

 











شرح شروحات دروس المادة .. هنا



بآرك الله في وقتك وجهدك ..
============
الآشرآف





السلام عليكم ورحمه الله وبركاته
لكل زملائي وزميلاتي في هل المادة... بتمنالك سمستر دراسي مفعم بالنجاح

وان شاء الله بنتعاون اول بأول في شرح المادة وتوضيح ما استصعب علينا فيها
أنا بإذن الله هقوم بشرح المحاضرة الأولى.. وهيا عبارة عن مراجعة عامة لما سبق دراسته في مادة M255
انا طريقتي في الشرح من الكتاب ومن عروض البوربيوت الي حاطاتها ألأخت هدولة في الجروب .. وهشرح بالعربي ان شاء الله تيسيراً للزملاء والزميلات >> بيكفي الكتاب انجليزي
نبدأ .. بسم الله الرحمن الرحيم,,
UNIT 1 ..
بعنوان :: مراجعة عامة
ــــــــــــــــــــــــــــــــــــــ

1- بيقولك الجافا موجوده في كل مكان من حولنا فهي توجد في الكومبيوترات والجوالات والسيرفرات .. إلخ
2- تم اصدار الجافا بواسطة شركة Microsystems .
3- تتميز الجافا بعد من المميزات من اهمها انها object oriented
أي انها تعتمد على الأوبجكت (الكائن).
4- يتكون الكلاس في لغة الجافا من عدد من المكونات من اهمها:
instance variable
methods
constructor
وطريقة كتابة أي كلاس كألأتي:
5- غالباً مايتم تعريف الكلاس على أنه public وذلك حتى تكون الاوبجكت فيه متاحة لباقي اجزاء البرنامج .
كود PHP:

public class ClassName // name of the class
{
public static
void main (String []args ) //main method
{
//instance variable
// constructor
//methods
}
}


6- الميثود غالبا مايكون public ايضاً ويكتب بهذه الطريقة:



كود PHP:
public returnType methodName (arguments) //method header {
method body
}


7- من مميزات لغة الجافا انها قابلة للتحويل (protability)وتكون على هذه الطريقة:


source code > translated by compiler to > byte code (intermediate form) >which is translated by a interpreter into the native code of the computer its runs on > which is executed .
8- من اهم الأدوات التي تستخدم لتشغيل لغة الجافا على بلتفورم مختلف ويسمي
SDK or JKD
(java software development kit)
9- الجافا تنتج نوعين من السوفت وير وهما :
applet > برامج تحتوي على ملفات انترنت .
application > برامج لحالها .
10- هناك نوعان من الميثودات : accessor & mutator
accessor : ليس لها أي تأثير على حالة الاوبجكت مثال/ get .
mutator : لها تأثير على حالة الأوبجكت مثال/ set .
11- يستخدم الconstractor لاعطاء قيم أوليه للاوبجكت .
12- تعريف ال inheritance : تعني ان الآوبجكت B يتم خلقه من الآوبجكت A وتسمى A سوبر كلاس ل B وبالتالي B هيا سب كلاس من A
وترثB جميع متغيرات وميثودات A وربما تزيد عليها أيضاً..
كان مثاالنا في ال255 << frog is super class for hoverfrog .
13- فرق مهم جدا بين مفهومي ال overriding & over loading
overriding : تعني ان نفس الميثود بنفس الآسم في السوبر كلاس والسب كلاس .
overloading :نفس الميثود في نفس الكلاس لكنها تختلف في التوقيع او الارغيومنت ..
ملاحظة التوقيع (signature ) تعني اسم الميثود + نوع الارغيومنت ان وجد
مثال ( moveTo(2,3
< التوقيع هنا يكون : (moveTo(int,int
ياريت لو في شي غلط او مش مفهوم تعدلو علي ..

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

يمنع ردود الشكر لسهولة ترتيب الدروس ورا بعضها .. الي عندو سؤال او تعديل لنقطة خطأ يكتبها ... شكراً

التعديل الأخير تم بواسطة هدوووله ; 30-10-2011 الساعة 12:32 AM سبب آخر: آضافة ختم التميز ..~



التوقيع

my-warm-heart غير متصل  
قديم 16-10-2011, 01:57 PM   #2
my-warm-heart my-warm-heart غير متصل
مشرف سابق
 
الصورة الرمزية my-warm-heart

 











شرح رد: شروحات دروس المادة .. هنا


بسم الله الرحمن الرحيم..
السلام عليكم ورحمه الله وبركاته,
طبعا انا شايفة الهمة زيرو ولا في أي اسئلة او أي مناقشات يمكن لانو لسا بالأول والكل مكسل طبعاً..
اليوم موعدنا مع Unit 2 وهو كمان تابع لunit 1 :

بعنوان :: مراجعة عامة II
ـــــــــــــــــــــــــــــــــــــــــــــ

1-
الجافا تسمى لغة strongly typed أي مكتوبة بقوة وذلك لأن كل متغير في اللغو له نوع معين وقت التشغيل ولايمكن اسناد نوع لنوع اخر مثلاً
مانقدر نقول : "int name = "ahmed
لانو احمد من نوع استرينج واحنا عرفن name من نوع انتيجر.
2- هناك نوعين في لغة الجافا :
primitive data type >> مجموعة من القيم وتنقسم الي انواعنا المعروفة int, double, byte, etc
refrenace type >>تشير ألي اوبجكت .

3- عندنا مصطلح escape sequence وهو مصطلح يعني استخدام علامة الباك سلاش (\) ليغير مفعول بعد الحروف في لغة الجافا فمثلا : '\n' تعني سطر جديد.

4- عندنا مصطلح ال Casting وهو يعني التحويل من نوع لنوع آخر وذلك بكتابة النوع المطلوب التحويل اليه بين قوسين () امام الاكسبريشين المراد تحويلة فمثلا:
كود PHP:
int a35 =24 =12;
 
char c;                      
 
= (char) (ab+c); 

قمنا بتحويل من انتيجر ل حرف ..
5- هناك عدد من العمليات على primitive data type :
عمليات حسابية (Athrimtic ) : % ,- , + , /, * .
عمليات مقارنة (Relational) : == , . >=,<=,<,>,!=
عمليات منطقية (Logical) :!= , ||, && .

Strings -6 : وهي سلسة من الحروف
مثلا : "String name = "Ahmed
ويستخدم ميثود ()length لايجاد طول الكلمة فمثلا : name . length() تساوي 5 .

7- هناك نوع اخر من السترينج يسمي String Buffer : وهو mutable أي مرن يمكن التغيير عليه بعكس ال string العادي .
طريقة تعريفه وإسناد القيم له :
كود PHP:
StringBuffer userName;                         
 
username = new StringBuffer (" Mohammed") ; 


8- يوجد في لغة الجافا نوعين من الجمل : selection & repetition
1- جمل اختيارية selection :
جملة if الشرطية :
وتكتب هكذا :
كود PHP:
         if() // logical expression 
 
{
جمل يتم تنفيذها عند نجاح الشرط




جملة if …else الشرطية : وتكتب بنفس طريقة if العادية الا انه يستخدم سطر else لوضع سطر من الاكواد ينفذ عن عدم نجاح اختبار شرط if .

جملة switch …case : تسختدم للأختيار بين حالات متعددة ويستخدم معها break للخروج من حلقت الشرط .
وتكتب هكذا:


كود PHP:
      switch (argument)
{
  case 
selector :
statement 
break;
:
 :
 :
 
defult :
statement;
break ;


غالبا مايكون الارغيمونت من نفس نوع السليكتور وجملة break للخروج من الحلقة والدخول على التالية اذا فشلت الاولى .
ملاحظة مهمة ان الارغيمونت لا يكون من نوع float ابدا لانو سوف تحدث مشكلة في عمليات المقارنة والمساواه .

2- جمل تكرارية :repetition
while loop & for loop
سبق الحديث عنها بالتفصيل في اكتر من مادة سابقة

9-آخر نقطة ونتحدث عن المصفوفات Arrays :
المصفوفة هي عبارة عن مجموعة من العناصر من نفس النوع .
طريقة تعريف مصفوفة وإنشائها :
كود PHP:
 int

[]intValue = new int[6]; 


هناك عدة طرق لاسناد العناصر في المصفوفة :
1- استخدام = :
int[0]= 1;
int[1]= 2;
2- اثناء الانشاء مثلا: int [] intValue = {1,2,3,4,5}
3- بإستخدام الfor loop :
كود PHP:
int[] myArray = new int [200];         
 for(
int i myArray.length i++)
  {                                       
 
myArray[i] =10;              


وتستخدم ايضا الفور لوب لتغيير عناصر المصفوفة كافة كما في الكتاب 2 صفحة 37 مثال5 .
يستخدم ال فاريبال length مع المصفوفات لاعطاء طول المصفوفة ولايوضع مع () لانه ليس ميثود كما في الstrings .


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

my-warm-heart غير متصل  
قديم 18-10-2011, 08:40 PM   #3
fofo_moon fofo_moon غير متصل
طالب جديد

 









افتراضي رد: شروحات دروس المادة .. هنا


مرحبا
يعطيك العافية وتسلم يمينك على الشرح الحلو
بس عندي سؤال بالنسبة للـ Overriding & Overloding
عطيني مثال ماني قادره افهمهم
وجزاك الله الف خير
fofo_moon غير متصل  
قديم 18-10-2011, 10:07 PM   #4
my-warm-heart my-warm-heart غير متصل
مشرف سابق
 
الصورة الرمزية my-warm-heart

 











افتراضي رد: شروحات دروس المادة .. هنا


كود PHP:
public class OverloadExample {
 
  public static 
void main(String args[]) {
    
System.out.println(playMusic("C sharp","D sharp"));
    
System.out.println(playMusic("C","D flat","E flat"));
  }
 
  public  
String playMusic(String cString d) {
    return 
c+d;
  }
  public  
String playMusic(String cString dString e){
    return 
c+d+e;
  }
 } 
هاد بيعتبر مثال على الoverloading..
ميثودين الي هما:

playMusic

بس الفرق في الارغيومنت الي هيا string c,d في الاولى

,في التانية الارغيومنت String c,d,e طبعا مع ملاحظة انو هما الاتنين في نفس الكلاس الي اسمو OverloadExample.
ــــــــــــــــــــــــــــــــــــــــــــــــــ ـــ

كود PHP:
public class A{
public 
void display()
{
System.out.println("Hello");
}
}
public class 
overriding extends A
{
public 
void display()
{
 
System.out.println("bye");
}

هاد مثال للoverriding وبتكون بين السب كلاس والسوبر كلاس
السوبر كلاس هون هوا A والسب كلاس هو overriding
والميثود الي انعملو overriding هو display() نفس الاسم ونفس اللارغيومنت .. هاد الفرق اختي
بتمنى كون قدرت وصلها .. بالتوفيق



التعديل الأخير تم بواسطة my-warm-heart ; 18-10-2011 الساعة 10:08 PM
my-warm-heart غير متصل  
قديم 23-10-2011, 03:11 PM   #5
my-warm-heart my-warm-heart غير متصل
مشرف سابق
 
الصورة الرمزية my-warm-heart

 











افتراضي رد: شروحات دروس المادة .. هنا



السلام عليكم ورحمه الله..

بشكر كل الي شافوا الموضوع وبعدكم بالافضل ان شاء الله

وكل الشكر على تفاعلكم الرائع ودعواتكم الجميلة

اليوم موعدنا إن شاء الله مع UNIT 3

بعنوان :: مراجعة عامة III

ــــــــــــــــــــــــــــــــــــــــــــــــــ

1- كل اوبجكت في لغة الجافا يكون له حالة state والتي يتم تحديدها بواسطة المتغيرات وعند استدعاء الميثودات
مثال:
frog.setPostion(2)
تغيرت حالته من المكان الاول للمكان التاني ..


2- الكلاس هو عبارة عن محتوى لمجموعة من الاوبجكتز ويتكون من :
متغيرات أياً كان نوعها .
السلوك او الحالة التي تحدد بواسطة الميثود.
الكونستراكترز.


3- طريقة انشاء اوبجكت من كلاس user :

User john = new User();
فيأخذ john كل الفاريبل والميثودز اليم وجوده في الكلاس User


4- هناك نوعين من الميثودات في لغة الجافا:
Getter : وتسمي accessors methods ولا تغير شيئا من حالة الاوبجكت وتكون معها كلمة return ملازمة لها . مثال : frog.getPostion
() لاترجع أي قيم.

Setter : وتسمي Mutater methods تغير من حالة الاوبجكت ولاتوجد معها كلمة return مثال : frog.setColour(RED) غيرت الاوبجكت فروغ للون الاحمر.

5- packages : هيا مجموعة من الكلاسات يتم استدعائها عند الحاجة لها في بداية الكود. وتستخدم كلمة import لاستدعائها وتقوم بإستدعاء جميع الكلاسات ذات العلاقة في الباكج.

6- هناك طريقتان للوصول accsess لعناصر الكلاس:

simple name : يكون اسم الميثود فقط وتستخدم عندما يكون الاوبجكت داخل الكلاس .
qualified name : ويتم استخدامها مع اسم الاوبجكت + (.) + اسم الميثود
وتستخدم خارج الكلاس الي فيه الاوبجكت .


7- Access Modifiers :
هناك 3 انواع منهم :
public : يمكن رؤيتها للكلاس, package, السب كلاس, للجميع.
private : يمكن رؤية عناصرها للكلاس فقط.
protected : يمكن رؤية عناصرها للكلاس, package , السب كلاس فقط.


ملاحظات مهمة:

· عندما نقوم بعملية الاستدعاء access في ال public :
يكون الاوبجكت او الفاريبل متاح لاي كلاس باستخدام
qualified name مثال سلايد10 يونت 3 . وعندما يكون هناك وراثة يتم الاستدعاء بإستخدام simple name.


· عندما نقوم بعملية الاستدعاء access في الprotacted :
يكون الاوبجكت او الفاريبال للكلاس الي متاح للكلاس الي في نفس ال
package مثال سلايد 11 يونت 3 . وبالنسبة للوراثة فتكون متاحة في نفس package وذلك عندما تعرف الميثود على انها default access -------> أي ليس له modifiers راجع الكتاب صفحة 19 .


· عندما نقوم بعملية الاستدعاء access في ال private :
يكون الاوبجكت او الفاريبال متاح فقط داخل الكلاس . زلا يكون هناك وراثة أبداً.





الطريقة العامة في كتابة الأكواد :
public methods& private data



static methods & variables -8 :
عندما يحتوي الكلاس علي ايا من
static methodsOR variables تعني انها تحتوي على نسخة واحدة فقط في الكلاس لكل الاوبجكتز زلا يتم توريث الStatic variable or method
يتم أستخدام static variables مع الثوابت او عند تعريف فاريبال واحد في لكل الكلاسات .
9-
Constants : الثوابت ,,
يستخدم مع الثوابت كلمة
final للدلالة على انها قيمة نهائية غير قابلة للتغيير


مثال :
static final HumenArms =2;


يتبــــــع ... إن شاء الله
دمتم بخير وأي سؤال أنا حاضرة
ولو في شي غلط ياريت تنبهوني



التعديل الأخير تم بواسطة my-warm-heart ; 23-10-2011 الساعة 03:12 PM
my-warm-heart غير متصل  
قديم 29-10-2011, 02:43 PM   #6
my-warm-heart my-warm-heart غير متصل
مشرف سابق
 
الصورة الرمزية my-warm-heart

 











افتراضي رد: شروحات دروس المادة .. هنا


تـــــــــــــــــــــــــــــابع يونت 3 ~

10 - الكونستراكتر (Constructor ) : يستخدم الكونستراكتر لاعطاء القيم الأولية للاوبجكت في الكلاس ويكون له نفس إسم الكلاس تماماً
هناك اختلاف مابين الكونستاكتر والميثود في الأتي:
الكنوستراكتر : يستخدم لاعطاء القيم الابتدائية للاوبجكت عند خلقه.
الميثود : تعطي قيم للاوبجكت ولكن عند استدعائها فقط .

الكونستراكتر في الكلاس لايورث للسب كلاس ويعرف على أنه public حتى تسهل عملة خلق الاوبجكت منه خارج الكلاس نفسو.


11- The KeyWord "THIS"
تستخدم بغرض الأستدعاء



12- key word "SUPER"
تستخدم في كونستراكتر السب كلاس ذلك لتقوم بوراثة جميع المتغيرات والقيم المعرفة في السوبر كلاس .


· 13 - نستطيع إسناد كائن من نوع سب كلاس لكائن من نوع سوبر كلاس بطريقين :
· عن طريق الاسناد المباشر دون عمل casting
· او عن طريق عملت casting للاوبجكت
مثال للتوضيح :
كود PHP:
Frog gogo = new Frog ();   
 
HoverFrog keno = new HoverFrog ();
gogo keno  OR    gogo (Frog keno 



14- عندما نريد اسناد كائن من نوع سوبر كلاس مثل gogo الي كائن أخر من نوع سب كلاس فهنا يلز عمل casting وذلك لانو السب كلاس ربما يحتوي على متغيرات وميثودات غير موجوده في السوبر كلاس
keno = (HoverFrog ) gogo


15- الفرق مابين كل من == & method equals
1- == تستخدم لمقارنة بين مدلول او مايشير اليه الاوبجكت في الزاكرة (اشارة الاوبجكت في الزاكرة )

2- equals : لتساوي القيم .


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

التعديل الأخير تم بواسطة my-warm-heart ; 29-10-2011 الساعة 02:46 PM
my-warm-heart غير متصل  
قديم 03-11-2011, 11:59 PM   #7
منال83 منال83 غير متصل
طــالب

 










افتراضي رد: شروحات دروس المادة .. هنا


ممكن تشرحين صفحة ٩ يونت ون
منال83 غير متصل  
قديم 13-11-2011, 06:50 PM   #8
my-warm-heart my-warm-heart غير متصل
مشرف سابق
 
الصورة الرمزية my-warm-heart

 











افتراضي رد: شروحات دروس المادة .. هنا


شرح يونت 4 :
بعنوان : Input ,out put and exceptions
نبدأ بسم الله الرحمن الرحيم ::
ــــــــــــــــــــــــــــــــــــــــــــــــ
1- ال stream هو عبارة عن سلسة من البايتات تظهر تدفق البيانات من المصدر إلي مكان الوصول .
مثل الكي بورد- الشاشة – انواع مختلفة من ملفات البيانات

2- أي عملية قراءة أو كتابة من / إلي stream : (التدفق)
1- فتح الstream
2- كتابة الاكواد سواء كانت قراءة من أو كتابة ألي
3- إغلاق ال stream .

3-كل ال streams موجودة في java.io packages

هناك انو الكلاسات في أي تدفق Stream كالاتي :
Input stream ->file input stream -> buffered input stream
output stream -> file output put stream ->buffered output stream
وجميعهم 8 bit
reader -> buffered reader -> file reader
writer -> buffered writer -> file writer
وجميعهم 16
bit

4- هناك عدد من الميثودات في الكلاس scanner .. راجع يونت 4 سلايد 4 .

5- عندما نريد ادخال بيانات نستخدم كلاسات scanner & buffered reader
وعندما نريد إظهار بيانات نستخدم كلاسات
print writer & buffered writer


6- ملاحظة :
هناك فرق بين كل من :
reader & writer:يتم استخدامهم مع تدفقاتstreams البيانات المكتوبة ال Unicode
Input stream & output stream:يتم استخدامهم مع تدفقات streams البيانات التي تحتوي على
bytes

-7
الاستثناءات Exceptions:
هو حدث يظهر اثناء تنفيذ البرنامج ويعرقل خط سير البرنامج الطبيعي ويتم حمل هذه الاستثناءات للتعامل مع الاخطاء المتوقعة والغير متوقعة .
امثلة على بعض الاخطاء المتوقعة :
برنامج يحاول قراءة لينك غير موجود
برنامج مصمم لقراءة ارقام انتجر من ملف فيجدها من نوع سترينج

8- Exception handle حمل الاستثناءات :
1-عندما يجد السستم برنامج يتم إيقاف تدفق تنفيذ البيانات في البرنامج وتسمى بعملية قذف الاستثناء throw the exception
2- يتم خلق اوبجكت من نوع خاص يسمي exception ويحمل معلومات عن الخطأ الذي حدثز
3- بعد ذلك يتم التعامل مع الخطأ والتقاطه وايجاد حل مناسب وتسمى بعملية
catch the exception


9- هناك عدة أنواع من الاستثناءات مثال :
1- Errors class and its subclasses
للاخطاء الداخلية في البرنامج : مثل انتهاء الذاكرة
2- Exception class and its subclasses
اخطاء محتملة ومتوقع حدوثها وتسمى Checked exceptions ولابد من التقاطها والا تسبب خطأ في البرنامج
3-Runtime exceptions and its subclasses
أخطاء يسمح المترجم compiler بتجاهلها وتسمى Uncheck Exception

10-
بالنسبة لل Checked exceptions يتم التقاط الخطأ بطريقتين :

1- Try.. catch blocks
وطريقته :
try الكود المشكوك بحدوث خطأ فيه
catch الكود الذي يجب ان ينفذ إذا حصل وحدث الاستثناء

يتم استخدام finally block دائما يتم تنفيذه بعد الtry بلوك ويستخدم لوضع كود نظيف خالي من الاستثناءات.
2- تعريف الاستثناء exception في راس الميثود in the method header :
يتم تعريف الاستثناء في راس الميثود باستخدام كلمة Throws يليها نوع الاستثناء ..
public Boolean check format (String fileName) throws EO Exception

11- ماذا يحدث إذا كان الكود الي عملناه في ال throws غير موجود في أي try-catch block ؟؟
الميثود تقوم بعملية تمرير الاستثناء exception لميثود اخر ليقوم بحمله الي ان يجد الميثود المناسبة
مثال :::
نفترض ان لدينا ميثود a() و ميثود b() وميثود main ()
نقوم بإستدعاء ميثود a() التي تقوم بدورها بإستدعاء ميثود b()
ولنفرض ان الميثود b() تحمل استثناء exception غير موجود في ال try – catch statement
فالميثود b() هيدور على ميثود تحمل الاستثناء exception فيروح للميثود a() وإذا لم تكن مناسبة هيروح على الميثود main() وهكذا لحد مايلاقي الميثود الماسبة لحمل الاستثناء.( لسا بدي اسئل الدكتور إذا كان فهمي صح لو في غلط هعدلها إن شاء الله )


12- قذف او رمي الاستثناء :Throwing Exception

قبل مانعمل catch للاستثناء يجب قذفه في الاول . ويكون ذلك بواسطة الكي ورد throws وخلق استناء منها بكلمة new
throws new IOException ()


13- لخلق Exception :
يتم خلقه على انه سب كلاس من السوبر كلاس Exception
ولايد ان يحتوي على 2 كونستراكتر ..
1- زيرو ارغيومنت
2- واحد ارغيومنت ويحتوي على معلومات اشمل عن الخطأ .

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


التعديل الأخير تم بواسطة my-warm-heart ; 13-11-2011 الساعة 06:56 PM
my-warm-heart غير متصل  
قديم 13-11-2011, 07:02 PM   #9
my-warm-heart my-warm-heart غير متصل
مشرف سابق
 
الصورة الرمزية my-warm-heart

 











افتراضي رد: شروحات دروس المادة .. هنا


اقتباس:
المشاركة الأصلية كتبت بواسطة منال83 مشاهدة المشاركة
ممكن تشرحين صفحة 9 يونت ون
اختي انا شرحتها قبل في شرح يونت 1!!!
هيا مابتتكلم غير عن طريقة تحويل اللغة من لغة العامة للغة الجهاز عشان يقوم بترجمتها ..
يعني ماهي الا عبارة عن خطوات حفظ مش اكتر ..
بالتوفيق
my-warm-heart غير متصل  
قديم 19-11-2011, 12:28 PM   #10
منال83 منال83 غير متصل
طــالب

 










افتراضي رد: شروحات دروس المادة .. هنا


امتحاني يوم الاثنين تاريخ ٢١
ممكن تشرحين لي نت فيس بتفصيل
وiterator
حاولت افهمه بس ما دخل
شكرا
منال83 غير متصل  
قديم 19-11-2011, 02:21 PM   #11
my-warm-heart my-warm-heart غير متصل
مشرف سابق
 
الصورة الرمزية my-warm-heart

 











افتراضي رد: شروحات دروس المادة .. هنا


أعذريـــــــــــني أختي ..
حتى انا عندي اختبار مادة آخرى يوم 21 .. ومامعي وقت بالمرة لامسك هل المادة واشرحها حالياً.. بعتذر ...
ولو في حدا من الزملاء والزميلات عندو خلفية عن الاخت طالبة شارحو .. ياريت مايتأخر .. موفقة بإختباركـ ..
my-warm-heart غير متصل  
قديم 25-11-2011, 11:59 AM   #12
my-warm-heart my-warm-heart غير متصل
مشرف سابق
 
الصورة الرمزية my-warm-heart

 











افتراضي رد: شروحات دروس المادة .. هنا


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

5Unit :: Packages & Abstraction
-----------------------------------------------------------------------

1- ال package هو عبارة عن جروب يحتوي على عدد من الكلاسات ذات الصلة فيما بينها .
2 -
هناك نوعين من الباكج في الجافا :
1-
standered java backages -------> كلاسات جاهزة للاستخدام.
2- developer java packages -------> تكتب او تطور بواسطة المبرمج نفسه.

3- عند الحاجة لاستخدام اكتر من كلاس في نفس الباكج يتم استخدام طريقة البرمجة import –on-demand مع ال wild card بدل من استدعاء اسم كلاس كلاس.



4-
عندما يكون نستخدم اكتر من باكج وكلاهما يحتوي على نفس اسم الكلاس سوف يكون هناك تعارض ما عند استدعاء هذا الكلاس يسمي clash name ولهذه الحالة حلين :
1- عند استدعاي الكلاس يكتب كامل مع اسم الباكج المستدعى منها .
2- أو عند استدعاء الباكج نقوم بكتابة اسم الكلاس الي سوف يتم استخدامه منها .



5-
هناك طريقتين للاستدعاء standered java backages :
اسم الباكج + اسم الكلاس + اسم الاوبجكت المخلوق من الكلاس وتسمى

fully qualified name .
OR
اسم الباكج + اسم الكلاس فقط وتسمى simple name .



6-
الباكج java.lang.* هذه الباكج يتم استخدامها في جميع كلاسات الجاافا لذلك ليس هناك داعي للاستدعائها في كل برنامج ,, لانه يتم استدعائها اتوماتيكي .


7-
كل جافا باكج يحتوي على APIdoc وهو عبارة عن شرح أو توضيح او توثيق لهدفه وماذا يفعل ويكون بلغة ال HTML .


8-
لإنشاء الباكج الخاصة باليوزر , نسبق الكود الخاص بكل كلاس بكلمة Package يليها اسم الباكج وتستخدم إشارة (.) لتوضيح الكلاس المراد استخدامه.
9-
الباكج java.util تنقسم لعدة أنواع منها :
java collection frame work -1 : تحتوي على كلاسات Hash set و
Tree set و Tree Map ألخ .

2- Legancy Collection classes
: نوع قديم من كلاسات الجافا ولا يتم استخدامه .
10
Collections المجموعات :
هي عبارة عن مجموعة من الأوبجكت تستخدم لحفظ, استرداد أو اصلاح مجموعة من العناصر وقد تكون من نوع
objects او primitive data type .



11-
Generic class : هو كلاس يتعامل بشكل عام ويحتوي على الأقل على عنصر واحد غير محدد النوع .
أمثلة علي ال collections : ِArray & Array list ,, راجع سلايد 7 يونت 5 لمعرفة وجه الشبة والاختلاف .

n هناك مصطلحين مهمين في ال Arraylist يجب التفريق فيما بينهما :

capacity : الحد الاقصى من الداتا التي يمكن لل arraylist حمله.

size : العدد الحقيقي الذي تحمل من الداتا .

n هناك عدد من الميثودات يتم استخدامها في ال array list .. سبق دراستها في ال255
راجع سلايد8 يونت 5
.
n
Hash Map : تستخدم لربط نوعين من الأوبجكت مع بعضها البعض مثلا اسم الطالب ورقمه الجامعي .


12-Object Wrapper class :
يقوم بتحويل ال
primitive data type such as int ,string حتى تتمكن من التعامل معها كأوبجكت .
منها نوعين :
unboxing : التحويل من object wrapper الي primitive data type .

autoboxing :التحويل primitive data typeمن الي object wrapper .


13-
Interfaces :
هو عبارة عن شيء شبيه بالكلاس العادي إلا انه لايحتوي سوى على متغيرات ثاابتة و ميثودات من نوع
Abstract أي ميثود هيدر فقط .

* الانترفيس : كي يتم استخدامه لابد ان implements لكلاس آخر .

* لايمكن خلق اوبجكت من الانترفيس باستخدام كلمة new .

* يستطيع الانترفيس ان يرث من اكثر من انترفيس باستخدام كلمة extends
.


14 -
الكلاس العادي غير مسموح له بالوراثة من اكتر من سوبر كلاس , لكنه يمكن له implements اكتر من انترفيس .


15-
Iterator Interface :
هو عبارة عن انترفيس يسمح باللف على عناصر كل الكولكشين >> هاد حسب كلام الدكتور عندي لو حدا فاهمها بشكل اوضح لايبخل علينا

وله عدد من الميثودات راجع سلايد 15 يونت 5 .



16-Abstract Class :

هو عبارة عن كلاس يحمل وسائل او سلوك مشترك لكلاسات آخرىولكن مع اختلاف ال implementation لكل كلاس .
ويحتوي على :

* الميثود من نوع abstract هي عبارة عن ميثود هيدر فقط .

* قد يحتوى على concrete ميثود . و هو عبارة عن ميثود عادي بكامل التوصيف .

* يحتوي على متغيرات.

* لايمكن خلق اوبجكت من أي كلاس من نوع abstract لانه عبارة عن كلاس مجرد لايحتوي على أي معلومات . لكن يمكن خلق reference to object.


17-
Aggregation : هي عبارة عن اوبجكت بداخل كلاس تحمل بداخلها أوبجكت آخر.
وجه الشبه والاختلاف بين ال abstract class & interface مذكورة وبوضوح في سلايد 18 يونت 5 .




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

بالتوفيق للجميع يااارب .. واي سؤال أنا حاضرة ..

التعديل الأخير تم بواسطة my-warm-heart ; 25-11-2011 الساعة 12:01 PM سبب آخر: :)
my-warm-heart غير متصل  
قديم 04-12-2011, 10:53 PM   #13
soso.m soso.m غير متصل
طالب فعال
 
الصورة الرمزية soso.m

 











افتراضي رد: شروحات دروس المادة .. هنا


يعطيك العافية حبيبتي .. وجزاكي الله خير ..

ولكن الوحدة الثالثة ناقصة .. ما شرحتي آخر جزء



التوقيع


من زعم أن الله محدود .. فقد جهل الخالق المعبود ..
"لا يجوز لنا أن نصفه بصفات البشر" .. فالله موجود بلا مكان .. منزه عن الجهات والأحجام

خالـــق المكان لايحتاج إلى مكــــــــــــان
سبــــــحان اللــه "ليس كمثله شئ"
soso.m غير متصل  
قديم 23-12-2011, 10:07 PM   #14
my-warm-heart my-warm-heart غير متصل
مشرف سابق
 
الصورة الرمزية my-warm-heart

 











افتراضي رد: شروحات دروس المادة .. هنا


السلام عليكم ورحمه الله وبركاته ,,
بعد طول غياب بسبب ازمة الميد ترم وبعدها الواجبات .. نرجع مره آخرى إن شاء الله ..
موعدنا اليوم مع يونت 6
بعنوان ::Griphical user inrterface
نبدأ .. بسم الله .
.

1- هناك ثلاث نقاط مهمة عند برمجتنا لانترفيس ..
1- استخدامنا ل واجهه المستخدم والمكونات الموجودة فيها
2- الطريقة التي تظهر بها هذه المكونات على الشاشة.
طريقة تعامل البرنامج مع الأحداث التي تظهر اثناء التعامل مع الانترفيس مثلا لو ضغطنا على ايقونة ما في أي برنامج سوف تظهر مؤشر انه تم الضغط عليها .

2-
يتم برمجة الانترفيس باستدعاء java.swing.* وهيا تحتوي على كلاسات مكتوبة سابقاً لبناء الانترفييسس .


3- java.swing تنقسم الي 3 كلاسات متصلة ببعضها البعض :

1-
Containers: يهتم بعمل الفريم او الاطار ويحمل عليه المكونات الاخرى . وينقسم الي JFrame & JApplet&JPanel حيث الاول تقوم بعمل الاطار الخارجي والثانية تقوم بجمع المكونات ووضعها على الاولى . دائما ال JPanel تعتمد على ال JFrame .
2- Layout mangers : لتنظيم تنسيق شكل الواجهة وتحتوي على عدد من المظاهر منها :Border layout , flow layout ..etc
3-Visual component : يتعامل مع الازرار لإعطاء الاكشن .


Containers - 4 :
JFrame :
العنصر الحقيقي بداخل ال
JFrame هو ال Content pane وتستخدم لامكانية الوصول لاعناصر واجراء العمليات عليها .
Contanier dg = getContentPane();
وعشان نعمل كلاس انترفيس لابد من الوراثة من
Jframe كلاس دائماً .
وهناك عدد من الميثودات تستخدم في ال
JFrame . انظر جدول صفحة 4 سلايدات يونت 6 .
كود PHP:
import java .awt.* ;
import  javax.swing.* ;
public 
Frame extends JFrame {
public 
Frame ()
{
setSize(200,400)
setTitle("Hello")}    

طبعا لابد من عمل كلاس تيست وخلق اوبجكت من Frame لتشغيله كالاتي :
كود PHP:
public class FrameTest {
Frame cp = new Frame ("love java");
cp.setVisible(true);


Layout managers :
وبتقوم بتحديد طريقة عرض المكونات داخل الفريم والجافا سوينج تدعم عدد كبير من المظاهر
JPanel المظهر الاتوماتيك لها هو Flow Layout
JFrame
المظهر الاتوماتيك لها هو Border Layout
Visual Component :
من اهم المكونات الرئيسة في الفريم , ال :
البوتون , اللابل , التيكست فيلد , الشيك بوكس , الرايدو بوتون , الكومبو بوكس .
وطريقة تعريفهم موجودة بسلايد5 يونت 6 .


3- The BorderLayout mangers :
حيث انه تنقسم الشاشة لخمس مناطق: شمال وجنوب وشرق وغرب ووسط
يستخدم لتحديد امكان العناصر في الفريم بإستخدام الثوابت
NORTH_ SOUTH_EAST_ WEST and CENTER
طريقة الكتابة : لنفرض لدينا بوتون اسمه btn حيث dg هو ال container
dg.add(btn,BorderLayout.NORTH);
وبما إن ال BorderLayout هو المظهر الافتراضي لل Jframe فنسطيع كتابتها كالاتي:
dg.add(btn.NORTH);


The FlowLayout mangers -4 :
هي إضافة المكونات بترتيب دخولهم من الشمال لليمين في الـ
container ولما صف يخلص يعمل صف جديد ويملاه

.dg.setLayout(new FlowLayout());



The GridLayout mangers -5 :
يستخدم لترتيب مكونات الفريم في عدد من الصفوف والاعمدة .
dg.setLayout(new GridLayout(2,4));




6- عدم استخدام أي من المظاهر السابقة يسمي :absolute positioning
و تستخدم ميثود setBounds() لوضع العناصر يدوياً في الفريم .
من فوائدها : التحكم اليدوي في وضع العناصر
ومن عيوبها ,كل العناصر يجب وضعها وتحديد مكانها يدوياً وقد تكون طريقة غير مجدية الفريمات التي تحتوي على عدد عناصر كبير جدا .


7- مكونات ال
GUI :
Buttons -1 :
منها نوعين
onButton & offButton
JButton btn = new JButton("Press Me");
:
Labels -2
Jlabel lb = new JLabel ("Enter your name ");

: Check boxes - 3
JCheckBox check = new JCheckBox("YES");
ولتحديد ماإذا كان البوكس تم الضغط عليه اما لاء يستخدم ميثود isSelected()

:RadioButton - 4

JRadioButton hg = new JRadioButton("Car",true );r"
)
حيث الخانة الثاينة تكون اما
true or false لتحدد القيمة العشوائية الي تم اختياريها .
ويتم وضع جروب من البوتون مع بعضهم البعض ,
ButtonGroup group = new ButtonGroup ();
group .add(hg);

وهكذا .
طبعا لجعل ال
RadioButton مرئيين لابد من اضافتهم لل JPanel

:Combo boxes-5
JComboBox box = new JComboBox ();
box.addItem("Cat");
box.addItem("Dog");

وهكذا .
ولتحديد اياً من العناصر تم اختياره تستخدم ميثود
getSelectedItem ()


Lists
-6 :
تكتب على خطوتين :
الاولى عمل اراي من العناصر المراد الاختيار منها كالتالي :
كود PHP:
String[] data = new String ("Car""Bus" "Bike"); 

الثانية عمل الليست :
كود PHP:
 JList list = new JList(data); 

اليست مدعومة بعدد من الميثودات من اهمها :
getSelectedValue () :ترجع مصفوفة من نوع سترينج والتي تحتوي على العتاصر التي تم اختيارها من قبل المستخدم .
getSelectedIndice()
: صراحة مافهمتها كتير , بس اجمالا هيا تقريباً بترجع مصفوفة من الاسس التي تم اختيارها بتعداد تزايدي .. والله اعلم يعني
getElementAt(int)
: ترجع العنصر الموجود في الاندكس المحدد .
ال
List لا تدعم التنقل بين الاختيارات ويمكن اضافاتها لليست عن طريق الكود الاتي :
JScrollPane scrollList = new JScrollPane (list);

:TextFeilds
-7
JTextFiled text = new JTextFeild ()
يتم تحدد حجم الفيلد بوضع الحجم المراد بين الاقواس مثلا
new JTextFeild (24)
او يمكن وضع كتابة بداخل الفيلد كالاتي :
new JTextFeild ("Type here ")

Text areas
-8 :
تستخدم لكتابة عدد كبير جدا من الكلمات مثلا سيرة ذاتية .. إلخ ..
JTextArea text = new JTextArea (4,20 );
أي ان المساحة الفارغة بقدر 4 صفوف و20 عامود
كل من
JTextField & JTextArea يرث من كلاس JTextComponent


Scroll bars
-9 :
يسمي شريط التمرير
, زي شريط التمرير زي الي في الصفحات في الجنب
كود PHP:
JScrollBar sv  = new JScrollBar(JScrollBarVERTICAL ); 

ويتم تحديد اذا ماكان الشريط عمودي او افقي من خلال الارغيومنت الثاني ,
غالباً مانستخدم 5 ارغيومنت كونستراكتر . لتحديد كل من 1- عمودي او افقي
2-البداية 3- مقدار الزيادة 4- القيمة الصغرى 5- القيمة العظمي
كالآتي :
JScrollBar sv = new JScrollBar(JScrollBar. VERTICAL,20,5,0,80 );
وتحتوي على عدد من الميثودات من اهمها :
setValue(int) : تحدد القيم لشريط التمرير
int getMinimum() : ترجع القيمة الصغرى في شريط التمرير
getOrientation() :ترجع اتجاه شريط التمرير .
int getValue() : ترجع القيمة الحالية لشريط التمرير



هاي تعتبر اهم النقاط في يونت 6 ... طبعاً لايخفى على الجميع اهمية التدريب العملي لاكتشاف مدى الفهم والاستيعاب.. ;كالعادة احب انبه انو هاد شرح طالبة .. لذا يجب المراجعة والتأكد من مدى صحة المعلومات ...بالتوفيق واي سؤال انا حاضرة ..

التعديل الأخير تم بواسطة my-warm-heart ; 23-12-2011 الساعة 10:17 PM
my-warm-heart غير متصل  
 

مواقع النشر (المفضلة)

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع


الساعة الآن 12:06 PM.


Powered by vBulletin® Version 3.8.1, Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. TranZ By Almuhajir
جميع المواضيع والمشاركات تعبر عن وجهة نظر أصحابها
ولا تعبر باي شكل من الاشكال عن وجهة نظر منتديات AOUA
تصميم وتطوير : التكنولوجيا الماسية