آسهَى پبیبىتزم زرس ثزًبهًَِیسی پيطزفتِ زیهبُ 4991 هْسی ػيٌؼلی کلید سواالت سَال .4اس هستٌس اصَل طزاحی سَال . 2زٍ گشیٌِ آذز اصل جبیگشیٌی ليسکَف ثيبى هیکٌس کِ ثبیس ثتَاى کالس فزسًس را جبیگشیي کالس پسر کزز ثسٍى آًکِ استفبزُکٌٌسگبى کالس پسر ثب هطکلی هَاجِ ضًَس. اس ایي رٍ است کِ زر هتس Overrideضسُ کالس فزسًس ًویتَاًس حقی کِ کالس پسر اػطب کززُ است را سلت کٌس ٍ یب هحسٍزیت ثيطتزی ًسجت کِ هحسٍزیتّبی کالس پسر ثز رفتبر هتس تحويل ًوبیس. ثب زر ًظز گزفتي ًکتِ اٍل هتس زر کالس فزسًس زستزسی هتس پسر را ًویتَاًس کبّص زّس ،لذا ذط 42ثِ زليل اًکِ زستزسی privateزر کالس فزسًس هحسٍزتز اس زستزسی protectedزر کالس پسر است ذطبی کبهپبیل ذَاّس زاز. پزتبة کززى Exceptionثزای یک هتس هحسٍزیت ثِ حسبة هیآیس .حبل اگز هتس زر کالس فزسًس Exceptionگستززُ- تزی اس هتس زر کالس پسر پزتبة کٌس زر ٍاقغ استفبزُ اس هتس را هحسٍزتز کززُ است ٍ .ایي ثبس ثِ هؼٌی اصل جبیگشیٌی ليسکَف است .لذا سطز 44کِ Exceptionگستززُتزی ًسجت ثِ کالس پسر پزتبة هیکٌس ذطبی کبهپبیل هیزّس. زقت ًوبیيس کِ اگز هتس زر فزسًس Exceptionای ذبرج اس پسر-فزسًسی Exceptionهتس کالس پسر پزتبة هیکزز ثبس ثِ زليل ًقط اصل ليسکَف ثزای افشٍزى هحسٍزیت ثيطتز اس پسر ذطبی کبهپبیل رخ هیزّس. هتسّبی زیگز کالس فزسًس گًَِّبی Overloadضسُ هتس پسر ّستٌس ٍ ثی ّيچ هطکلی کبر هیکٌٌس .ثزای تَظيحبت ثيطتز ثِ اسالیس هزثَط ثِ Exceptionsهزاجؼِ ًوبیيس. سَال -9صَرت ایي سَال ػيٌب ثِ ػٌَاى کَئيش زر کالس هطزح ضسُ ثَز اس صَرت ثرص هزثَط ثِ هقسار زّی هتغيزّبی ثِ تزتيت ذطَط هیتَاى ًتبیج سیز را گزفت: D .4حتوي یک کالس Concreteاست. .2 Eحتوي یک کالس Concreteاست ٍ Eیک Dاست(.راثطِ ، IS_Aپس Eفزسًس Dاست). E .9فزسًس Cاست. E .1فزسًس Bاست. B .5فزسًس Aاست. حبل اس ثرص زٍم یؼٌی ذطَطی کِ هَجت ذطب هیضًَس هیتَاى ًتبیج سیز را ثِ تزتيت گزفت: D .4فزسًس ً Cيست. C .2فزسًس ً Dيست. B .9فزسًس ً Dيست. D .1فزسًس ً Bيست. حبل اس ػجبرات ثبال هیتَاى ًتبیج سیز را استسالل کزز. Eفزسًس D,B,Cاست ٍ Dکالس کبًکزیت ثَزُ ٍ ثب C ٍ Bراثطِ پسر فزسًسی ًسارز .لذا چَى زر جبٍا پسر فزسًسی چٌسگبًِ ثيي کالسّب ٍجَز ًسارز لذا تٌْبی Dیک کالس است ٍ حتوي C ٍ Bثِ صَرت interfaceتؼزیف ضسُاًس. چَى Bفزسًس Aاست ٍ Bثِ صَرت interfaceاست لذا ً Aيش فقط هيتَاًس Interfaceثبضس. لذا گشیٌِّبی ج ،ز ،ُ ،ح ًبزرست اًسً .وَزار کالسّبی سیز ٍ چٌس حبلت زیگز هیتَاًس حبلتّبی هوکي اس رٍاثط ثيي کالسّب ثبضس. حبلت الف) حبلت ة) سَال -1کس سیز هیتَاًس کالس ذَاستِ ضسُ ثبضس. سَال – 5 گشیٌِ ة) nullهیتَاًس ثِ ػٌَاى کليس یب هقسار زر Mapاستفبزُ ضَز( .اگز قزار ثَز کِ ایي هسئلِ هَجت ذطب ضَز کِ ذطبی حيي اجزا رخ هیزاز کِ قجال گشیٌِ ذطبی حيي اجزا ثزای ػسم ایجبز چٌيي ضبئجِای اس صَرت سَال حذف ضسُ ثَز). ًکتِ اصلی Mapپيبزُسبسی سبذتبر Key-Valueاست کِ زر آى هقبزیز ثب کليسّبی یکتب قبثل زستزسی ّستٌس .لذا ّوَارُ اذزیي هقسارزّی ثزای یک کليس زر Mapجبیگذاری ذَاّس ضس. کليسّبی هرتلفی کِ ثِ صَرت Integerثِ Mapاظبفِ ضسُاًس ثِ زليل ذبصيت Autoboxingجبٍا ّوگی ثِ کالس- ّبی ّوجٌس Integerتجسیل ذَاٌّس ضس کِ پيبزُسبسی هتس )( equalsآى ثزای هقسار Primitiveزاذل آى ثِ زرستی صَرت گزفتِ است .لذا ثِ ػٌَاى کليس هقسار ػسزی زاذل ّز ضی هجٌب ذَاّس ثَز .یکتبیی ٍ ثزاثز ثَزى کليسّب ثب )( equalsثزرسی هیضَز. زقت ًوبیيس کِ ثزای ّ Wrapper Classب استفبزُ اس == ثِ )( equalsاس اضتجبّبت رایج ثزًبهِ ًَیسبى است. یؼٌی ػجبرت )new Integer(2)==new Integer(2 هقسار ٍ Falseػجبرت ;))new Integer(2).equals(new Integer(2 هقسار Trueزارز. سَال -6اس کس هتس هیتَاًس حسس سز کِ ّسف هتس حذف اضيبی studentثب ًبم ٍ ضٌبسِ nullاس ليست است .ثب ایي فزض هیتَاًس پيبزُسبسی Testثب استفبزُ اس Annotationثزای آسهَى چْبرگزٍُ ثِ ضکل سیز ارایِ زاز: کِ ًتيجِ اجزای آسهَى ثِ صَرت سیز ذَاّس ثَز. حبل اگز کس اصلی را ثِ صَرت سیز تغييز زّين: کِ ثزای آى توبهی آسهَىّب ثب هَفقيت اجزا هیضًَس: گزٍُّبی آسهَى هتوبیش زیگزی ًيش قبثل تطريص است .استفبزُ اس پسر-فزسًسی ثزای ًَضتي ّ TestCaseن هجبس ذَاّس ثَز. سَال -7 ّز چٌس کِ هیتَاى تغييزات ثيطتزی ثز رٍی ایي کس اًجبم زاز ٍلی یک ثبسآرایی حساقلی ثزای چٌيي کسی ثِ صَرت سیز است: کالسّبی جسیس سیز تؼزیف ضًَس. ٍ کالسّبی قجلی ثِ صَرت سیز تغييز ًوبیٌس: ثبیس زقت ًوَز کِ ضبیس هیضس هتسّبی هزثَط ثِ Vallidationرا زر قبلت یک پسر هطتزک ثزای زٍ کالس استفبزُ کٌٌسُ ًيش تؼزیف کزز ٍلی چٌيي پسرفزسًسی اس زیسگبُ ضیگزایی زالیل کبفی ًسارز .پس چٌيي هتسّبیی کِ ٍاثستگی ذبصی ثِ کالسی ًسارًس ٍ هبّيتب ثِ صَرت statelessیؼٌی ثسٍى حبلت ّستٌس ًجبیس زر قبثل کالسّبی کبًکزیت تؼزیف ضًَس. ثْتز است چٌيي هتسّبی ثِ کالسّبیی ثب هتسّبی ثسٍى حبلت استبتيک گٌجبًسُ ضًَس .ثِ چٌيي کالسّبیی کالسّبی Util یب Helperهیگَیٌس .کالسّبیی کِ فبقس حبلت ثَزُ(پس اس لحبظ تئَریک تؼزیف آًْب چٌساى کبر زرستی ًيست) ٍ تٌْبی ضبهل رفتبرّبی استبتيک ّستٌس ٍ ثب ٍجَز ظؼف تئَریک ثزای تؼزیف آىّبی ػوال هیتَاى رفتبرّبی ثسٍى حبلتی کِ جبی هطرصی ثزای جبیٌوبیی ًسارًس را زر ذَز جبی زٌّس .زر ضٌبسبیی ٍ طزاحی چٌيي کالسّبیی ّويطِ احتيبط کٌيس .حتی پزٍصُّبی ثشرگ ًيش ثيص اس یک یب چٌس کالس اس ایي ًَع ًجبیس زاضتِ ثبضٌس. ثبس آرایی اًجبم ضسُ اهکبى ثبسثکبرگيزی زر کس را ثسيبر ثبال هیثزز .رٍشّبی ثبسآرایی استفبزُ ضسُ ػجبرتٌس اس : Extract method, extract class سَال -8گشیٌِ صحيح ز) است. ّوبًطَر کِ هيساًيس CountDownLatchیب ظبهي پبیيي ضوبر تب سهبًی کِ ثِ تؼساز تؼزیف ضسُ هتس )( countdownرٍ آى صسا سزُ ًطسُ ثبضس ،زر aWaitهٌتظز هیهبًس .زر گشیٌِ زال ثب چبح ضسى salamهطرص است کِ ظبهي پبیيي ضوبر هٌتظز فزاذَاًی سِ زفؼِ countdownاست ٍلی ثؼس اس یک فزاذَاًی اًتظبر زر aWaitظبّزى ثِ اتوبم رسيسُ است ٍ khodafizچبح ضسُ است. ثِ گشیٌِ الف زقت کٌيس. ثؼس اس 9ثبر فزاذَاًی countdownاجزا ثِ ثشی رسيسُ است ٍ salamچبح ضسُ است ٍلی قجل اس رسيسى اجزا ثِ aWaitکِ قبػستي اًتظبری زر پی ًساضت(چَى پبیيي ضوبر ثِ تؼساز کبفی countdownضسُ است) اجزا اس ثشی گزفتِ ضسُ ٍ ثِ ضٌگَل زازُ ضسُ است. زر ّويي گشیٌِ ًيش زقت ًوبیيس کِ ثزُّبی ثز ّز تزتيت زلرَاّی هستقل اس تزتيت استبرت ًدّبی هزثَط ثِ آىّبی هی- تَاًٌس اس پززاسًسُ اجزا ثگيزًس ٍ زر ذزٍجی چبح ضًَس. زر گشیٌِ ة) سِ ثزُ پطت سز ّن اجزا گزفتِاًس ٍ ثؼس ثشی اجزا گزفتِ است کِ ثزای ظبهي پبیيي ضوبرش هٌتظز ًوبًسُ ٍ ثؼس اس salamسزیؼي khodafizچبح ضسُ است .ثؼس اس ثشی زٍ ثزُ زیگز اجزا گزفتِاًس. گشیٌِ ج) حبلت سبزُ ثسٍى زر ًظز گزفتي ٍظؼيت رقبثت زر ّوزًٍسی است. سَال 9-کس سیز ثزًبهِ هَرز ًظز را ًطبى هیزّس: زقت ًوبیيس کِ ًَضتي setterثزای Enumerationهؼٌی ًساضتِ ٍ هَجت رذساز ذطب است. زازگبى هؼبزل هصَة فزٌّگستبى سثبى فبرسی ثزای Databaseاست. ضجيِ ایي کس زر کس ًوًَِ ثبسی Seafightارایِ ضسُ ثَز values() .هتس ظوٌی است کِ زر توبهی ّEnumerationب قبثل زستزسی است. ضبز ٍ سالهت ٍ هَفق ٍ سزثلٌس ثبضيس! ػيٌؼلی
© Copyright 2025 Paperzz