আমি অবাক হয়েছি যে এখানে এমন conকমত্য আছে বলে মনে হচ্ছে যে ভার্চুয়াল-বাই-ডিফল্ট জিনিসগুলি করার সঠিক উপায়। আমি অন্য দিকে নেমে যাচ্ছি - আমি মনে করি বাস্তববাদী - বেড়ার পাশে।
যুক্তিটির যুক্তি "যদি আমরা আপনাকে শক্তি দিয়ে থাকি তবে আপনি নিজের ক্ষতি করতে পারেন" এর মতো বেশিরভাগ সমর্থনযোগ্যতা আমার কাছে পড়ে। প্রোগ্রামারদের কাছ থেকে ?!
আমার কাছে মনে হচ্ছে কোডারের মতো যারা উত্তরাধিকারের জন্য তাদের লাইব্রেরিটি ডিজাইন করার জন্য যথেষ্ট পরিমাণে (বা পর্যাপ্ত সময় থাকতে পারে না) জানতেন এবং / অথবা এক্সটেনসিবিলিটি হ'ল এমন কোডার হ'ল আমাকে যে লাইব্রেরিটি তৈরি করতে পেরেছিলেন ঠিক সেই জায়গাতেই আমি ঠিক করতে বা টুইট করতে পারি - হুবহু গ্রন্থাগার যেখানে ওভাররাইড করার ক্ষমতাটি সবচেয়ে দরকারী।
আমাকে কুরুচিপূর্ণ, বেপরোয়া কাজের সময় কোড লিখতে হয়েছে (বা ব্যবহারটি ত্যাগ করতে এবং আমার নিজস্ব বিকল্প সমাধানটি রোল করতে হয়েছে) কারণ আমি যতটা দংশন করেছি তার চেয়ে বহুগুণে আমি ওভাররাইড করতে পারি না (যতবার আমি কাটিয়েছি ( উদাহরণস্বরূপ জাভাতে) ওভাররাইড করে যেখানে ডিজাইনার সম্ভবত আমার বিবেচনা করবেন না।
অ-ভার্চুয়াল-বাই-ডিফল্ট আমার জীবনকে আরও শক্ত করে তোলে।
আপডেট: এটি [বেশিরভাগ সঠিকভাবে] উল্লেখ করা হয়েছে যে আমি আসলে প্রশ্নের উত্তর দিইনি। সুতরাং - এবং বরং দেরি হওয়ার জন্য ক্ষমা চেয়ে ...
আমি চাই যে "সি # প্রয়োগের পদ্ধতিগুলি ডিফল্টরূপে অ-ভার্চুয়াল হিসাবে পিতির মতো কিছু লিখতে সক্ষম হতে চেয়েছিলাম কারণ একটি খারাপ সিদ্ধান্ত নেওয়া হয়েছিল যা প্রোগ্রামারদের চেয়ে প্রোগ্রামগুলিকে বেশি গুরুত্ব দেয়"। (আমি মনে করি যে এই প্রশ্নের অন্যান্য উত্তরগুলির উপর ভিত্তি করে কিছুটা ন্যায়সঙ্গত হতে পারে - যেমন পারফরম্যান্স (অকাল অপ্টিমাইজেশান, কারও?), বা শ্রেণীর আচরণের গ্যারান্টি।)
যাইহোক, আমি বুঝতে পারি যে আমি স্রেফ আমার মতামত বলছি এবং স্ট্যাক ওভারফ্লো ইচ্ছার যে চূড়ান্ত উত্তর নয়। অবশ্যই, আমি ভেবেছিলাম, উচ্চ স্তরের সুনির্দিষ্ট (তবে অসহায়) উত্তরটি হ'ল:
এগুলি ডিফল্টরূপে অ-ভার্চুয়াল কারণ ভাষা-ডিজাইনারদের করার সিদ্ধান্ত নিয়েছিল এবং এটিই তারা বেছে নিয়েছিল।
এখন আমি অনুমান করি যে তারা ঠিক সেই কারণেই সিদ্ধান্ত নিয়েছিল যে আমরা কখনই করব না .... ওহ, অপেক্ষা করুন! কথোপকথনের প্রতিলিপি!
সুতরাং দেখে মনে হবে যে এপিআইআইগুলিকে ওভাররাইড করার ঝুঁকি এবং স্পষ্টতই উত্তরাধিকারের জন্য নকশা করার প্রয়োজনীয়তা সম্পর্কে উত্তর এবং মন্তব্যগুলি সঠিক পথে রয়েছে তবে সবগুলিই একটি গুরুত্বপূর্ণ অস্থায়ী দিক অনুপস্থিত: অ্যান্ডারসের প্রধান উদ্বেগ ছিল কোনও শ্রেণীর বা এপিআইয়ের অন্তর্নিহিত বজায় রাখা সম্পর্কে সংস্করণ জুড়ে চুক্তি । এবং আমি মনে করি তিনি প্ল্যাটফর্মের উপরে ব্যবহারকারী-কোড পরিবর্তনের বিষয়ে চিন্তার পরিবর্তে। নেট / সি # প্ল্যাটফর্মটিকে কোডের অধীনে পরিবর্তন করার অনুমতি দেওয়ার বিষয়ে আরও বেশি উদ্বিগ্ন। (এবং তার "বাস্তববাদী" দৃষ্টিভঙ্গি আমার একেবারে বিপরীত কারণ তিনি অন্য দিক থেকে দেখছেন।)
(তবে তারা কি কেবল ভার্চুয়াল-বাই-ডিফল্ট বাছাই করতে পারে নি এবং তারপর কোডবেসের মাধ্যমে "চূড়ান্ত" পেপার্ড করতে পেরেছিল? সম্ভবত এটি বেশ একই রকম নয় .. এবং অ্যান্ডার্স আমার চেয়ে স্পষ্টতই চৌকস তাই আমি এটিকে মিথ্যা কথা বলতে যাচ্ছি।)
thisরেফারেন্সটি শূন্য থাকলে এমন পদ্ধতি ব্যবহার করা সম্ভব নয় যা আলাদা আচরণ করে । আরও তথ্যের জন্য এখানে দেখুন ।