কিছু কী এবং কীভাবে কিছু আচরণ করে তার মধ্যে পার্থক্য ।
প্রচুর ভাষাগুলি দুটিকে একসাথে কাটানোর চেষ্টা করে তবে তারা বেশ স্বতন্ত্র বিষয়।
যদি কী হয়, এবং কীভাবে ...
যদি সমস্ত কিছু উত্তরাধিকার সূত্রে প্রাপ্ত হয় object
তবে কিছু সুবিধা পাওয়া যায় যেমন: কোনও বস্তুর ভেরিয়েবল যে কোনও মান ধরে রাখতে পারে। তবে এটি ঘষাও, সমস্ত কিছু অবশ্যই ( যেমন) একটির মতো আচরণ করবেobject
এবং একটি ( কী ) এর মতো দেখতে হবে object
।
কিন্তু:
- যদি আপনার অবজেক্টের সাম্যের কোনও অর্থপূর্ণ সংজ্ঞা না থাকে?
- এর অর্থপূর্ণ হ্যাশ না থাকলে কী হবে?
- যদি আপনার অবজেক্টটি ক্লোন করা না যায় তবে অবজেক্টগুলি কী হতে পারে?
হয় object
প্রকারটি মূলত অকেজো হয়ে যায় - সমস্ত সম্ভাব্য দৃষ্টান্তগুলিতে কোনও জিনিস সরবরাহ না করার কারণে। অথবা এমন কিছু বস্তুর অস্তিত্ব থাকবে object
যার কয়েকটি ভাঙা / জুতোযুক্ত শিংযুক্ত / অযৌক্তিক সংজ্ঞা রয়েছে যা পাওয়া গেছে এমন কিছু গণ্যমান্য সম্পত্তির সংজ্ঞা পাওয়া গেছে যার উপর বেশ কয়েকটি গোটাচা বাদে প্রায় সর্বজনীন আচরণ প্রমাণিত হয় ।
যদি কীভাবে আবদ্ধ না হয়
পর্যায়ক্রমে আপনি কী এবং কীভাবে পৃথক রাখতে পারেন । তারপর বিভিন্ন প্রকার (এ সাধারণ কিছুই আছে এমন সমস্ত কি ) CAN একই ভাবে সব আচরণ সহযোগী থেকে দেখা যায় কিভাবে । এই অর্থে একটি এর ধারণাটি Iterator
একটি নির্দিষ্ট কী নয় , তবে কীভাবে হয় । বিশেষ করে কিভাবে একটা জিনিস সাথে আপনি ইন্টারঅ্যাক্ট না যখন আপনি এখনো জানি না কি আপনার সাথে আলাপচারিতার হয়।
জাভা (এবং অনুরূপ) ইন্টারফেস ব্যবহার করে এগুলির কাছে যাওয়ার অনুমতি দেয়। এই ক্ষেত্রে একটি ইন্টারফেস যোগাযোগের মাধ্যমগুলি বর্ণনা করে এবং স্পষ্টতই যোগাযোগ ও ক্রিয়াকলাপের অনুসরণ করে যা অনুসরণ করা হয়। কোন কি যা নিজেই ঘোষণা একটি প্রদত্ত হতে কিভাবে , রাজ্য যে এটি যোগাযোগ এবং কর্ম প্রোটোকল দ্বারা রূপরেখা সমর্থন করে। এটি কোনও সহযোগী কী কী ব্যবহার করা যেতে পারে তা নির্দিষ্ট করে কীভাবে এবং কীভাবে জড়িয়ে পড়ছেন তার উপর নির্ভর করতে দেয় allows
সি ++ (এবং অনুরূপ) এর কাছে হাঁসের টাইপিংয়ের মাধ্যমে পদ্ধতির অনুমতি দেয়। কোনও সহযোগিতা প্রকার ঘোষণা করে যে এটি কোনও আচরণ অনুসরণ করে, কোনও নির্দিষ্ট সংকলন প্রসঙ্গে, কোনও নির্দিষ্ট উপায়ে বস্তুটির সাথে ইন্টারঅ্যাক্ট করা যায় কিনা তা কোনও টেমপ্লেটের যত্ন নেই। এটি সি ++ পয়েন্টারগুলি এবং অবজেক্টগুলিকে ওভার-রাইডিং নির্দিষ্ট অপারেটরগুলিকে একই কোড দ্বারা ব্যবহার করতে দেয়। কারণ তারা চেক-লিস্টের সমতুল্য বলে বিবেচিত হয়।
- * a, a->, ++ a, এবং একটি ++ -> ইনপুট / ফরোয়ার্ড ইেটরেটর সমর্থন করে
- * a, a->, ++ a, a ++, --a, এবং a-- -> দ্বিদ্বায়ক পুনরুক্তি সমর্থন করে
অন্তর্নিহিত টাইপ এমনকি iterating একটি ধারক হতে পারে, এটা কোনো কিছু হতে পারে নেই কি । অতিরিক্তভাবে এটি কিছু সহযোগীদের আরও জেনেরিক হতে দেয়, কোনও ফাংশনটির কেবলমাত্র প্রয়োজনীয় প্রয়োজনের কল্পনা a++
করতে পারে, একটি পুনরাবৃত্তিকারী এটি পূরণ করতে পারে, সুতরাং কোনও পয়েন্টারও করতে পারে, সুতরাং কোনও সংখ্যক বাস্তবায়ন করতে পারে operator++
।
অধীনে এবং ওভার স্পেসিফিকেশন
উভয় পদ্ধতির সাথে সমস্যা নির্দিষ্টকরণের অধীনে এবং অতিরিক্ত।
একটি ইন্টারফেস ব্যবহার করার জন্য অবজেক্টটিকে এটি প্রদত্ত আচরণকে সমর্থন করে বলে ঘোষণার প্রয়োজন হয়, যার অর্থ এটিও যে নির্মাতাকে অবশ্যই শুরু থেকেই এটি প্ররোচিত করতে হবে। এর ফলে কিছু কি 'কাটা না করতে গুলি, তারা তা মেনে নেবে না হয়নি। এটি এর অর্থ হ'ল যে কোনও সাধারণ পূর্বপুরুষ কী আছে, ইন্টারফেসটি কীভাবে উপস্থাপন করে । এটি প্রাথমিক সমস্যার ক্ষেত্রে আবার চেনাশোনা করে object
। এটি সহযোগীদের তাদের প্রয়োজনীয়তাগুলি অত্যধিক নির্দিষ্ট করে তোলে, একই সাথে কিছু অজানা ঘোষণার অভাবের কারণে অকার্যকর হতে পারে বা প্রত্যাশিত আচরণটি খারাপভাবে সংজ্ঞায়িত না হওয়ায় লুকানো গোচাচা হতে পারে।
কোনও টেম্পলেট ব্যবহারের জন্য প্রয়োজন যে সহযোগী সম্পূর্ণ অজানা কী নিয়ে কাজ করে এবং এর ইন্টারঅ্যাকশনগুলির মাধ্যমে এটি কীভাবে সংজ্ঞায়িত হয় । কিছুটা হলেও এই করে তোলে, কঠিন সহযোগীদের লেখা যেমন বিশ্লেষণ করা আবশ্যক কি তার যোগাযোগ প্রিমিটিভের জন্য (ফাংশন / ক্ষেত্র / ইত্যাদি) যখন সংকলন ত্রুটি এড়ানো, অথবা অন্তত বিন্দু কিভাবে একটি প্রদত্ত কি তার প্রয়োজনীয়তা সাথে মেলে না কিভাবে । এই সহযোগী কোনো থেকে পরম সর্বনিম্ন প্রয়োজন পারবেন কি , এর বিস্তৃত পরিসর, যার ফলে কি 'ব্যবহার করা থেকে s। দুর্ভাগ্যক্রমে এর অবজেক্টগুলির অযৌক্তিক ব্যবহারের অনুমতি দেওয়ার ক্ষয়ক্ষতি রয়েছে যা প্রযুক্তিগতভাবে কোনও প্রদত্ত যোগাযোগের আদিম ব্যবস্থা সরবরাহ করেকীভাবে , তবে সমস্ত ধরণের খারাপ জিনিস ঘটতে দেয় এমন অন্তর্নিহিত প্রোটোকলটি অনুসরণ করবেন না।
Iterators
এই ক্ষেত্রে একটি Iterator
হল ইন্টারঅ্যাকশন সম্পর্কিত একটি বিবরণের জন্য এটি কীভাবে শর্টহ্যান্ড। যে বর্ণনাটির সাথে মেলে এমন কোনও কিছুই সংজ্ঞা অনুসারে হয় Iterator
। কীভাবে আমাদের সাধারণ অ্যালগরিদম লিখতে দেয় এবং অ্যালগরিদমের কাজটি করার জন্য ' কীভাবে একটি নির্দিষ্ট কী দেওয়া হয়' তার একটি সংক্ষিপ্ত তালিকা থাকতে পারে তা জেনে রাখা । সেই তালিকাটি হল ফাংশন / বৈশিষ্ট্য / ইত্যাদি, তাদের প্রয়োগগুলি অ্যালগরিদম দ্বারা সুনির্দিষ্টভাবে কী আচরণ করা হচ্ছে তা বিবেচনা করে।