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

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

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

خريطة الطريق لمطور جافا

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

راتب مطور البرمجيات

أود أن أخبركم عن رواتب المطورين. كيف تقع الأرض مع الرواتب، وأين يجب أن تعمل، وأين لا ينبغي أن تعمل. إذا لم تكن مطورًا وحاولت حل المشكلة بنفسك، فقد تحصل على بيانات مثيرة للجدل إلى حد ما. النقطة الأساسية هي أن العامل الرئيسي الذي يؤثر على راتب المطور ليس المؤهل، بل مكان العمل. في بعض الأحيان، في ضوء مستوى المؤهلات المتساوي، يمكن أن يكون الفرق بين مكان العمل الجيد والسيئ من 2 إلى 10 مرات (!) في كل لحظة من الوقت تكون مؤهلاتك ثابتة. لا يمكنك أن تصبح مؤهلاً مرتين في شهر واحد وتحصل على أجر مضاعف. ولكن يمكنك تغيير مكان العمل خلال شهر والحصول على راتب أكبر بمرتين. مرة واحدة خلال شهرين، تضاعف راتبي بثلاثة (!) - تجربة لا تُنسى. لذلك، دعونا معرفة ما هو المكان الأفضل. فيما يلي العوامل الثلاثة التي تؤثر بشكل رئيسي على مستويات الرواتب في الشركات:
  1. ما إذا كان العمل الرئيسي للشركة هو تطوير البرمجيات
  2. سواء كانت الشركة موجهة نحو السوق العالمية أو المحلية
  3. أين يقع المكتب الرئيسي: دولة متقدمة أو دولة نامية
لاحظ أن المدينة التي تعمل فيها ليست ذات صلة. بمعنى، إذا كنت تكسب في برشلونة أقل بخمس مرات من دخل صديقك في نيويورك، فمن المحتمل أن تكون العوامل التي ذكرتها قد أثرت. 

أرقام محددة

نظرًا لاختلاف الرواتب في أجزاء مختلفة من العالم، أقترح أخذ راتب مطور Java كبير يتمتع بخبرة 5 سنوات كنقطة بداية وأطلق عليه "5 سنوات كحد أقصى". سيتم إعطاء جميع الأرقام أدناه كنسبة مئوية من هذا المبلغ. فيما يلي بعض الأمثلة على رواتب "5 سنوات كحد أقصى" في مدن مختلفة من العالم: المستوى القديم 06 - 2يظهر أدناه المبلغ الذي قد يكسبه مطور Java كبير يتمتع بخبرة 5 سنوات اعتمادًا على الشركة التي يعمل بها: المستوى القديم 06 - 3المستوى القديم 06 - 4ما أغرب شيء في الوضع الحالي؟ يعمل نصف المبرمجين في شركات من المستوى الأول والثاني. هل تريد أن تعرف، ما الفائدة؟ هناك المئات من الوظائف الشاغرة المفتوحة في الشركات من المستوى الثالث والرابع. هذه الشركات على استعداد لتزويدك برواتب أعلى وظروف عمل أفضل عادةً. أعرف اثنين من موظفي Java Junior، حصل أحدهما على وظيفة براتب 3% تقريبًا من "5 سنوات كحد أقصى" (شركة من المستوى 1)، وحصل الآخر على وظيفة براتب 30% من "5 سنوات كحد أقصى" (المستوى 4). فلماذا تحصل على أقل؟ الطلب على المبرمجين يتجاوز العرض - لا تعمل حيث تحصل على أجر أقل! الاستنتاج 1: متوسط ​​الراتب لمطوري Java (مع أي خبرة) هو 40%-50% من الراتب "5 سنوات كحد أقصى". الاستنتاج 2: سيكون متوسط ​​راتبك خلال 5 سنوات حوالي 90%-110% من راتب "5 سنوات كحد أقصى"، إذا كنت لا تعمل في شركات من المستوى الأول والثاني، وتعمل في شركات من المستوى 3 و4.

ما يمكنك تحقيقه إلا إذا قمت بأشياء غبية

إذا بدأت العمل على تعليمك الذاتي في البرمجة الآن، فقد يبدو راتبك كما يلي: المستوى القديم 06 - 5

