প্রশ্ন ট্যাগ «abstract-class»

একটি বিমূর্ত শ্রেণি এমন একটি বর্গ যা তাত্ক্ষণিকভাবে চালু করা যায় না। এগুলি সাধারণত প্রসারিত / উপশ্রেণীতে বোঝানো হয় এবং সাধারণত "বিমূর্ত পদ্ধতি" থাকে যা অবশ্যই সাবক্ল্যাস দ্বারা প্রয়োগ করা উচিত।

7
সি # তে এক্সটেনশন পদ্ধতিগুলির সাথে ইন্টারফেসের পরিবর্তে অ্যাবস্ট্রাক্ট ক্লাসগুলি কখন ব্যবহার করবেন?
"অ্যাবস্ট্রাক্ট ক্লাস" এবং "ইন্টারফেস" একই ধরণের ধারণা, ইন্টারফেসের সাথে দুটিয়ের আরও বিমূর্ততা রয়েছে। একটি পার্থক্যমূলক উপাদানটি হ'ল বিমূর্ত শ্রেণিগুলি যখন প্রয়োজন হয় তখন উত্পন্ন শ্রেণীর জন্য পদ্ধতি প্রয়োগকরণ সরবরাহ করে। তবে সি # তে, এই বিভাজনকারী উপাদানটি সাম্প্রতিক প্রসারিত পদ্ধতিগুলির প্রবর্তন দ্বারা হ্রাস পেয়েছে, যা ইন্টারফেস পদ্ধতির জন্য প্রয়োগগুলি সক্ষম …

9
আমি কেন একটি ক্লাসটিকে বিমূর্ত শ্রেণি হিসাবে ঘোষণা করব?
আমি বাক্য গঠন জানি, বিমূর্ত শ্রেণীর জন্য প্রয়োগ বিধি এবং আমি একটি বিমূর্ত শ্রেণীর ব্যবহার জানতে চাই বিমূর্ত শ্রেণিটি সরাসরি ইনস্ট্যান্ট করা যায় না তবে অন্যান্য শ্রেণি দ্বারা প্রসারিত করা যায় এমন করে লাভ কী? এটি কোনও ইন্টারফেস থেকে কীভাবে আলাদা? আমি জানি যে একটি শ্রেণি একাধিক ইন্টারফেস বাস্তবায়ন করতে …

4
সি ++ এ কেন এবং কীভাবে ভার্চুয়াল ফাংশনগুলি ধীর হয়?
যে কেউ ভার্চুয়াল টেবিলটি ঠিক কীভাবে কাজ করে এবং ভার্চুয়াল ফাংশনগুলি যখন ডাকা হয় তখন কী পয়েন্টার যুক্ত হয় তা বিশদে ব্যাখ্যা করতে পারে। যদি সেগুলি আসলে ধীর হয়, আপনি কি সেই সময়টি দেখাতে পারেন যে ভার্চুয়াল ফাংশনটি কার্যকর করতে সময় লাগে সাধারণ শ্রেণির পদ্ধতির চেয়ে বেশি? কিছু কোড না …

2
খাঁটি বিমূর্ত শ্রেণি এবং ইন্টারফেসের প্রয়োগ
যদিও এটি সি ++ স্ট্যান্ডার্ডে বাধ্যতামূলক নয়, উদাহরণস্বরূপ, জিসিসি উদাহরণস্বরূপ, খাঁটি বিমূর্ত বিষয়গুলি সহ পিতামাতার ক্লাসগুলি প্রয়োগ করে, প্রশ্নে শ্রেণীর প্রতিটি পদক্ষেপে সেই বিমূর্ত শ্রেণির জন্য ভি-টেবিলের পয়েন্টারকে অন্তর্ভুক্ত করে । স্বাভাবিকভাবেই এটি প্রতিটি প্যারেন্ট ক্লাসের জন্য একটি পয়েন্টার দ্বারা এই শ্রেণীর প্রতিটি উদাহরণের আকারকে পুষিয়ে তোলে। তবে আমি লক্ষ …

