CodeGym /مدونة جافا /Random-AR /المستوى القديم 02
John Squirrels
مستوى
San Francisco

المستوى القديم 02

نشرت في المجموعة

CodeGym – تعلم البرمجة بلغة جافا

المستوى القديم 02 - 1ماذا عن طريقة جديدة تمامًا لدراسة البرمجة والحصول على التعليم؟ هذا لا يبدو مثل أي شيء رأيته من قبل. ماذا عن التعلم، حيث يكون لديك هدف ووسيلة ونتيجة؟ يسعدني أن أقدم لك دورات البرمجة الجديدة عبر الإنترنت لتعلم Java.

1 التدريب هي لعبة على الانترنت

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

2 فقط الضروريات العارية

لكي لا تستمر الدورة لمدة 5 سنوات، رميت كل ما هو مفيد وتركت منها فقط الأشياء الضرورية. لقد قمت بتحليل عشرات الوظائف الشاغرة في سوق العمل. يتم تضمين جميع المواضيع التي يحتاج المبتدئ إلى معرفتها للحصول على وظيفة Java Junior Developer في الدورة التدريبية.

3 لقد اقتربت من التدريب الخاص بك بدقة

تحتوي الدورة الكاملة على 500 محاضرة مصغرة و1200 (!) مهمة عملية . المهام صغيرة ولكنها كثيرة. هناك قدر كبير منهم. فقط هذا الحد الأدنى، عند القيام بذلك، سوف تحصل على مثل هذه التجربة القيمة. هناك أيضًا عمل ثنائي، وألعاب مختلفة، ومهام كبيرة، ومشاريع حقيقية وأنواع أخرى من التدريب.

4 لا يمكنك إنهاء اللعبة ولا تصبح مطورًا

تحتوي الدورة على 40 مستوى. يمكنك الانتقال إلى المستوى التالي، فقط إذا قمت بحل جزء أكبر من المهام على المستوى الحالي. البدء بالقليل والسهل، وانتهاء بالكبير والمفيد جدًا. كل شخص يصل إلى النهاية سيحصل على 300-500 ساعة من الخبرة العملية. وهذا يعطي فرصة كبيرة للفوز. والحصول على وظيفة.

5 الإعداد لمقابلة العمل الموجهة نحو الهدف

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

6 يمكنك حل المهام مباشرة في الموقع

إنه مفيد جدًا وفعال. بعد أن قمت بتحليل مهمة جديدة في المحاضرة، سيتعين عليك إنشاء مهمة خاصة بك عن طريق القياس هنا، على الموقع. بالنسبة لأولئك الذين يرغبون في القيام بالمهمة في IDE، يوجد مكون إضافي يمكّنك من تلقي مهمة بنقرتين وتسليمها للتحقق في نقرة واحدة . المحاضرات، وتحليل الأمثلة، وحل المهام مباشرة على موقع ويب، وحل المهام في IDE - أصبحت الفجوة بين النظرية والتطبيق ضئيلة كما لم يحدث من قبل.

7 فحص فوري للمهمة (في أقل من ثانية)

هل أنت على دراية بالموقف الذي قمت فيه بتسليم مهمة/عمل للتدقيق، واضطررت إلى انتظار النتائج لمدة أسبوع، لأن الشخص الذي يقوم بفحصها مشغول؟ هذا هو الحال مع معظم الدورات التدريبية غير المتصلة بالإنترنت. في CodeGym، ستحصل على نتائج التجميع والتحقق من حل المهمة الخاصة بك في أقل من ثانية، بعد الضغط على زر «تنفيذ/فحص».

8 يحب CodeGym قضاء الوقت على فيسبوك أثناء الدراسة

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

9 التغطية

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

10 لن تحتاج سوى إلى عقلك وجهاز الكمبيوتر الخاص بك لتصبح مطورًا

سيستغرق الأمر من 3 إلى 6 أشهر، اعتمادًا على مقدار الوقت الذي تتدرب فيه.

11 الدعم