يخطط

0-3 أشهر (طالب)

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

3-15 شهرًا (مطور Java Junior)

أنت تعمل كمطور برامج بالفعل وتنمو تجربتك يوميًا. لا تسترخي. لديك الكثير لتفعله قبل أن تستريح على المجاديف. ما عليك القيام به هو – دراسة التقنيات التي ستحتاجها كمطور متوسط. ما هي هذه؟ إن العالم يتغير باستمرار. سأزودك بالنصائح وستغير الحياة كل شيء. ابحث عن بعض الوظائف الشاغرة على الويب واطلع على ما تحتاج إلى تقديمه. تأكد من قراءة كتاب بروس إيكل "التفكير في جافا". هدفك في السنة الأولى من العمل كمطور Java Junior هو الوصول إلى مستوى Java Middle Developer. لا أحد يقول أن ذلك سيكون سهلاً، لكن هذا ممكن بالنسبة لشخص ذو هدف محدد. سيؤدي ذلك إلى زيادة راتبك في لحظة بنسبة تصل إلى 40% من "5 سنوات كحد أقصى" (50 ألف دولار لساو فرانسيسكو ولندن، 6 آلاف دولار لبنغالور).

البرمجة لمدة عامين (مطور Java الأوسط، المستوى 1)

لقد قمت بعمل جيد في العام الماضي وأنت الآن مطور Java الأوسط. يمكنك العيش بشكل جيد مقابل 50٪ من راتب مطور Java الأول. يتم تكليفك ببعض المهام الجادة في العمل وتنمو خبرتك بشكل ملحوظ. ستصل إلى مستوى Java Senior Developer في غضون عامين أو ثلاثة أعوام. لا حاجة للعجلة. لن تحصل على مبالغ كبيرة في الراتب على أي حال. ما عليك القيام به هو تعلم أنماط التصميم، وقراءة - اكتمال كود ماكونيل. تحسين جودة الكود الخاص بك ومهارات الفريق. أنشئ قاعدة لقراءة كتاب واحد عن برمجة الكمبيوتر كل شهر. وبعد ذلك، خلال 4 سنوات، ستكون أكثر ذكاءً من الكتب الأخرى بـ 50 كتابًا. لا تؤجله: لن تحصل على قدر أكبر من وقت الفراغ، علاوة على ذلك، على الأرجح ستكوّن عائلة، أو إذا كان لديك عائلة، فسوف تصبح أكبر. هدفك هو اختيار عدد قليل من التقنيات للتخصص فيها كمطور Java كبير. لا يمكنك أن تتعلم كل منهم، كما تعلمون. ومن الجيد دائمًا أن تصبح خبيرًا في تخصص واحد. المستوى القديم 06 - 6

برمجة ثلاثية الأبعاد (مطور Java الأوسط، المستوى 2)

أنت الآن مطور متوسط ​​ذو خبرة وتفكر في أن تصبح مطورًا أول. إنها ممتعة ومرموقة. يتجاوز راتبك 60% من "الحد الأقصى لمدة 5 سنوات" (10 آلاف دولار في بنغالور، و25 ألف دولار في كييف، و40 ألف دولار في برلين، و80 ألف دولار في نيويورك). من هذه اللحظة، يزداد الطلب على المحترفين مثلك. ستتمكن دائمًا من العثور على وظيفة في غضون يومين، ولن تكسب أقل مما تكسبه الآن. هذا، بالطبع، إذا لم تفعل أي شيء غبي. ما عليك القيام به هو الاستمرار في دراسة التقنيات التي اخترتها. تعمل على نحو أفضل. ليس من أجل صاحب العمل الخاص بك، من أجلك. تقدم بطلب للمشاركة في المشاريع التي تتضمن تقنيات واعدة (مثل BigData، في وقت كتابة هذا المقال). ستقضي 8 ساعات يوميًا في المكتب على أي حال، فلماذا لا تحصل على المزيد من المال مقابل ذلك، والأهم من ذلك بكثير، الخبرة الأكثر قيمة التي ستحتاجها في المستقبل. هدفك هو العثور على وظيفة جديدة. يمكن العثور دائمًا على فريق جيد. ستواجه مشاريع وتقنيات جديدة. لا تحتاج إلى الجذر على كرسيك. إذا كنت لا تزال تعمل في شركة من المستوى الثالث، فكر في التوظيف في شركة من المستوى الرابع.