4
সংজ্ঞা হিসাবে সি # তে বিমূর্ত শ্রেণি ব্যবহার করুন
একজন সি ++ বিকাশকারী হিসাবে আমি সি ++ শিরোলেখের ফাইলগুলিতে বেশ অভ্যস্ত, এবং কোডের অভ্যন্তরে একধরনের জোর "ডকুমেন্টেশন" থাকা উপকারী। আমার সাধারণত খারাপ সময় হয় যখন আমাকে কিছু সি # কোড পড়তে হয় কারণ: আমি যে শ্রেণীর সাথে কাজ করছি তার মানসিক মানচিত্র আমার কাছে নেই। আসুন ধরে নেওয়া যাক …

3
জনসাধারণের সদস্যদের কখনই ভার্চুয়াল / বিমূর্ত না করে - সত্যই?
২০০০ এর দশকে আমার এক সহকর্মী আমাকে বলেছিলেন যে পাবলিক পদ্ধতিগুলি ভার্চুয়াল বা বিমূর্ত করার পক্ষে এটি একটি বিরোধী-নিদর্শন। উদাহরণস্বরূপ, তিনি এমন একটি শ্রেণি বিবেচনা করেছেন যা এটির নকশা ভাল নয়: public abstract class PublicAbstractOrVirtual { public abstract void Method1(string argument); public virtual void Method2(string argument) { if (argument == …

5
এনামগুলি কি ভঙ্গুর ইন্টারফেস তৈরি করে?
নীচের উদাহরণ বিবেচনা করুন। কালারচয়েস এনামে কোনও পরিবর্তন সমস্ত আইওয়াইন্ডো কালার সাবক্লাসকে প্রভাবিত করে। এনামগুলি কি ভঙ্গুর ইন্টারফেস সৃষ্টি করতে পারে? আরও বহুগুণিত নমনীয়তার জন্য এনামের চেয়ে আরও ভাল কিছু থাকতে পারে? enum class ColorChoice { Blue = 0, Red = 1 }; class IWindowColor { public: ColorChoice getColor() const=0; …

2
বিমূর্ত ব্যতিক্রম সুপার টাইপ
যদি ফেলে দেওয়া System.Exceptionএত খারাপ বিবেচিত হয় তবে প্রথমে কেন Exceptionতৈরি করা হয়নি abstract? এইভাবে, কল করা সম্ভব হবে না: throw new Exception("Error occurred."); এটি ঘটেছে ত্রুটি সম্পর্কে আরও বিশদ সরবরাহ করতে প্রাপ্ত ব্যতিক্রমগুলি ব্যবহার করে প্রয়োগ করবে। উদাহরণস্বরূপ, যখন আমি কোনও গ্রন্থাগারের জন্য একটি কাস্টম ব্যতিক্রম শ্রেণিবিন্যাস সরবরাহ করতে …

4
কখন একটি সাধারণ ক্ষেত্রকে বেস শ্রেণিতে স্থানান্তর করতে?
আমার বর্তমানে দুটি উদ্ভূত ক্লাস রয়েছে Aএবং Bএটি উভয়েরই একটি ক্ষেত্র রয়েছে এবং এটি নির্ধারণের চেষ্টা করছি যে এটি বেস বর্গের মধ্যে যেতে হবে কিনা। এটি কখনই বেস বর্গ থেকে রেফারেন্স করা হয় না, এবং বলুন যে যদি রাস্তার এক পর্যায়ে অন্য শ্রেণীর উত্পন্ন হয়, যদি এর কোনটি Cনা থাকে …

6
বিমূর্ত শ্রেণি, ইন্টারফেস এবং কখন সেগুলি ব্যবহার করতে হয় তার মধ্যে পার্থক্যগুলি
সম্প্রতি আমি ওওপির চারপাশে আমার মাথা গুটিয়ে রাখতে শুরু করেছি এবং আমি এখন এমন জায়গায় পৌঁছেছি যেখানে আমি বিমূর্ত শ্রেণি এবং ইন্টারফেসের মধ্যে পার্থক্য সম্পর্কে আরও পড়ি যত বেশি বিভ্রান্ত হয়ে পড়ি। এখনও অবধি তড়িঘড়ি করা যায় না। ইন্টারফেসগুলি কম-বেশি কাঠামোগত ব্লুপ্রিন্ট যা আংশিকভাবে কোড প্রয়োগ করতে সক্ষম হয়ে কঙ্কাল …

6
আমি কি ইন্টারফেস পদ্ধতিগুলি বিমূর্ত পদ্ধতি হিসাবে বিবেচনা করতে পারি?
আমি সে সম্পর্কে ভাবছিলাম, এবং আমার কিছু সন্দেহ ছিল। যখন আমি একটি ইন্টারফেস ঘোষণা করি, উদাহরণস্বরূপ: public interface MyInterface { public void method1(); public void method2(); } এই ইন্টারফেস পদ্ধতি বিমূর্ত হিসাবে বিবেচনা করা যেতে পারে? আমার অর্থ হ'ল একটি বিমূর্ত পদ্ধতির ধারণাটি হ'ল: একটি বিমূর্ত পদ্ধতি হল এমন একটি …

3
আমার সরাসরি ইন্টারফেস প্রয়োগ করা উচিত বা সুপারক্লাসটি করা উচিত?
এর মধ্যে কি পার্থক্য আছে? public class A extends AbstractB implements C {...} বনাম... public class A extends AbstractB {...} abstract class AbstractB implements C {...} আমি বুঝতে পারি যে উভয় ক্ষেত্রেই, ক্লাস এ ইন্টারফেসের সাথে সঙ্গতিপূর্ণ হবে। দ্বিতীয় ক্ষেত্রে, AbstractBইন্টারফেসের পদ্ধতিগুলির জন্য বাস্তবায়ন সরবরাহ করতে পারে C। এটাই কি …

5
স্থির পদ্ধতিগুলি কেন ওভাররাইডযোগ্য হতে সক্ষম হবে না?
এই প্রশ্নের উত্তরে , সাধারণ wasকমত্যটি ছিল যে স্থির পদ্ধতিগুলি ওভাররাইড করা বোঝায় না (এবং এভাবে সি # তে স্থির ফাংশনগুলি ভার্চুয়াল বা বিমূর্ত হতে পারে না)। যদিও এটি কেবল সি # তে ঘটনা নয়; জাভাও এটি নিষিদ্ধ করে এবং সি ++ এটি পছন্দ করে না। যাইহোক, আমি স্থির ক্রিয়াকলাপগুলির …

4
সি ++ এবং জাভাতে বিমূর্ত শ্রেণি / ইন্টারফেসের জন্য আলাদা ব্যবহারের যুক্তি রয়েছে কি?
ভেষজ সুতারের মতে, সি ++ এর বিমূর্ত ক্লাসগুলি যতটা সম্ভব ডিকুয়াল করার জন্য একের বিমূর্ত ইন্টারফেস (সমস্ত খাঁটি ভার্চুয়াল ফাংশন) পছন্দ করা উচিত। যদিও আমি ব্যক্তিগতভাবে এই নিয়মটিকে খুব দরকারী মনে করি, আমি সম্প্রতি অনেক জাভা প্রোগ্রামার সহ একটি দলে যোগ দিয়েছি এবং জাভা কোডে এই নির্দেশিকা বিদ্যমান বলে মনে …

7
সিঙ্গলেটন, বিমূর্ত শ্রেণি এবং ইন্টারফেসের ভূমিকা কী?
আমি সি ++ এ ওওপি অধ্যয়ন করছি এবং যদিও এই 3 টি ধারণার সংজ্ঞা সম্পর্কে আমি সচেতন, এটি কখন বা কীভাবে ব্যবহার করতে হয় তা আমি সত্যিই বুঝতে পারি না। উদাহরণস্বরূপ এই শ্রেণিটি ব্যবহার করা যাক: class Person{ private: string name; int age; public: Person(string p1, int p2){this->name=p1; this->age=p2;} ~Person(){} …

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.