![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
#1 | ||
|
![]() ![]() بآرك الله في وقتك وجهدك .. ============ الآشرآف السلام عليكم ورحمه الله وبركاته لكل زملائي وزميلاتي في هل المادة... بتمنالك سمستر دراسي مفعم بالنجاح UNIT 1 ..![]() وان شاء الله بنتعاون اول بأول في شرح المادة وتوضيح ما استصعب علينا فيها ![]() أنا بإذن الله هقوم بشرح المحاضرة الأولى.. وهيا عبارة عن مراجعة عامة لما سبق دراسته في مادة M255 انا طريقتي في الشرح من الكتاب ومن عروض البوربيوت الي حاطاتها ألأخت هدولة في الجروب .. وهشرح بالعربي ان شاء الله تيسيراً للزملاء والزميلات >> بيكفي الكتاب انجليزي ![]() نبدأ .. بسم الله الرحمن الرحيم,, بعنوان :: مراجعة عامة ــــــــــــــــــــــــــــــــــــــ 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 } } كود 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 سبب آخر: آضافة ختم التميز ..~
|
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
#2 |
|
![]() بسم الله الرحمن الرحيم.. السلام عليكم ورحمه الله وبركاته, طبعا انا شايفة الهمة زيرو ![]() اليوم موعدنا مع 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:
قمنا بتحويل من انتيجر ل حرف .. 5- هناك عدد من العمليات على primitive data type : عمليات حسابية (Athrimtic ) : % ,- , + , /, * . عمليات مقارنة (Relational) : == , . >=,<=,<,>,!= عمليات منطقية (Logical) :!= , ||, && . Strings -6 : وهي سلسة من الحروف مثلا : "String name = "Ahmed ويستخدم ميثود ()length لايجاد طول الكلمة فمثلا : name . length() تساوي 5 . 7- هناك نوع اخر من السترينج يسمي String Buffer : وهو mutable أي مرن يمكن التغيير عليه بعكس ال string العادي . طريقة تعريفه وإسناد القيم له : كود PHP:
8- يوجد في لغة الجافا نوعين من الجمل : selection & repetition 1- جمل اختيارية selection : جملة if الشرطية : وتكتب هكذا : كود PHP:
جملة if …else الشرطية : وتكتب بنفس طريقة if العادية الا انه يستخدم سطر else لوضع سطر من الاكواد ينفذ عن عدم نجاح اختبار شرط if . جملة switch …case : تسختدم للأختيار بين حالات متعددة ويستخدم معها break للخروج من حلقت الشرط . وتكتب هكذا: كود PHP:
غالبا مايكون الارغيمونت من نفس نوع السليكتور وجملة break للخروج من الحلقة والدخول على التالية اذا فشلت الاولى . ملاحظة مهمة ان الارغيمونت لا يكون من نوع float ابدا لانو سوف تحدث مشكلة في عمليات المقارنة والمساواه . 2- جمل تكرارية :repetition while loop & for loop سبق الحديث عنها بالتفصيل في اكتر من مادة سابقة ![]() 9-آخر نقطة ونتحدث عن المصفوفات Arrays : المصفوفة هي عبارة عن مجموعة من العناصر من نفس النوع . طريقة تعريف مصفوفة وإنشائها : كود PHP:
هناك عدة طرق لاسناد العناصر في المصفوفة :
1- استخدام = : int[0]= 1; int[1]= 2; 2- اثناء الانشاء مثلا: int [] intValue = {1,2,3,4,5} 3- بإستخدام الfor loop : كود PHP:
وتستخدم ايضا الفور لوب لتغيير عناصر المصفوفة كافة كما في الكتاب 2 صفحة 37 مثال5 . يستخدم ال فاريبال length مع المصفوفات لاعطاء طول المصفوفة ولايوضع مع () لانه ليس ميثود كما في الstrings . وهاي تعتبر اهم النقاط في يونت 2 وماهي الا مراجعة ل255 .. هذا وان اصبت فمن الله وإن اخطئت فمني ومن الشيطان.. ونلقتى في الدرس القادم ![]() وأي أسئلة انا حاضرة ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
#3 |
طالب جديد
|
![]()
مرحبا
يعطيك العافية وتسلم يمينك على الشرح الحلو بس عندي سؤال بالنسبة للـ Overriding & Overloding عطيني مثال ماني قادره افهمهم وجزاك الله الف خير |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
#4 |
|
![]() كود PHP:
ميثودين الي هما: playMusic بس الفرق في الارغيومنت الي هيا string c,d في الاولى ,في التانية الارغيومنت String c,d,e طبعا مع ملاحظة انو هما الاتنين في نفس الكلاس الي اسمو OverloadExample. ــــــــــــــــــــــــــــــــــــــــــــــــــ ـــ كود PHP:
السوبر كلاس هون هوا A والسب كلاس هو overriding والميثود الي انعملو overriding هو display() نفس الاسم ونفس اللارغيومنت .. هاد الفرق اختي ![]() بتمنى كون قدرت وصلها .. بالتوفيق ![]() التعديل الأخير تم بواسطة my-warm-heart ; 18-10-2011 الساعة 10:08 PM |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
#5 |
|
![]() السلام عليكم ورحمه الله.. بشكر كل الي شافوا الموضوع وبعدكم بالافضل ان شاء الله ![]() وكل الشكر على تفاعلكم الرائع ودعواتكم الجميلة ![]() اليوم موعدنا إن شاء الله مع 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 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
#6 |
|
![]() تـــــــــــــــــــــــــــــابع يونت 3 ~ 10 - الكونستراكتر (Constructor ) : يستخدم الكونستراكتر لاعطاء القيم الأولية للاوبجكت في الكلاس ويكون له نفس إسم الكلاس تماماً هناك اختلاف مابين الكونستاكتر والميثود في الأتي: الكنوستراكتر : يستخدم لاعطاء القيم الابتدائية للاوبجكت عند خلقه. الميثود : تعطي قيم للاوبجكت ولكن عند استدعائها فقط . الكونستراكتر في الكلاس لايورث للسب كلاس ويعرف على أنه public حتى تسهل عملة خلق الاوبجكت منه خارج الكلاس نفسو. 11- The KeyWord "THIS" تستخدم بغرض الأستدعاء 12- key word "SUPER" تستخدم في كونستراكتر السب كلاس ذلك لتقوم بوراثة جميع المتغيرات والقيم المعرفة في السوبر كلاس . · 13 - نستطيع إسناد كائن من نوع سب كلاس لكائن من نوع سوبر كلاس بطريقين : · عن طريق الاسناد المباشر دون عمل casting · او عن طريق عملت casting للاوبجكت مثال للتوضيح : كود PHP:
14- عندما نريد اسناد كائن من نوع سوبر كلاس مثل gogo الي كائن أخر من نوع سب كلاس فهنا يلز عمل casting وذلك لانو السب كلاس ربما يحتوي على متغيرات وميثودات غير موجوده في السوبر كلاس keno = (HoverFrog ) gogo 15- الفرق مابين كل من == & method equals 1- == تستخدم لمقارنة بين مدلول او مايشير اليه الاوبجكت في الزاكرة (اشارة الاوبجكت في الزاكرة ) 2- equals : لتساوي القيم . بعتذر لو فيه نقاط ماتعمقت كتير بشرحها لانو ماعرفت اشرحها بصفة عامة بس لو حدا مش فاهم نقطة معينة يتفضل يسئلني وانا حاضرة لتوضيحها
![]() بالتوفيق للجميع .. التعديل الأخير تم بواسطة my-warm-heart ; 29-10-2011 الساعة 02:46 PM |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
#8 |
|
![]() شرح يونت 4 : try الكود المشكوك بحدوث خطأ فيه بعنوان : 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 وطريقته : 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 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
#10 |
طــالب
|
![]()
امتحاني يوم الاثنين تاريخ ٢١
ممكن تشرحين لي نت فيس بتفصيل وiterator حاولت افهمه بس ما دخل شكرا |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
#11 |
|
![]()
أعذريـــــــــــني أختي ..
حتى انا عندي اختبار مادة آخرى يوم 21 .. ومامعي وقت بالمرة لامسك هل المادة واشرحها حالياً.. بعتذر ... ولو في حدا من الزملاء والزميلات عندو خلفية عن الاخت طالبة شارحو .. ياريت مايتأخر .. موفقة بإختباركـ .. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
#12 |
|
![]()
السلام عليكم ورحمه الله وبركاته , بعتذر عن تأخيري الطويل لكن اعذروني اختبارات ميد ترم وواجبات .. عساكم التوفيق كلكم
![]() اليوم إن شاء الله هيكون شرح ليونت 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 سبب آخر: :) |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
#13 | ||
|
![]()
يعطيك العافية حبيبتي .. وجزاكي الله خير ..
ولكن الوحدة الثالثة ناقصة .. ![]()
|
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
#14 |
|
![]()
السلام عليكم ورحمه الله وبركاته ,,
بعد طول غياب بسبب ازمة الميد ترم وبعدها الواجبات .. نرجع مره آخرى إن شاء الله .. موعدنا اليوم مع يونت 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:
كود PHP:
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:
الثانية عمل الليست : كود PHP:
اليست مدعومة بعدد من الميثودات من اهمها : 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:
ويتم تحديد اذا ماكان الشريط عمودي او افقي من خلال الارغيومنت الثاني , غالباً مانستخدم 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 |
![]() |
![]() |
![]() |
مواقع النشر (المفضلة) |
أدوات الموضوع | |
انواع عرض الموضوع | |
|
|
![]() |
![]() |
![]() |