برمجة السنة الخامسة (مطور جافا الأول، المستوى 1).

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

برمجة السنة السادسة (مطور جافا الأول، المستوى 2)

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

تخصصك المستقبلي

المستوى القديم 06 - 7يمكنك أن تتطور كمتخصص تقني (الفرع العلوي)، أو كإدارة (الفرع الأدنى) أو كمستشار محترف/مستقل (الفرع المتوسط). كل هذا يتوقف على ما تفضله.

مهنة مطور جافا

مهنة المطور تختلف عن أي مهنة أخرى. لست بحاجة إلى أن تصبح مديرًا لكسب أموال جيدة. غالبًا ما يحدث أن يكسب أحد كبار المطورين أكثر من مديره أو رئيسه. كلما زادت خبرتك، زادت قوة علاقات العمل مع رئيسك في العمل، وتغيرت من "رئيس مرؤوس" إلى "نجم ومدير". مدلل معرفة قيمتها المطورين اختيار المشاريع والوظائف الشاغرة. دعونا نكون سعداء لأولئك منا. إذن، ما الذي تحتاجه لتصبح مطورًا ذا قيمة عالية وشعبية على مستوى عالمي؟ يجب أن تتمتع بخبرة كبيرة في التقنيات الجديدة والأكثر طلبًا. كيفية تحقيق ذلك؟ انظر أدناه. المستوى القديم 06 - 8بمجرد حصولك على وظيفة كمطور، يبدأ حدوث أمرين لك؛ ومع ذلك، فهي ليست مرئية دائمًا. 1. تكتسب خبرة في المشاريع الحقيقية وتنمو بسرعة. تمنحك سنة واحدة في هذه الوظيفة خبرة أكبر من 5 سنوات في الكلية. تعد الخبرة أمرًا مهمًا لدرجة أنهم يكتبون "مطور Java مع خبرة 3 سنوات مطلوبة" في الوظائف الشاغرة المنشورة. 2. تدرس التقنيات الجديدة 8 ساعات يوميًا وتحصل على أجر جيد مقابل ذلك. لا يمكنك المبالغة في تقدير هذه الحقيقة. في بعض الحالات، تكون المهارات التي تحصل عليها ذات قيمة كبيرة لدرجة أنه كان بإمكانك العمل مجانًا للحصول عليها أو حتى دفع ثمنها. إذا اخترت المشاريع التي تعمل عليها بحكمة، فأنت على وشك الحصول على مهنة مطور برامج مثيرة للاهتمام. إذن... ماذا تختار؟ غالبا ما يحدث أنك لا تعرف ما هي التكنولوجيا التي ستكون مفيدة، لذلك تبدأ في اختيار "أعجبني ولا أحب" و "اتجاهات الموضة". قد تكون محظوظًا وقد لا تكون كذلك. لذلك من الأفضل أن تعرف وجهتك مسبقًا. هناك الكثير من الطرق للتطور بالنسبة للمبرمجين، لذا، لتبسيط الأمر، سأختار عددًا قليلًا منها وأكتب رؤيتي للوضع المستقبلي. لا تعتقد أن هذا النمط متشدد؛ إنها بالأحرى نظرة مبسطة للأشياء المقدمة لتوضيح الأمر.

مطور عمره مائتي عام

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

مدير. أنت محظوظ لأنك لست مثل الآخرين

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

الوطن هو حيث القلب

المستوى القديم 06 - 9إذا كنت قد قمت بالفعل بتكوين أسرة ، فربما ترغب في الحصول على حياة لطيفة وهادئة في بلد يتمتع باقتصاد قوي. ربما تفكر في الانتقال إلى كندا أو الولايات المتحدة الأمريكية أو سويسرا أو حتى أستراليا. لديك مهارات ممتازة ومهنة مطلوبة. لن تضطر إلى البدء بغسل الأطباق. ستبدأ كمطور Java كبير. ربما يكسب الكثير. ليس سيئا، ها؟

شاهد نابولي ولا تموت.