المستوى القديم 02 - 3لا شك أن الأسئلة ستنشأ عندما تواجه آلاف المهام. لقد أنشأنا خدمة خاصة، حيث يمكنك طرح الأسئلة حول المهام. سيقوم طلاب CodeGym والمشرفون والمتطوعين والأعضاء المؤسسون للخدمة بالرد عليك.

12 المجتمع

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

لقد وصلت إلى مستوى جديد

المستوي 2

المستوى القديم 02 - 4

1اللي أساس الكل

- أهلا أميغو. اليوم أريد أن أخبركم كيف يتم بناء برنامج جافا النموذجي . النقطة المهمة هي أن كل برنامج Java يتكون من فئات وكائنات . - أنا أعرف بالفعل ما هي الفصول الدراسية. وما هي الكائنات؟ - قياسًا على بناء سفينة صغيرة، عليك أولاً رسم رسم ثم تسليمه إلى حوض بناء السفن. وبناءً على هذا الرسم سيتم تجميع السفينة. أو خمس سفن. في الواقع، بقدر ما تريد. تم بناء العشرات من السفن المتطابقة بناءً على رسم واحد، هذا هو كل ما في الأمر! - كل الأشياء في برمجة Java متشابهة تمامًا. - المبرمج مثل مهندس التصميم . وإذا كان على مهندس التصميم أن يرسم رسومات، فيجب على مبرمج جافا أن يكتب دروسًا. بعد ذلك، يتم تصنيع الأجزاء بناءً على الرسومات، ويتم تصنيع الكائنات بناءً على الفئات. - أولاً، نكتب الفئات (نقوم بالرسومات)، وبعد ذلك في وقت تشغيل البرنامج، تقوم Java Virtual Machine بإنشاء كائنات باستخدام هذه الفئات. بنفس الطريقة التي تصنع بها السفن. هناك رسم واحد والكثير من السفن. هناك سفن مختلفة لها أسماء مختلفة وتحمل شحنات مختلفة. ومع ذلك، فهي متشابهة إلى حد كبير: فجميعها لها نفس البنية ويمكنها أداء نفس المهام. - في حالة السفن، كل شيء واضح. أعطني المزيد من المقارنات لأفهم بالضبط ما هو الأمر كله؟ - بالتأكيد. على سبيل المثال، النحل... المستوى القديم 02 - 5- أوه لا، انتظر لحظة، النحل يذكرني بشيء سيء. فكر بشكل أفضل في عش النمل. - عش النمل هو مثال جيد للتفاعل مع الأشياء. في أبسط عش النمل، هناك ثلاث فئات من النمل: الملكة، والجنود، والنمل العامل. هناك اختلاف في عدد النمل لكل فئة. الملكة وحدها في العش. هناك العشرات من الجنود ومئات من النمل العامل. لذلك، يمكننا القول أن هناك ثلاث فئات ومئات من الكائنات. يتواصل النمل مع بعضهم البعض، مع نفس النمل والنمل من الطبقات الأخرى وفق قواعد صارمة. - هذا نموذج مثالي. بالنسبة لبرنامج نموذجي، كل شيء هو نفسه. يقوم الكائن الرئيسي بإنشاء كائنات من جميع الفئات الأخرى. تبدأ الكائنات في التفاعل مع بعضها البعض ومع "العالم الخارجي" للبرنامج. يتم ترميز سلوك الكائنات بداخلها. - أنا لا أفهم تماما. بل لا تفهم على الإطلاق. - هذين التفسيرين هما وجهان مختلفان لعملة واحدة. والحقيقة هي في مكان ما بين. يوضح المثال الأول (الذي يحتوي على الرسم والسفن) العلاقة بين الفئة وكائنات هذه الفئة. التشابه قريب جدا . يوضح المثال الثاني (الذي يحتوي على عش النمل) العلاقة بين الفئات المكتوبة والكائنات الموجودة في وقت التشغيل. - هل تقصد أننا نحتاج أولاً إلى كتابة فئات لجميع الكائنات الموجودة في البرنامج، والأكثر من ذلك، وصف تفاعلها؟ - نعم، ولكن الأمر أسهل مما يبدو. في Java، كل الأشياء في وقت تشغيل البرنامج هي كائنات، وعندما تكتب البرنامج، يجب عليك وصف طرق مختلفة لتفاعل الكائنات. تقوم الكائنات فقط باستدعاء أساليب بعضها البعض وتمرير البيانات الضرورية إليها. - ليس الأمر واضحًا، ولكنه واضح تقريبًا. - ولكن كيف تعرف ما هي الطرق التي يجب الاتصال بها وما هي البيانات التي تحتاج إلى تمريرها إلى الطرق؟ - كل صف له وصف خاص به لتحديد الغرض الذي تم إنشاء الصف من أجله. تحتوي كل طريقة أيضًا على وصف خاص بها لما تفعله وما هي البيانات التي يجب إرسالها إليها. لاستخدام الفصل، عليك أن تعرف بشكل عام ما يفعله. علاوة على ذلك، عليك أن تعرف بالضبط ما تفعله كل طريقة من هذه الفئة. ولكن ليس عليك أن تعرف كيف يتم ذلك . إنه نوع من السحر. - همف. يبدو ذلك.   - ألقِ نظرة هنا على رمز الفصل الذي ينسخ ملفًا: المستوى القديم 02 - 6- الأمر ليس بهذه السهولة، لكنني حصلت على الصورة بالفعل. - بخير. أراك لاحقا، التمساح!

