স্ট্যাটিক এবং সিলযুক্ত শ্রেণীর পার্থক্য


150
  1. স্থিত শ্রেণিতে প্রয়োগ করা হবে এমন কোন শ্রেণি আছে কি? মাধ্যম:

    static class ABC : Anyclass
  2. সিলড ক্লাস এবং স্ট্যাটিক উভয় শ্রেণিতে উত্তরাধিকারসূত্রে প্রাপ্ত এমন কোন শ্রেণি রয়েছে কি?
    মাধ্যম:

    static class ABC : AClass {}

    এবং

    sealed class ABC : AClass {}

আমি কি কিছুটা ভুল হতে পারি?


staticসত্যিই কিছু করার নেইsealed
কেন 2 কে

1
তবে @ কেন 2 কে, স্ট্যাটিক ক্লাসগুলি সি # তে ডিফল্টরূপে সিল করা হয়েছে। তারা না? স্ট্যাটিক ক্লাসগুলি উত্তরাধিকারে মোটেই অংশ নেয় না।
আরবিটি

উত্তর:


654

এটি আপনাকে সাহায্য করতে পারে:

+--------------+---+-------------------------+------------------+---------------------+
|  Class Type  |   | Can inherit from others | Can be inherited | Can be instantiated | 
|--------------|---|-------------------------+------------------+---------------------+
| normal       | : |          YES            |        YES       |         YES         |
| abstract     | : |          YES            |        YES       |         NO          |
| sealed       | : |          YES            |        NO        |         YES         |
| static       | : |          NO             |        NO        |         NO          |
+--------------+---+-------------------------+------------------+---------------------+

1
অসাধারণ. @ হোসেইননারিমানিআরডের প্রম্পট প্রতিক্রিয়ার জন্য ধন্যবাদ। তথ্যটি যাইহোক সঠিক ছিল বলে আমি নিজেই সকালে আপনাকে উত্সাহিত করেছি কিন্তু এটি কেবল একটি ফর্ম্যাটিংয়ের সমস্যা ছিল। বিটিডব্লিউ, আপনার উত্তরটি পোস্ট হওয়ার মুহুর্ত থেকেই এটি স্বীকৃত উত্তর হওয়ার দাবিদার তবে মনে হচ্ছে আমাদের এর জন্য আরও অপেক্ষা করতে হবে :)
আরবিটি

এর ভিত্তিতে অন্যান্য ধরণের সম্পর্কে ভাবতে আগ্রহী করুন। root classউত্তরাধিকারসূত্রে প্রাপ্ত এবং তাত্ক্ষণিকভাবে কিছু হতে পারে তবে উত্তরাধিকারী হতে পারে না। কেন এটি দরকারী হবে তা নিশ্চিত নন, তবে এখনও
অস্টিন ডাব্লু ব্রায়ান 20:48

static class Foo : object { }বৈধ, কিন্তু মূলত static class Foo { }
থিমফিল্ড

39

সহজ কথায়

স্ট্যাটিক ক্লাস

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

সিল ক্লাস

একটি সিল করা ক্লাসটি বেস ক্লাস হিসাবে ব্যবহার করা যায় না। সিলযুক্ত ক্লাসগুলি প্রাথমিকভাবে ডেরাইভেশন রোধে ব্যবহৃত হয়। এগুলি কখনই বেস ক্লাস হিসাবে ব্যবহার করা যায় না, কিছু রান-টাইম অপ্টিমাইজেশন সিল করা শ্রেণীর সদস্যদের কলিংকে কিছুটা দ্রুত করতে পারে।


19

আপনি একটি দেওয়া যাবে sealedঅন্য বর্গ থেকে বর্গ উত্তরাধিকারী, কিন্তু আপনি অধিকারী হতে পারে না থেকে একটি sealedশ্রেণী:

sealed class MySealedClass : BaseClass // is ok
class MyOtherClass : MySealedClass     // won't compile

একটি staticশ্রেণি অন্য শ্রেণি থেকে উত্তরাধিকারী হতে পারে না।


3

আপনি কেবল তাদের উভয়কে আলাদা করতে পারেন:

       Sealed Class       |        Static Class
--------------------------|-------------------------
it can inherit From other | it cannot inherit From other
classes but cannot be     | classes as well as cannot be
inherited                 | inherited

3

সাধারণ উত্তরটি হ'ল সিল করা ক্লাসটি বেস ক্লাস হিসাবে ব্যবহার করা যাবে না

আমি আপনাকে সিল করা ক্লাসটি নীচের কোডের একটি উত্সযুক্ত শ্রেণি দেখানোর চেষ্টা করছি

 public sealed class SealedClass : ClassBase
{
    public override void Print()
    {
        base.Print();
    }
}

এবং অন্য সিল করা বৈশিষ্ট্যটি কেবলমাত্র এর উদাহরণ সহ অ্যাক্সেসযোগ্য ((আপনি এটি থেকে উত্তরাধিকারী হতে পারবেন না)

 class Program
{
    static void Main(string[] args)
    {
        SealedClass objSeald = new SealedClass();
        objSeald.Name = "Blah blah balh";
        objSeald.Print();

    }
}

1

সিল করা ক্লাস:

  1. উদাহরণ তৈরি করতে পারে, কিন্তু উত্তরাধিকারী হতে পারে না
  2. স্থিতিশীল পাশাপাশি অ স্থির সদস্য থাকতে পারে।

স্ট্যাটিক ক্লাস:

  1. তাদের দৃষ্টান্ত তৈরি করতে পারে না, উত্তরাধিকারীও হতে পারে না
  2. শুধুমাত্র স্থির সদস্য থাকতে পারে।

0

1 - না, আপনি একটি স্ট্যাটিক ক্লাস প্রয়োগ করতে পারবেন না।

2 - না, আপনি স্থির বা সিল করা শ্রেণীর কাছ থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হতে পারবেন না


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