ليس لديك عائلة بعد وتحبين السفر . oDesk هو كل ما لديك. ابحث عن عميل، ووافق على سعر يتراوح بين 20 إلى 50 دولارًا في الساعة، واصطحب معك جهاز كمبيوتر محمولًا وانطلق! راتبك يكفي للعيش في أي مكان في العالم. لماذا لا تبدأ في تحقيق أحلامك على الفور؟

لا أريد أن أبرمج، أنا فتاة..

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

المستوى 6

المستوى القديم 06 - 10

1 اليلي. رؤية الكائن. باطل

- مهلا، أميغو! - مرحبا ايلي! هل ستخبرني بشيء مثير للاهتمام اليوم؟ - سأخبرك اليوم عن عمر الشيء . بعد إنشاء الكائن، يظل موجودًا (يعيش) حتى يقوم متغير واحد على الأقل بتخزين عنوانه (يوجد مرجع كائن واحد على الأقل). إذا لم يعد هناك أي مراجع، فسيموت الكائن. أمثلة: المستوى القديم 06 - 11- الكائن «قطة تومي» موجود في سطر واحد فقط منذ لحظة إنشائه. في السطر التالي، يتم تعيين هذا المتغير الوحيد الذي يخزن مرجعه على القيمة null ويقوم جهاز Java الظاهري بتدمير الكائن. - يتم تخزين الكائن «قطة سامي» بعد إنشائه في المتغير cat1. أو بالأحرى، يخزن cat1 مرجعًا للكائن. ثم يتم نسخ سطرين أسفل هذا المرجع إلى المتغير cat2. بعد ذلك يتم تخزين مرجع إلى كائن آخر في cat1، ويبقى المرجع إلى «cat Sammy» فقط في cat2. أخيرًا، في السطر الأخير من الطريقة الرئيسية، يتم تعيين المرجع الأخير للكائن على قيمة خالية. - الكائن «قطة مايسي» موجود في سطر واحد فقط منذ لحظة إنشائه. في السطر التالي يتم تعيين قيمة أخرى للمتغير cat2 ويتم فقدان الإشارة إلى «cat Maisy». يصبح الكائن غير قابل للوصول ويعتبر غير مرغوب فيه (ميت). - الكائن «cat Ginger» موجود منذ لحظة إنشائه وحتى نهاية الطريقة. في وقت التشغيل عند خروج الطريقة، سيتم تدمير المتغير cat1، وبعد ذلك سيتم تدمير الكائن «cat Ginger» أيضًا. - انها واضحة. - ومع ذلك، إذا قمت بإنشاء الكائن Cat بطريقة ما وقمت بتخزين مرجعه في متغير فئة، فسوف يكون Cat موجودًا طالما أن هناك مرجعًا له من كائن آخر موجود. - عادة، لا يتم تدمير الكائن على الفور. يقوم جهاز Java الظاهري أحيانًا بتنشيط مجموعة البيانات المهملة لإزالة الكائنات غير المستخدمة. سأخبرك عن ذلك لاحقا. - إذا كنت تريد أن يتوقف بعض المتغيرات عن تخزين مرجع كائن، فيمكنك تعيين قيمة فارغة له أو مرجع لكائن آخر.

2 أستاذ جمع القمامة

المستوى القديم 06 - 12- مهلا، أميغو! إليك رابطًا مفيدًا حول مجموعة البيانات المهملة في Java. هذه بالتأكيد ليست محاضراتي الممتازة، لكنها جيدة بما فيه الكفاية: أساسيات جمع البيانات المهملة في Java

3 اليلي، وضع اللمسات الأخيرة

