জাভাতে টীকা দেওয়ার উদ্দেশ্য কী? তাদের সম্পর্কে এই অস্পষ্ট ধারণাটি আমার কাছে কোনও মন্তব্য এবং আসল কোডের মধ্যে somewhere তারা রান সময়ে প্রোগ্রামকে প্রভাবিত করে?
তাদের সাধারণ ব্যবহারগুলি কী কী?
তারা জাভা অনন্য? একটি সি ++ সমতুল্য আছে?
জাভাতে টীকা দেওয়ার উদ্দেশ্য কী? তাদের সম্পর্কে এই অস্পষ্ট ধারণাটি আমার কাছে কোনও মন্তব্য এবং আসল কোডের মধ্যে somewhere তারা রান সময়ে প্রোগ্রামকে প্রভাবিত করে?
তাদের সাধারণ ব্যবহারগুলি কী কী?
তারা জাভা অনন্য? একটি সি ++ সমতুল্য আছে?
উত্তর:
টীকাগুলি মূলত এমন কোড দ্বারা ব্যবহৃত হয় যা অন্যান্য কোড পরিদর্শন করে। এগুলি প্রায়শই চলমান সময়ে তাদের আচরণ পরিবর্তন করার জন্য বিদ্যমান ক্লাসগুলিকে সংশোধন করার জন্য ব্যবহার করা হয় (যেমন সাজসজ্জা বা মোড়ানো)। ফ্রেমওয়ার্কগুলি ব্যবহার করার জন্য আপনাকে কী পরিমাণ কোড লিখতে হবে তা হ্রাস করতে JUnit এবং হাইবারনেটের মতো ফ্রেমওয়ার্কগুলি টীকাগুলি ব্যবহার করে।
ওরাকল তাদের সাইটে জাভাতে ধারণা এবং এর অর্থের একটি ভাল ব্যাখ্যা আছে ।
এছাড়াও, তারা জাভা অনন্য, একটি সি ++ সমতুল্য?
না, তবে ভিবি এবং সি # এর বৈশিষ্ট্যগুলি একই জিনিস।
তাদের ব্যবহার বেশ বৈচিত্র্যময়। একটি সাধারণ জাভা উদাহরণের কোডটিতে @Override
কোনও প্রভাব নেই তবে এটি সংকলক দ্বারা সতর্কতা (বা ত্রুটি) তৈরি করতে ব্যবহার করা যেতে পারে যদি সজ্জিত পদ্ধতিটি আসলে অন্য কোনও পদ্ধতিকে ওভাররাইড না করে। একইভাবে, পদ্ধতিগুলি অপ্রচলিত হিসাবে চিহ্নিত করা যেতে পারে।
তারপরে প্রতিবিম্ব আছে। আপনি যখন আপনার কোডে কোনও ধরণের শ্রেণি প্রতিবিম্বিত করেন, আপনি বৈশিষ্ট্যগুলি অ্যাক্সেস করতে পারেন এবং সেখানে পাওয়া তথ্য অনুযায়ী কাজ করতে পারেন। আমি জাভাতে কোনও উদাহরণ জানি না তবে। নেট এ ক্লাসের জন্য (ডি) সিরিয়ালাইজেশন তথ্য উত্পন্ন করতে , কাঠামোগুলির মেমরি লেআউট নির্ধারণ করতে এবং লিগ্যাসি লাইব্রেরিগুলি (অন্যদের মধ্যে) ফাংশন আমদানির ঘোষণা করতে এই সংকলক দ্বারা ব্যবহৃত হয় । আইডিই ফর্ম ডিজাইনার কীভাবে কাজ করে তাও তারা নিয়ন্ত্রণ করে।
বিনোদন / সাহিত্য / সম্পাদনা: ক্লাসের বৈশিষ্ট্যগুলি ট্যাগ ইন্টারফেসের সাথে ( জাভাতে সিরিয়ালাইজেবলের মতো ) তুলনাযোগ্য । যাইহোক, .NET কোডিং নির্দেশিকাটি ট্যাগ ইন্টারফেস ব্যবহার না করার কথা বলে। এছাড়াও, তারা কেবল শ্রেণির স্তরে কাজ করে, পদ্ধতি স্তরে নয়।
অ্যান্ডার্স একটি ভাল সংক্ষিপ্তসার দেয়, এবং এখানে একটি জুনিত এনোটোটেশনের উদাহরণ
@Test(expected=IOException.class)
public void flatfileMissing() throws IOException {
readFlatFile("testfiles"+separator+"flatfile_doesnotexist.dat");
}
এখানে @Test
টীকাটি JUnit কে বলছে যে flatfileMissing
পদ্ধতিটি একটি পরীক্ষা যা কার্যকর করা উচিত এবং প্রত্যাশিত ফলাফলটি নিক্ষেপ করা হয় IOException
। সুতরাং, আপনি যখন পরীক্ষা চালাবেন, তখন এই পদ্ধতিটি কল করা হবে এবং পরীক্ষা IOException
নিক্ষেপ করা হয়েছে কিনা তার ভিত্তিতে পাস বা ব্যর্থ হবে ।
টীকাগুলির সাহায্যে আপনি করতে পারেন এমন কিছু দুর্দান্ত জিনিস দেখতে আমার জাভাবিয়ান টিকা এবং টীকাগুলি প্রসেসরটি দেখুন ।
কোড তৈরি করার জন্য, আপনার বিল্ড চলাকালীন অতিরিক্ত বৈধতা যুক্ত করার জন্য এগুলি দুর্দান্ত and
আক্ষরিক সংজ্ঞা অনুসারে একটি টীকা একটি উপাদানকে নোট যুক্ত করে। তেমনি, জাভা টীকাগুলি এমন ট্যাগ যা আমরা কোড সম্পর্কে আরও তথ্য সরবরাহের জন্য উত্স কোডের মধ্যে .োকান। জাভা টীকাগুলি এনোটেটেড প্রোগ্রামের উপাদানটির সাথে তথ্য যুক্ত করে। জাভা টীকাগুলির পাশাপাশি জাভা প্রোগ্রামগুলিতে প্রচুর পরিমাণে অনানুষ্ঠানিক ডকুমেন্টেশন রয়েছে যা সাধারণত সোর্স কোড ফাইলে মন্তব্যগুলির মধ্যে থাকে। তবে, জাভা টীকাগুলি মন্তব্যগুলির থেকে পৃথক যা তারা প্রোগ্রামের উপাদানগুলিকে টীকাগুলির ফর্মটি বর্ণনা করতে সরাসরি টীকাগুলির ধরণ ব্যবহার করে ann জাভা টীকাগুলি তথ্যটিকে একটি স্ট্যান্ডার্ড এবং কাঠামোগত উপায়ে উপস্থাপন করে যাতে এটি প্রক্রিয়াজাতকরণ সরঞ্জামগুলির মাধ্যমে কার্যকরভাবে ব্যবহার করা যায়।
বিস্তারিত পড়ার জন্য, জাভা টীকাগুলির উপর একটি দুর্দান্ত টিউটোরিয়াল রয়েছে
আপনি কখন জাভার @ ওভাররাইড টীকা ব্যবহার করবেন এবং কেন? লিঙ্কটি কখন একটি ওভাররাইড টীকাগুলি (@ ওভাররাইড) ব্যবহার করা উচিত সেই প্রশ্নটিকে বোঝায় .. এটি এনোটোটেশনের ধারণাটি আরও ভালভাবে বুঝতে সহায়তা করে। চেক আউট।
যখন EJB এর কথা আসে তখন টীকাগুলি একটি সুস্পষ্ট মাঝারি-ওয়্যার পদ্ধতির উপর অন্তর্নিহিত মধ্য-ওয়্যার পদ্ধতির পছন্দ হিসাবে পরিচিত, আপনি যখন এনপিটেশন ব্যবহার করেন তখন আপনি API এর যা প্রয়োজন ঠিক তা পছন্দসই করছেন যেমন আপনাকে কোনও ব্যাংক স্থানান্তরের জন্য লেনদেনের পদ্ধতিটি কল করতে হবে : টীকাটি ব্যবহার না করে: কোডটি হবে
transfer(Account account1, Account account2, long amount)
{
// 1: Call middleware API to perform a security check
// 2: Call middleware API to start a transaction
// 3: Call middleware API to load rows from the database
// 4: Subtract the balance from one account, add to the other
// 5: Call middleware API to store rows in the database
// 6: Call middleware API to end the transaction
}
টীকাটি ব্যবহার করার সময় আপনার কোডটিতে মাঝারি ওয়্যার পরিষেবাগুলি ব্যবহার করার জন্য কোনও জটিল এপিআই কল নেই। কোডটি পরিষ্কার এবং ব্যবসায়িক যুক্তিতে ফোকাসযুক্ত
transfer(Account account1, Account account2, long amount)
{
// 1: Subtract the balance from one account, add to the other
}