2 الريشة والمتغيرات والأنواع البدائية

- يا أنت، العمل الحر. - أعني: «مرحبًا يا صديقي». أريد أن أعرفك على البنية الداخلية للمتغيرات. أنت تعلم بالفعل أن كل متغير لديه قطعة من الذاكرة مرتبطة به، حيث يقوم المتغير بتخزين قيمته. - نعم. لقد قلتها المرة الماضية. - بخير. إنه لأمر جيد أن تتذكره. ثم سأستمر. - الطبقات . عندما نصف فئة جديدة في برنامج ما، فهذا يعني أننا نعلن عن نوع مركب جديد معقد ، وستكون البيانات إما أنواعًا معقدة أخرى أو أنواعًا بدائية. المستوى القديم 02 - 7- ما زال واضحا للعجب. - بما أن الأنواع الكبيرة (المعقدة) تتكون من الكثير من الأنواع الصغيرة (البدائية)، فإن كائناتها تستخدم قدرًا كبيرًا من الذاكرة. أكثر مما تفعله متغيرات النوع البدائي المعتادة. في بعض الأحيان أكثر من ذلك بكثير. استغرق تعيين متغيرات الأنواع المعقدة الكثير من الوقت وتطلب نسخ كميات كبيرة من الذاكرة. ولهذا السبب لا تقوم متغيرات النوع المعقدة بتخزين الكائن نفسه، بل تقوم فقط بتخزين مرجع الكائن (وهو عنوان مكون من أربعة بايت). وهذا يكفي للوصول إلى بيانات الكائن. تواجه JVM جميع الصعوبات المتعلقة بها. - انا لم احصل عليها. - لقد ناقشنا بالفعل أن المتغير يشبه الصندوق. لتخزين الرقم 13 فيه، يمكنك كتابة الرقم على ورقة ووضعه في صندوق. - تخيل الآن أنه يتعين عليك تخزين شيء أكبر قليلاً في صندوق (متغير). على سبيل المثال، كلب أو سيارة أو جارك جو. ولتبسيط الأمر يمكنك القيام بشيء سهل: ضع صورة الكلب بدلاً من الكلب، ولوحة أرقام السيارة بدلاً من السيارة، ورقم هاتف جو مكتوباً على ورقة بدلاً من رقم جو نفسه. - الآن نأخذ قطعة من الورق ونكتب عليها رقم هاتف جو. انها مثل مرجع الكائن. إذا أخرجنا من الصندوق ورقة مكتوب عليها رقم جو، وقمنا بعمل نسخ ووضعناها في صندوقين، فستزداد الإشارات إلى جو، ولكن يمكن أن يكون هناك جو واحد فقط. - ميزة تخزين البيانات هي أنه يمكن أن يكون هناك العديد من المراجع وكائن واحد فقط . - انها مثيرة. بالمناسبة، لقد فهمت تقريبا. أجب فقط عن سؤال آخر: ماذا يحدث إذا قمت بتعيين متغير نوع معقد لمتغير نوع معقد آخر؟ - إذن سيحتوي هذان المتغيران على نفس العنوان. وبالتالي، إذا قمت بتغيير البيانات المخزنة في متغير نوع معقد، فسيتم تغيير بيانات المتغير الآخر أيضًا . لأنك تعلم أن هناك كائنًا واحدًا فقط تشير إليه المتغيرات في المخزن. ومع ذلك، قد يكون هناك عدد كبير من المتغيرات التي تخزن المراجع إلى الكائن. - وما الذي يتم تخزينه في متغيرات النوع المعقد (نوع المرجع/الفئة) في حين لا توجد مراجع للكائنات؟ هل يمكن حقا أن يكون هناك شيء من هذا القبيل؟ - نعم يا أميغو. لقد اخذت الكلمات من فمي. يمكن أن يكون. إذا لم يكن هناك مرجع كائن في متغير نوع المرجع (المعقد)، فإنه يخزن null ، وهو «مرجع فارغ» خاص. في الواقع، تقوم ببساطة بتخزين عنوان كائن يساوي 0. لكن Java Virtual Machine لا تقوم أبدًا بإنشاء كائنات بعنوان صفر، وبالتالي فهي تعرف دائمًا أنه إذا كان المتغير المرجعي هو 0، فلن يكون هناك كائن هناك. المستوى القديم 02 - 8هل فهمت الأمر بشكل صحيح؟ تنقسم المتغيرات إلى نوعين - بدائية ومرجعية. يقوم متغير النوع البدائي بتخزين قيمة بينما يقوم متغير النوع المرجعي بتخزين مرجع كائن. الأنواع البدائية هي int وchar وboolean وغيرها. أما الباقي فهو متغيرات مرجعية، ويتم تشكيلها باستخدام الفئات. - هذا صحيح يا فتى.