- مرحبا مجددا! الآن سأقدم لك مقدمة مختصرة عن طريقة Finalize() . يتم استدعاء هذه الطريقة بواسطة جهاز Java الظاهري على الكائن قبل تدمير الكائن. في الواقع، هذه الطريقة معاكسة للمنشئ. في هذه الطريقة من الممكن تحرير الموارد التي يستخدمها الكائن. - كائن الفئة لديه هذه الطريقة، وبالتالي، كل فئة لديها هذه الطريقة ( جميع الفئات في Java تعتبر موروثة من كائن الفئة وتحتوي على نسخة من أساليبها ). إذا كتبت في فصلك طريقة Finalize() وسيتم استدعاؤها قبل تدمير كائنات هذه الفئة. مثال: المستوى القديم 06 - 13- فهمت. - ولكن هناك شيء واحد. تقرر آلة Java الافتراضية بنفسها ما إذا كانت ستستدعي هذه الطريقة أم لا. في أغلب الأحيان، يتم تدمير الكائنات التي تم إنشاؤها في الطريقة والإعلان عنها على أنها قمامة بعد الخروج منها، على الفور ودون أي استدعاءات للطريقة النهائية (). هذه الطريقة هي أداة أخرى للتحكم في تخصيص الموارد الخارجية (خارج JVM). من الأفضل تحرير كافة الموارد الخارجية المستخدمة وإعادة تعيين المراجع المخزنة عندما تريد تدمير الكائن. سأخبركم عن مميزات هذه الطريقة وتفاصيل عملها في 10 أو 20 مستوى. في هذه الأثناء، يجب أن تعرف شيئين: هذه الطريقة موجودة، و( مفاجأة! ) لا يتم استدعاؤها دائمًا.

4 إلي، عمر الكائن

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

5 دييغو، مهام عمر الكائن

- مهلا، أميغو! إليك بعض المهام لك:
مهام
1 1. طريقة وضع اللمسات النهائية () لفئة Cat
اكتب طريقة محمية باطلة نهائية () ترمي رميات قابلة للرمي في فئة Cat
3 2. فئات Cat وDog وطريقة Finalize() لكل فئة
في كل فئة Cat وDog، اكتب طريقة Finalize() ، والتي تعرض على الشاشة رسالة مفادها أن الكائن قد تم تدميره.
3 3. 50000 كائن من فئة Cat و50000 كائن من فئة Dog
أنشئ في حلقة 50000 كائن من فئة Cat و50000 كائن من فئة Dog. (سوف يقوم جهاز Java الظاهري بتدمير الكائنات غير المستخدمة، لذلك سيتم استدعاء الطريقة النهائية () مرة واحدة على الأقل).
4 4. عداد القطط
في مُنشئ فئة Cat [Public Cat()]، قم بزيادة عداد القطط (متغير ثابت catCount من نفس الفئة) بمقدار 1. في الطريقة Finalize() قم بتقليل بمقدار 1.

6 إلي، الفئات والأساليب الثابتة

