midterm_exam.pdf

‫فرٍرديي ‪5931‬‬
‫آزهَى هياىترم درس ترًاهًَِيسی پيشرفتِ‬
‫هذت اهتحاى‪ 51 :‬دليمِ‬
‫ًام ٍ ًام خاًَادگی‪:‬‬
‫هْذی عيٌعلی‬
‫شوارُ داًشجَيی‪:‬‬
‫‪ .5‬هَارد زير از هصذاقّای طراحی تذ را تَضيح دّيذ‪ً 51( :‬ورُ)‬
‫الف) گراًرٍی زياد طراحی‬
‫ب) ترًاهِ ًَيسی ترای آيٌذُ‬
‫ج) دٍختي کت ٍ شلَار ترای دکوِ‬
‫‪ .2‬استفادُ از کليذٍاژُ ‪ final‬در ّر کذام از هَلعيتّای زير تِ چِ هعٌايی است‪ً 51(:‬ورُ)‬
‫الف) تعريف هتغير‬
‫ب) تعريف هتذ‬
‫ج) تعريف کالس‬
‫‪ .9‬کذام خطَط از کالس زير هَجة ايجاد خطا خَاّذ شذ‪ .‬تا رکر دليل‪ ،‬تَضيح دّيذ‪ً 51(.‬ورُ)‬
‫‪ .4‬کالسّای زير را در ًظر تگيريذ‪ً 51 ( :‬ورُ)‬
‫حال خرٍجی ترًاهِ زير چِ خَاّذ تَد؟‬
‫‪ .1‬کالسّای ثاتت يا ‪ Immutable‬کالسّايی ّستٌذ کِ حالتشاى(دادُّای درٍى آىّا) تعذ از ساختِشذى‪ ،‬ديگر تغيير‬
‫ًویکٌذ‪.‬تِ عثارت ديگر تضويي شذُ است کِ هتغيرّای کالس‪ ،‬چِ آىّايی کِ در خَد کالس تعريف شذًُذ ٍ چِ‬
‫آىّايی کِ در سلسلِ هراتة پذرفرزًذی تِ ارث رسيذُاًذ‪ ،‬تٌْا يکثار همذاردّی هیشًَذ‪ .‬کار کردى تا چٌيي کالس‪-‬‬
‫ّايی در تسياری هَارد هاًٌذ ّورًٍذی‪ Clone ،‬کردى اشيا ٍ يا استفادُ از تَاتع ‪ Hash‬تسيار راحتتر خَاّذ تَد‪.‬‬
‫الف) تِ صَرت کاهل تَضيح دّيذ کِ چطَر هیتَاى يک کالس را تِ صَرت ‪ Immutable‬تعريف کرد‪.‬‬
‫ب) درتارُ ٍجَد يا عذم سازًذُ پيشفرض(‪ )Default Constructor‬در چٌيي کالسّايی تَضيح دّيذ‪.‬‬
‫ج) ترای کالس ‪ Person‬کِ شاهل دادُّای زير است يک پيادُسازی ‪ Immutable‬ارايِ دّيذ‪.‬‬
‫;‪String name‬‬
‫;‪Date birthDate‬‬
‫پيادُسازی کاهل کالس تا رعايت ‪ Encapsulation‬تِ ترتيثی کِ تتَاى از آى تِ درستی استفادُ کرد‪ ،‬فراهَش ًشَد‪.‬‬
‫(‪ً 51‬ورُ )‬
‫‪ .6‬يک ترًاهًَِيس هتذی تا اهضای زير ترای ‪ Override‬کردى هتذ ‪ equals‬در کالس ‪ Person‬اضافِ کردُ است‪.‬‬
‫تا رکر دليل تَضيح دّيذ پيادُسازی فَق چِ اشکالی دارد ٍ ًسخِ اصالح شذُ را تٌَيسيذ‪ً 51(.‬ورُ)‬
‫‪ .5‬هيذاًين کِ ‪ Test-Case‬زير تا هَفميت اجرا هیشَد‪ً .‬وَدار ‪ UML Class Diagram‬را ترای ايي کالسّا رسن‬
‫ًوَدُ ٍ سپس کذ هرتَط تِ توام کالسّا را تٌَيسيذ‪ً 21(.‬ورُ)‬
‫يادآٍری‪ :‬تاتع ‪ assertTrue‬چک هيکٌذ کِ پاراهتر آى همذار ‪ true‬ترگرداًذ‪ ،‬در غير ايي صَرت اعالم خطا هيکٌذ‪ .‬تاتع‬
‫‪ asseertFalse‬چک هيکٌذ کِ پاراهتر آى همذار ‪ false‬تاشذ ٍ تاتع ‪ assertEquals‬هرالة است کِ دٍ پاراهتر آى تا ّن‬
‫تراتر تاشٌذ‪.‬‬
‫پاالنگریای به غایت خود‬
‫بــهتر ز کــاله دوزی بــــد‬
‫حکیم نظامی گنجوی‬
‫هَفك تاشيذ‬
‫عيٌعلی‬