3 إلي، ما هي الأشياء

المستوى القديم 02 - 9- هنا معلمك المفضل مرة أخرى. وبما أننا نتقدم بسرعة، سأخبرك ما هي الأشياء وكيفية التعامل معها. - لإنشاء أي كائن، تحتاج إلى كتابة اسم نوع الكائن (الفئة) والكلمة الأساسية الجديدة قبله. لنفترض أن لدينا فئة Cat، إذن: المستوى القديم 02 - 10- ماذا يحدث إذا قمت بإنشاء كائن ولم تقم بتعيينه [مرجعه] لأي متغير؟ - إذا قمت بذلك، فسيقوم Java Virtual Machine بإنشاء الكائن وإعلانه على الفور غير مهم (كائن غير مستخدم). بعد فترة من الوقت، سيتم حذف هذا الكائن أثناء جمع البيانات المهملة. - كيف يمكنني تدمير الشيء إذا لم أعد بحاجة إليه؟ - لا يمكنك. بمجرد عدم وجود متغير لتخزين مرجع الكائن، سيتم وضع علامة على الكائن على أنه قمامة وسيقوم JVM بتدميره أثناء عملية جمع البيانات المهملة التالية. طالما أن هناك مرجع كائن واحد على الأقل، فسيتم اعتباره حيًا ولن يتم تدميره. عندما تريد تدمير الكائن بسرعة، قم بتعيين كافة مراجعه على قيمة خالية، أي قم بتعيين قيمة فارغة لجميع المتغيرات التي تشير إلى هذا الكائن. - فهمتها. لا يبدو الأمر صعبا على الإطلاق بعد المحاضرات السابقة. - حسنًا، إليك بعض المهام لتحسين مهاراتك. هذه موجودة أيضًا على System.out. ولكن في وقت لاحق ستكون هناك أمور أكثر صعوبة. ويمكنك أن تبين لنا ما هو الفولاذ الذي تصنعه.
مهام
1 اكتب برنامجاً يعرض: «خطوة بخطوة ويتم الأمر».
2 اكتب برنامجاً يعرض 7 مرات: «إنه لأمر ممتع أن تفعل المستحيل.».
3 اكتب برنامجًا يعرض: «الرغبة دائمًا في تعلم شيء مفيد.».