- هنا موضوع جديد مثير للاهتمام. أريد أن أخبرك عن المتغيرات والأساليب الثابتة. - أوه، لقد سمعت بالفعل عن المتغيرات الثابتة. حول الأساليب الثابتة أيضًا، على ما أعتقد. ولكن أود الحصول على مزيد من التفاصيل. - عند الإعلان عن المتغيرات في فئة ما، نحدد ما إذا كانت هذه المتغيرات قد تم إنشاؤها في نسخة مشتركة واحدة، أو ما إذا كان من الضروري إنشاء نسخها لكل كائن. بشكل افتراضي، يتم إنشاء نسخة جديدة من متغير الفئة لكل كائن من هذه الفئة. إليك ما يبدو عليه الأمر: المستوى القديم 06 - 14- على الرغم من أن المتغيرين cat1.name و cat2.name تم الإعلان عنهما في نفس الفئة - إلا أنهما يخزنان قيمًا مختلفة، لأنهما مرتبطتان بكائنات مختلفة. - انها واضحة. - يوجد متغير ثابت في مثيل واحد؛ تحتاج إلى الوصول إليه باستخدام اسم الفصل: المستوى القديم 06 - 15- إنه واضح أيضًا. - تنقسم أساليب الفصل أيضًا إلى فئتين. يتم استدعاء الطرق العادية على الكائن ولها حق الوصول إلى بيانات هذا الكائن. لا تتمتع الطرق الثابتة بمثل هذا الوصول ، لأنها لا تحتوي على مرجع كائن. الطرق الثابتة قادرة على الوصول إلى المتغير الثابت لهذه الفئة أو الطرق الثابتة الأخرى. - لا يمكن للطرق الثابتة الوصول إلى الأساليب غير الثابتة أو المتغيرات غير الثابتة! - لما ذلك؟ - يتم وضع كل متغير فئة عادي داخل كائن. يمكن لأي طريقة الوصول إلى هذا المتغير فقط عندما يكون لديه إشارة إلى هذا الكائن. لا يتم تمرير هذا المرجع إلى الطريقة الثابتة. - وماذا عن الطرق العادية؟ - يتم تمرير مرجع مخفي إلى الطريقة العادية للكائن الذي يتم استدعاء هذه الطريقة عليه. المتغير الذي يخزن هذا المرجع يسمى هذا . وبالتالي، يمكن للطريقة دائمًا الحصول على بيانات الكائن الخاص بها أو استدعاء طريقة أخرى غير ثابتة لنفس الكائن. - يتم تمرير القيمة الخالية إلى طريقة ثابتة بدلاً من مرجع الكائن. لذلك، لا يمكن للطريقة الثابتة الوصول إلى المتغيرات والأساليب غير الثابتة - فهي لا تحتوي على أي إشارة إلى الكائن المرتبط بها. - أرى. - هذه هي الطريقة التي تعمل بها الطرق العادية غير الثابتة: المستوى القديم 06 - 16- وهذه هي الطريقة التي تعمل بها الطرق الثابتة: المستوى القديم 06 - 17- يكون المتغير أو الطريقة ثابتة إذا تم الإعلان عنها باستخدام الكلمة الأساسية static. - وما فائدة مثل هذه الأساليب إذا كانت محدودة إلى هذا الحد؟ - هذا النهج له مزاياه أيضًا. - أولاً، لا تحتاج إلى تمرير أي مرجع كائن للوصول إلى الأساليب والمتغيرات الثابتة . - ثانياً، في بعض الأحيان يكون من الضروري أن يكون المتغير فريداً من نوعه . مثل، على سبيل المثال، المتغير System.out (متغير ثابت خارج فئة النظام). - والثالث،في بعض الأحيان يكون من الضروري استدعاء إحدى الطرق قبل أن تتمكن من إنشاء أي كائنات . - بأية مناسبة؟ - لماذا تعتقد أن الطريقة الرئيسية تم إعلانها ثابتة؟ لاستدعائها فورًا بعد تحميل الفصل في الذاكرة قبل أن يكون من الممكن إنشاء أي كائنات.

7 الريشة، الطبقات والأساليب الثابتة

- بالإضافة إلى الأساليب الثابتة هناك أيضًا فئات ثابتة . سننظر في هذه الحالة لاحقًا، وسأعرض لك مثالاً عليها: المستوى القديم 06 - 18- يمكنك إنشاء أي عدد تريده من الكائنات من فئة Cat. على عكس المتغير الثابت الموجود في مثيل واحد. - الغرض الرئيسي من المعدل الثابت قبل إعلان الفئة هو الحفاظ على العلاقة بين الفئة Cat والفئة StaticClassExample . بشكل عام، الفئة Cat غير مرتبطة (ليس لديها مرجع مخفي) بكائن StaticClassExample ولا يمكنها الوصول إلى متغيرات StaticClassExample العادية (غير الثابتة). - حتى أستطيع إنشاء فصول داخل فصول أخرى؟ - نعم. جافا تجعل هذا ممكنا. الآن، لا تفكر في الأمر كثيرًا. سأشرح لاحقًا بعض الأشياء الأخرى، وسيصبح كل شيء أسهل قليلاً. - أتمنى ذلك.

8 دييغو، المهام على الطريقة الثابتة

