Androidda @Onlaynda izoh yo'q

Men Java va Android dasturlash uchun yangi. Muammo shundaki, bir nechta kitoblar, forumlar va veb-saytlarni kezib chiqqanimdan so'ng @override annotatsiyasining nima ekanligini aniq tasavvurga ega emasman. Men tushundimki, bu usulni boshdan o'tkazib yuborish kerak. lekin nima uchun u androidga kerak. Jadval uchun manba kodini kamdan-kam deb bilaman, ammo Android-da hamma vaqt.

10

8 javoblar

Buni kamdan eski Java manba kodi orqali ko'rishingiz mumkin, chunki u juda yaqin innovatsiya - Android kodi esa ancha aniqroq.

Haqiqatan ham, xavfsizlik tarmog'i - bu derazaga biror narsani bekor qilish uchun ishlayotganingizni bildiradi - shuning uchun agar usuli usul hech narsani bekor qilmasa muvaffaqiyatsiz tugadi, masalan. nomdagi matn terish tizimi tufayli. C# da usul declarationning bir qismi bo'lgan kalit so'z bo'lib, ustunlikni bekor qilish kabi. Bu sizning qilayotgan ishlaringiz haqida ochiq bo'lishga yordam beradi, bu xatoliklarning oldini olishga yordam beradi va kodingizni kelajakdagi o'quvchilarga yanada aniqroq qiladi.

21
qo'shib qo'ydi
Rahmat. Bu erda har bir javobdan bir narsa olib qoldim. Men va yangitdan yangi, shuning uchun men har bir javob uchun minnatdor bo'lmasam, xafa bo'lmang. Men bevosita java ma'lumotlariga borib, mavhum sinflarni va polimorfizmni topdim. OnCreate() ga qo'ng'iroq qilayotganda, men tushunchani yinelemek uchun faqat OS tomonidan ishlatiladigan asosiy faoliyatni yaratish uchun asosiy komponentlar mavjud. @overide o'yinga kirganda, asosan onCreate() dasturida sizning maqsadingiz nima qilayotganini bajarish uchun suratga olish. O'ylaymanki, men buni qiyinlashtirardim, lekin hech bo'lmaganda buni qildim!
qo'shib qo'ydi muallif JBlaza, manba

Agar siz @Override annotatsiyasining asosiy qismini tushunsangiz, u faqat ikki maqsadni to'ldiradigan metadata ma'lumoti:

  • Ushbu interfeys yoki kengaytirilgan sinfda tavsiflanganligi sababli uni bekor qilish usulini tushuntiring.

  • Siz qaysi usulni mahalliy tarzda e'lon qilishni aniq va aniq qilib belgilashga yordam beradi, chunki androidda siz ehtimol Fragment, Activity, Services, BroadcastReceiver va boshqalardan uzaytirasiz, bu sizning kodingizni tozalovchi yaxshi amaldir.

Java uslubida ko'rmaydigan masalaga kelsak, u nafaqat yangi xususiyat (yangi emas, 2005 yildan boshlab), balki java-da eng kamida Swing-da emas, balki usulni bekor qilmagani uchun emas yoki SWT, odatda ularni TableModel yoki kengaytirilgan HttpServlet sinflarida Servlet

7
qo'shib qo'ydi

because you override a lot of methods , example ;when you create your Activity ( which extends Activity ) you need to override the method onCreate( Bundle savedInstanceState) to initialize your Activity , and so on , every time you override a method from a mother Class , eclipse add the annotation @override

2
qo'shib qo'ydi

@Override means that you want to re-define function from superclass in child class. Read more about abstract methods, classes, polymorphism.

2
qo'shib qo'ydi

Android-dasturlash haqida hech narsa bilmayman, lekin @ Override-annotatsiya usuli usul supaclass uslubini bekor qilganini ko'rsatish uchun ishlatiladi (yoki Java 1.6 da interfeys usulini joriy qiladi). Annotatsiyaning faqat hujjatli ma'nosidan tashqari, hech bo'lmaganda Eclipse sizni ogohlantirganda (agar ba'zi bir asab solishi mumkin bo'lgan xatolarni oldini olish uchun) metod hech qanday superklass usulini aslida bekor qilmasa (yoki sizning sozlamalaringizga bog'liq ravishda xatolikni belgilaydi) -hunting). Ehtimol, asl qiymati sifatida Android-kompilyatori barcha bekor qilinadigan usullarni @Override bilan izohlashni talab qiladi.

1
qo'shib qo'ydi

@override means you are borrowing methods from available class and are not defined by the programmer.

1
qo'shib qo'ydi
Qabul qilingan javobga qarang
qo'shib qo'ydi muallif raam86, manba

Va java va android uchun kerak emas. Siz uni Android dasturlarida tez-tez ko'rishingiz mumkin, chunki siz yangi faoliyat, usul, va hokazolarni yaratishda Tutulma uni avtomatik ravishda qo'shadi. Agar siz @Override izohini o'chirsangiz, hech narsa qo'shilmaydi.

0
qo'shib qo'ydi

@overide c ++ da virtual usuliga o'xshaydi, androidda Oncreate usuli wxWidget virtual ondagi() Oninit() ga o'xshaydi, bu usul GUIni yaratish uchun android (Oncreate) tomonidan ishlatiladi, shuning uchun GUI kimni dasturlashdan farq qiladi Kodni Oncreate-da o'zgartiring, shuning uchun uni @overide qilishimiz kerak. Biz kutubxonada foydalanadigan va sozlashni istagan usuli mavjud. Oninit() kabi Oninit() usuli ham biz sozlashni istagan usuli.

0
qo'shib qo'ydi