4 الريشة، رؤية المتغيرات.

- مرحبا، طالبتي المفضلة. الآن سأخبرك عن رؤية المتغيرات . - لماذا، هل هناك متغيرات غير مرئية أيضاً؟ - لا، المتغيرات تكون مرئية في أماكن الكود حيث يمكن الوصول إلى ذلك المتغير. يمكن الوصول إلى بعض المتغيرات من أي مكان في البرنامج، والبعض الآخر ضمن فئتها فقط، ويمكن الوصول إلى بعض المتغيرات فقط من خلال طريقة واحدة. - على سبيل المثال، لا يمكنك الرجوع إلى المتغير قبل الإعلان عنه. - انها واضحة. - فيما يلي بعض الأمثلة: المستوى القديم 02 - 111 المتغير المعلن في الطريقة موجود/مرئي من بداية التصريح إلى نهاية الطريقة. 2 يوجد متغير مُعلن في كتلة التعليمات البرمجية حتى نهاية كتلة التعليمات البرمجية هذه. 3 متغيرات - وسيطات الطريقة - موجودة في أي مكان ضمن نطاق الطريقة. 4 متغيرات الفئة/الكائنات موجودة طوال عمر الكائن الخاص بها. بالإضافة إلى ذلك، تتحكم معدّلات الوصول الخاصة العامة والخاصة في إمكانية رؤيتها. 5 متغيرات الفئة الثابتة موجودة في وقت تشغيل البرنامج. تحدد معدّلات الوصول أيضًا إمكانية رؤيتها. - أنا أحب الصور، كل شيء يقع في مكانه. - جيد لك يا أميغو. عرفت دائمًا أنك زميل ذكي. - سأخبرك أيضًا عن معدّلات الوصول . لا تخف، فهذا ليس علم الصواريخ. هذه هي الكلمات العامة والخاصة التي تراها . - لست خائفة، الجو بارد هنا فحسب. - طبعا أكيد. يمكنك التحكم في الوصول (الرؤية) للطرق والمتغيرات في فصلك من الفئات الأخرى. لكل أسلوب أو متغير، يمكنك تحديد معدل وصول واحد فقط. 1 المعدل العام يمكن الوصول إلى المتغير أو الطريقة أو الفئة التي تم وضع علامة عليها بواسطة المعدل العام من أي مكان في البرنامج. إنها أعلى درجات الانفتاح، بلا قيود. 2 المُعدِّل الخاص لا يمكن الوصول إلى المتغير أو الطريقة التي تم وضع علامة عليها باستخدام المُعدِّل الخاص إلا من الفئة التي تم الإعلان عنها. بالنسبة لجميع الفئات الأخرى، تكون الطريقة أو المتغير الذي تم وضع علامة عليه غير مرئي، كما لو أنه غير موجود. هذه هي أعلى درجة من الانغلاق (مرئية من نفس الفئة فقط). 3 المعدل الافتراضي إذا لم يحدد أي معدّل متغيرًا أو أسلوبًا، فسيتم اعتباره معدّلًا افتراضيًا. تكون المتغيرات أو الأساليب التي تحتوي على هذا المعدل (أي بدون أي منها على الإطلاق) مرئية لجميع فئات الحزمة التي تم الإعلان عنها فيها. فقط في نفس الحزمة. يُطلق على هذا المُعدِّل أحيانًا اسم الحزمة للإشارة إلى إمكانية الوصول إلى المتغيرات والطرق للحزمة بأكملها، والتي تنتمي فئتها إلى علامة التبويب Explanation: المستوى القديم 02 - 12