- مهلا، أميغو! فيما يلي بعض المهام المثيرة للاهتمام حول الأساليب الثابتة:
مهام
1 1. فئة Cat والمتغير الثابت catCount
اكتب متغيرًا ثابتًا int catCount في الفئة Cat. قم بإنشاء مُنشئ [ public Cat() ]، حيث يجب زيادة المتغير المحدد بمقدار 1.
2 2. الطرق الثابتة: int getCatCount() و setCatCount(int)
أضف طريقتين ثابتتين إلى فئة Cat: int getCatCount( ) و setCatCount(int) حيث يمكنك الحصول على / تغيير عدد القطط (المتغير catCount)
3 3. Class Util
تنفيذ طريقة ثابتة double getDistance(x1, y1, x2, y2) . وينبغي حساب المسافة بين النقاط. استخدم الطريقة double Math.sqrt(double a) لحساب الجذر التربيعي للمعلمة التي تم تمريرها
4 4. Class ConsoleReader
اكتب فئة ConsoleReader، والتي سيكون لها 4 طرق ثابتة:
- String readString () لقراءة السلاسل من لوحة المفاتيح
- int readInt () لقراءة الأرقام من لوحة المفاتيح
- double readDouble () لقراءة الأرقام الكسرية من لوحة المفاتيح
- void readLn () لانتظار الضغط على زر الإدخال [استخدم readString ()]
5 5. فئة StringHelper
اكتب فئة StringHelper، والتي سيكون لها طريقتان ثابتتان:
- يجب أن تقوم سلسلة المضاعفة (String s، int count) بإرجاع مرات العد المتكررة للسلسلة.
- يجب أن تقوم سلسلة الضرب (String s) بإرجاع السلسلة المتكررة 5 مرات.

مثال:
Amigo → AmigoAmigoAmigoAmigoAmigo

9 أستاذ، نطاق الكائن الثابت وعمره

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

10 خوليو

- مهلا، أميغو! لقد قمت بعمل عظيم اليوم. لهذا السبب لا أستطيع أن أعطيك المزيد. هيا، اجلس، يبدأ العرض:

11 الكابتن السناجب

- مرحبا أيها الجندي! - صباح الخير سيدي! - لدي بعض الأخبار الرائعة لك. إليك فحصًا سريعًا لتعزيز مهاراتك. افعل ذلك كل يوم، وسوف تعزز مهاراتك بسرعة. تم تصميم المهام خصيصًا للقيام بها في Intellij IDEA.
مهام إضافية للقيام بها في Intellij Idea
1 فئة Cat والمتغير الثابت catCount
اكتب متغيرًا ثابتًا public int catCount في فئة Cat. قم بإنشاء مُنشئ [Public Cat()]. دع المتغير الثابت catCount يزيد بمقدار 1 في كل مرة تقوم فيها بإنشاء قطة (كائن جديد Cat). أنشئ 10 كائنات Cat واعرض قيمة المتغير catCount .
2 2. القطط الساكنة
  1. أضف قطة متغيرة عامة ثابتة (ArrayList<Cat>) في الفئة Cat.
  2. في كل مرة تقوم فيها بإنشاء قطة (كائن جديد Cat)، دع هذه القطة الجديدة تضاف إلى القطط المتغيرة . إنشاء 10 كائنات القط.
  3. يجب أن تعرض الطريقة printCats() جميع القطط. تحتاج إلى استخدام القطط المتغيرة في الطريقة.
نصيحة:
لإنشاء متغير للقطط ، استخدم سطر التعليمات البرمجية:
public static ArrayList<Cat>cats = new ArrayList<Cat>();
3 3. انقل معدّلًا ثابتًا واحدًا
انقل معدّلًا ثابتًا واحدًا حتى يتم تجميع الكود.
4 4. الحد الأدنى لعدد الكلمات الأساسية الثابتة
أضف الحد الأدنى لعدد الكلمات الأساسية الثابتة لتجميع التعليمات البرمجية وإكمال البرنامج بنجاح.
5 5. هل هناك أفكار جديدة؟ دعونا نفكر...
  1. اكتب فكرة فئة ثابتة عامة في حل الفصل
  2. اكتب طريقة عامة String getDescription() في فئة Idea لإرجاع أي رسالة غير فارغة
  3. في الفصل الدراسي، قم بإنشاء طريقة ثابتة public void printIdea(Idea idea) لعرض وصف للفكرة - وهذا ما ترجعه الطريقة getDescription()
6 6. KissMyShinyMetalAss
اكتب فصلًا باسم KissMyShinyMetalAss. قم بإنشاء كائن من هذه الفئة، ثم قم بعرضه على الشاشة.
7 7. اسم ثلاثة متغيرات ثابتة
اكتب 3 متغيرات ثابتة عامة: String Solution.name ، String Cat.name ، String Dog.name
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION