জাভা কেন কোনও সংশোধক পরিবর্তে @ ওভাররাইড টীকা ব্যবহার করে?


19

@Overrideনতুন overrideমোডিফায়ার তৈরির পরিবর্তে জাভাতে টীকাটি ব্যবহার করার প্রেরণাগুলি কী ছিল ?

@Override
public String toString() {
   return "";
}

বনাম

public override String toString() {
   return "";
}

2
এটা ছিল একটি অনুমানের।
তুলাইনস কর্ডোভা

উত্তর:


21

@ ওভাররাইড মূলত ভাষায় ছিল না। যখন এটি যুক্ত করার প্রয়োজন অনুভূত হয়েছিল, তখন ভাষায় একটি নতুন কীওয়ার্ড যুক্ত করার চেয়ে জেনেরিক প্রক্রিয়া (টীকা) ব্যবহার করা সহজ ছিল easier একটি নতুন কীওয়ার্ড যুক্ত করা সর্বদা একটি বেমানান পরিবর্তন কারণ এটি প্রোগ্রামগুলিকে ভেঙে দিতে পারে যা শব্দের সনাক্তকারী হিসাবে ব্যবহার করে।

যে ভাষাগুলি প্রথম দিন থেকেই ওভাররাইড চিহ্নিতকারী যুক্ত করে, এটি প্রায়শই একটি কীওয়ার্ড হয় (উদাহরণগুলি কোটলিন এবং স্কালা), জাভাতে এটি পুরানো জাভা সংস্করণের সাথে পিছনের দিকে সামঞ্জস্যপূর্ণ থাকার বিষয় ছিল যার কোনও ওভাররাইড চিহ্নিতকারী নেই।


এটি অসঙ্গত বলে মনে হয় যে ওভাররাইড হ'ল একটি টীকা, যখন নতুন কীওয়ার্ড চালু হয়েছে এমন কিছু পরিবর্তন হয়েছে। উদাহরণস্বরূপ ইন্টারফেস পদ্ধতির জন্য "ডিফল্ট" সংশোধক।
jwa

6
@jwa আসলেই নয়: defaultইতিমধ্যে একটি সংরক্ষিত কীওয়ার্ড ছিল (স্যুইচ স্টেটমেন্টে ব্যবহৃত) - তারা এটির জন্য একটি নতুন ব্যবহার যুক্ত করেছে। এছাড়াও কয়েকটি কীওয়ার্ড রয়েছে যা এখনই কিছু করে না তবে ভবিষ্যতের ব্যবহারের জন্য সংরক্ষিত রয়েছে ( কনস্ট, গোটো
মাইশা কোসমুলস্কি

3
"উদাহরণগুলি হ'ল কোটলিন এবং জাভা" এখানে টাইপের মতো দেখাচ্ছে, আপনি কি জাভাের পরিবর্তে উদাহরণস্বরূপ স্কালা লিখতে চাইছেন?
gnat

6
যদিও এটি সত্য যে বিশ্বব্যাপী কীওয়ার্ডগুলি বিভক্তকরণগুলিকে যুক্ত করে, কোডটি না ভঙ্গ করে এটি প্রাসঙ্গিক কীওয়ার্ড হিসাবে যুক্ত করা যেতে পারে। কেউ ধরে নেন যে এটি করা হয়নি কারণ এটি পার্সিংকে জটিল করে তুলবে এবং টীকা দেওয়ার ব্যবস্থাটি যথেষ্ট ভাল
জে কে।

1
@ মিচা কোসমুলস্কি: আমার মনে আছে যে enumকীওয়ার্ডটি যুক্ত হয়েছিল তা পুরানো কোডটি ভেঙে দেবে। : আরো কীওয়ার্ড এখানে ভঙ্গ stackoverflow.com/questions/16506411
Allon Guralnek

13

আচরণকে ওভাররাইড করার জন্য আপনার @ ওভাররাইড টিকা প্রয়োজন নেই ; এটি একটি টীকাগুলি কারণ এটি কেবল পদ্ধতিটি নিজেই পরিবর্তন করে না, সংকলকটির জন্য পদ্ধতির অভিপ্রায় কিছু প্রসঙ্গ যুক্ত করে।

টীকা ছাড়া, আপনি পারে মনস্থ করা ওভাররাইড কার্যকারিতা কিন্তু ঘটনাক্রমে (ক কিছুটা ভিন্ন স্বাক্ষর ব্যবহারের মাধ্যমে) তা করার ব্যর্থ হয়। টীকা যুক্ত করা সংকলককে ত্রুটি উত্পন্ন করতে বলে যদি এই পদ্ধতিটি আসলে আচরণকে ওভাররাইড করে না।

যেমনটি, এটি একটি টিকা হিসাবে নিখুঁত ধারণা তৈরি করে।


+1 এটিকে বোঝায় যে টীকাগুলির মাধ্যমে সতর্কতাগুলি অক্ষম করার অনুরূপ টীকাগুলির মাধ্যমে warnচ্ছিক সতর্কতা / ত্রুটিগুলি সক্ষম করাও সম্ভব হবে।
হাল্ক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.