5 دييغو، مهام إنشاء مجموعة من المتغيرات

- أهلا صديقي. إذا لزم الأمر، سأحتفظ بنسخة من العقد لك. تلك المتزلجة الرخيصة ريشا لا تعلم بسعادة. كان يجب أن ترى المبالغ الموجودة في عقدي. هيه هيه. - أحسنت يا دييغو. أعتقد أنك تعلمني أشياء مفيدة حقًا. - بالتأكيد يا أميغو. لا مكسب بلا ألم. ولكن لا يزال هناك من يعاني من الألم دون أي ربح. - دعونا ندير أيدينا بشكل أفضل للدراسة. سأوضح لك الآن كيفية إنشاء مجموعة من المتغيرات بطرق مختلفة: المستوى القديم 02 - 13- واو، دييغو! أنت ذكي جداً. - هيه هيه! شكرا أميغو. - أعتقد أنك فاتتك مهامي بالفعل. وهنا بعض منهم. هؤلاء البشر، الفضائيون لا يعرفون شيئًا عن حياتنا الآلية. ومن غيري سيعلمك ذلك؟
مهام
1 اكتب برنامجاً يعرض 3 مرات: «كثير من الناس على قيد الحياة فقط لأنه من غير القانوني إطلاق النار عليهم.».
2 اكتب برنامجاً يعرض: «إذا أردت رأيك، سأطلب منك ملء النماذج اللازمة.».
3 اكتب برنامجاً يعرض 20 مرة: «لم أقل قط معظم الأشياء التي قلتها».

6اللي، مرورا بالإشارة. المتغيرات المرجعية

- مرحبًا يا أميغو، هذه أنا مرة أخرى يا إيلي. آسف لأني أقول هذا دائمًا، لكن هذه هي الطريقة التي تتم بها الأمور على الأرض في القرن الحادي والثلاثين. سأشرح لك ميزات المتغيرات المرجعية وكيفية تمرير الوسائط المرجعية إلى الوظائف (الطرق). - أنا مستعد. - حسنًا، المتغيرات المرجعية هي متغيرات بجميع أنواعها ما عدا البدائية منها. تحتوي هذه المتغيرات على عنوان الكائن فقط (مرجع الكائن). - تقوم متغيرات الأنواع البدائية بتخزين قيمة ونوع، كما تقوم متغيرات الفئة بتخزين مراجع إلى كائنات من نفس الفئة، سواء كانت جيدة أو فارغة. هل انا على حق؟ - قطعاً. - إذن ما هو المرجع؟ - الشيء ومرجعه مرتبطان، مثل الرجل ورقم هاتفه. رقم الهاتف ليس رجلاً، ولكن يمكن استخدامه للاتصال برجل ليطلب منه شيئاً أو يرشده أو يأمره. يتم استخدام المرجع أيضًا للتفاعل مع كائن ما. تتفاعل جميع الكائنات مع بعضها البعض عبر المراجع. - وكأن الناس يتواصلون مع بعضهم البعض عبر الهاتف؟ - صحيح. عندما تقوم بتعيين كائن بدائي، يتم نسخ قيمته (مكررة). عندما تقوم بتعيين متغير مرجعي، يتم نسخ عنوان الكائن (رقم الهاتف) فقط، وليس الكائن نفسه. - حسنًا، فهمت. - يقدم المرجع ميزة أخرى: يمكنك تمرير مرجع كائن إلى أي طريقة، وستكون هذه الطريقة قادرة على تعديل (تغيير) كائننا باستخدام مرجعه عن طريق استدعاء أساليبه والوصول إلى البيانات داخل الكائن. - يتم تبادل المستوى القديم 02 - 14قيم المتغيرات a & b داخل طريقة المبادلة . عند استدعاء طريقة المبادلة ، تتلقى المتغيرات a & b نسخًا من القيم m & n . ولذلك فإن قيم المتغيرات m & n تظل كما هي عند تغيير قيم a & b . إنه مرئي بوضوح في رمز العمود الأيمن. - بصراحة، لم أحصل على شيء من ذلك. هل يمكنني الحصول على بضعة أمثلة أخرى؟ - في حالة نوع المرجع، يمكنك القيام بذلك: المستوى القديم 02 - 15- يتم تعيين إشارات للمتغيرين a وb إلى emma وalice، على التوالي، تتغير قيم a وb داخل الكائنات emma وalice. - هل من الممكن الإعلان عن فصول داخل فصول أخرى أيضًا؟ رائع! - أما الباقي فليس واضحا. - ليس كلها في نفس الوقت.

7 إلي، استدعاء الدالة، القيمة المرتجعة

- حسنا، ثم دعونا يستدير. سنتحدث عن كيفية عمل استدعاء الأسلوب، ثم حاول مرة أخرى إلقاء نظرة على المحاضرة السابقة، حسنًا؟ - اتفاق! - حسنًا، سأخبرك عن استدعاء الوظيفة/الأسلوب والقيم التي تم إرجاعها. - يتم تجميع الأوامر في وظائف، بحيث يمكنك تشغيلها في كتلة واحدة، كأمر واحد معقد. للقيام بذلك، تحتاج إلى كتابة اسم الوظيفة (الطريقة) ثم بين قوسين بعد الاسم حدد القيم والمعلمات. المستوى القديم 02 - 16- في المثال أعلاه، كتبنا دالة تعرض السلسلة التي تم تمريرها 4 مرات. ثم قمنا بتسمية الدالة print4 في السطر 6. - عندما يتعلق الأمر بتنفيذ السطر 6، سينتقل البرنامج إلى السطر 9، وسيتم تعيين قيمة للمتغير s "أريد نقله، نقله". - ثم سيتم تنفيذ الأسطر 11-14، وأخيرا، ستكتمل الوظيفة وسيستمر البرنامج مع السطر 7. - مسكتك. - لا يمكنك فقط تمرير الوسائط (المعلمات) إلى الوظيفة، ولكن يمكنك أيضًا إرجاع نتيجة (قيمة) عملية الوظيفة. ويتم ذلك باستخدام الكلمة الأساسية return. إليك ما يبدو عليه الأمر: المستوى القديم 02 - 17- أعتقد أنني أفهمه. إنه نفس الرمز الموجود على اليسار وعلى اليمين. على اليسار، يتم تقديمها كوظيفة منفصلة. - تقوم الدالة بحساب قيمة وتمريرها إلى من استدعاها باستخدام أمر الإرجاع. على الأقل أنا اعتقد ذلك. - في الأساس، هذا صحيح. - وما هو نوع الفراغ؟ - بعض الوظائف تفعل شيئًا ما فقط، ولكن لا تحسب وتعيد أي قيم، مثل طريقتنا الرئيسية (). بالنسبة لهذه الوظائف، تم إنشاء نوع نتيجة خاص فارغ (نوع فارغ). - لماذا لا يمكننا تحديد أي شيء، إذا كانت الوظيفة لا تُرجع أي شيء؟ - فكر فقط في كيفية الإعلان عن كل متغير: النوع والاسم. يتم الإعلان عن الدالة بالنوع والاسم والأقواس. اسم الوظيفة متبوعًا بالأقواس هو استدعاء دالة! - هل كان من الأسهل التوصل إلى "نوع فارغ" بدلاً من تقسيم الوظائف إلى فئتين، تلك التي تُرجع قيمة ولا تُرجع قيمة؟ - بالضبط! أنت مفكر سريع، يا فتى. - وكيف يمكنني إرجاع نوع فارغ؟ - لا يمكنك. وإليك كيفية العمل: عندما ينفذ JVM أمر إرجاع ، فإنه يحسب قيمة التعبير الموجود على يمين الكلمة return، ويخزن تلك القيمة في منطقة ذاكرة خاصة ويخرج من الوظيفة على الفور . يستخدم القيمة المحفوظة كنتيجة لاستدعاء دالة في المكان الذي تم استدعاء الوظيفة فيه. يمكنك رؤيته في المثال أعلاه. - هل تقصد المكان الذي يتحول فيه int m = min(a,b) إلى m = m2 ؟ - نعم. بعد استدعاء الوظيفة، يستمر كل شيء في العمل كما لو أن النتيجة مكتوبة في نفس المكان بدلاً من الوظيفة. اقرأ هذه الجملة مرة أخرى وانظر إلى رمز المثال الأخير. - يبدو الأمر سهلاً، لكنه صعب في الواقع. لقد حصلت على القليل فقط، هذا كل شيء. - لا بأس. في المحاولة الأولى، يمكنك أن تفهم فقط ما تعرفه بالفعل. كلما دخلت إلى منطقة جديدة بالنسبة لك، كلما أصبح الأمر غير واضح. وستكون النتيجة أكثر روعة. مع مرور الوقت، يصبح كل شيء واضحا. - حسنًا، إذا كان الأمر كذلك، فلنستمر.

8 دييغو

- أهلا أميغو. إليك بعض المهام بالنسبة لك. أنت الآن قادر على القيام بشيء أكثر من System.out. ابذل قصارى جهدك! إنني أ ثق بك!
مهام
1 الحد الأدنى من رقمين
اكتب دالة تقوم بإرجاع رقمين على الأقل.
2 الحد الأقصى لعددين
اكتب دالة تقوم بإرجاع رقمين كحد أقصى.
3 ثلاثة أرقام على الأقل
اكتب دالة تُرجع ثلاثة أرقام على الأقل.
4 أربعة أرقام على الأقل
اكتب دالة تُرجع أربعة أرقام على الأقل.
يجب أن تستخدم الدالة min(a,b,c,d) (استدعاء) الدالة min(a, b)
5 تكرار السلسلة
اكتب دالة تعرض ثلاثة أضعاف السلسلة التي تم تمريرها. يجب أن تكون كل سلسلة على سطر جديد.
6 عرض النص
اكتب دالة تعرض السلسلة (الكلمة) التي تم تمريرها ثلاث مرات في نفس السطر.
يجب أن تكون الكلمات مفصولة بمسافة ولا يلزم دمجها في كلمة واحدة.

9 دييغو، اسم الفصل الكامل

المستوى القديم 02 - 18- مرحبًا يا صديقي، أريد أن أخبرك عن أسماء الصفوف الكاملة. - أنت تعلم بالفعل أن الفصول الدراسية موجودة في الحزم. لذلك، اسم الفئة الكامل هو الاسم الذي يغطي جميع الحزم مفصولة بالنقاط، واسم الفئة. أمثلة: المستوى القديم 02 - 19 - لاستخدام الفصل في الكود الخاص بك، يجب عليك تحديد اسمه بالكامل. ومع ذلك، يمكنك استخدام اسم قصير - اسم فئة فقط. للقيام بذلك تحتاج إلى "استيراد" هذه الفئة عن طريق تحديد اسمها وإضافة كلمة الاستيراد قبل أن تعلن عن فئة. يتم استيراد فئات الحزمة java.lang (String، Integer،...) افتراضيًا. لا تحتاج إلى تحديدها. مثال: المستوى القديم 02 - 20- مثال على استخدام الأسماء المختصرة: المستوى القديم 02 - 21- فهمت. - بخير.

10 أستاذ محاضرة عن الطبقات والأشياء

المستوى القديم 02 - 22- أهلا أميغو. أتمنى أن تكون قد فهمت كل ما أخبرك به إيلي وريشا اليوم. فقط لكي تكون آمنًا، كما وعدت، إليك روابط لمزيد من المواد: 1 ملاحظاتي 2 التفكير في Java. هذا الكتاب الرائع الذي أخبرتك عنه بالفعل. سيكون أمرا رائعا إذا قرأته. - أتمنى أن تخصص وقتاً لتصفحه. - مهم. بالتأكيد سأفعل!

11 خوليو

- مهلا، أميغو! أتمنى أن تحصل على بعض الراحة الصعبة والمتعبة؟

تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION