"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يعزز سلاسل المُنشئ تهيئة الكائن في C#؟

كيف يعزز سلاسل المُنشئ تهيئة الكائن في C#؟

نشر في 2025-03-12
تصفح:213

How Does Constructor Chaining Enhance Object Initialization in C#?

C# استدعاء سلسلة مُنشئ: تهيئة كائن فعالة ومرنة

]

في البرمجة الموجهة للكائنات ، يكون المنشئ مسؤولاً عن تهيئة وتكوين الكائنات التي تم إنشاؤها حديثًا. يدعم C# ميزة قوية: استدعاء سلسلة مُنشئ ، مما يتيح للمنشدين استدعاء مُنشئين آخرين في نفس الفئة. هذا يمكن أن تبسيط تهيئة الكائن بشكل كبير وتحسين قابلية الصيانة.

دعونا نفهم استدعاء سلسلة المنشئ في C# مع مثال بسيط:

public class SomeClass
{
    private int _someVariable;

    public SomeClass()
    {
        _someVariable = 0;
    }

    public SomeClass(int value) : this()
    {
        this._someVariable = value;
        // 通过链式调用默认构造函数来设置其他属性
    }
}

في هذا المثال ، لدينا مُنشئان: مُنشئ افتراضي واحد _ Somevarable إلى 0 ؛ الأهم من ذلك ، يستخدم المُنشئ الزائد هذا () سلسلة بناء الجملة لاستدعاء المنشئ الافتراضي لتعيين الخصائص العامة لجميع مثيلات someclass . استخدام مكالمات سلسلة المنشئ في هذا السيناريو له العديد من المزايا. أولاً ، يقلل من تكرار الكود ويتجنب كتابة نفس رمز التهيئة في مُنشئات متعددة. ثانياً ، يضمن الاتساق ، مما يجبر جميع الكائنات (بغض النظر عن إنشاء المنشئ) للحصول على نفس قيمة الخاصية.

يمكن أيضًا تمديد مكالمات سلسلة المنشئ إلى ثلاثة منشئات أو أكثر. على سبيل المثال:

فئة عامة foo { private _id ؛ سلسلة خاصة _name ؛ Public Foo (): هذا (0 ، "") {} FOO العام (INT ID ، اسم السلسلة) { _id = id ؛ _name = الاسم ؛ } Public Foo (int id): هذا (معرف ، "") {} Public Foo (اسم السلسلة): هذا (0 ، الاسم) {} }
public class Foo
{
    private int _id;
    private string _name;

    public Foo() : this(0, "") { }

    public Foo(int id, string name)
    {
        _id = id;
        _name = name;
    }

    public Foo(int id) : this(id, "") { }

    public Foo(string name) : this(0, name) { }
}

الكل في الكل ، توفر سلسلة سلسلة مُنشئ في C# طريقة قوية ومرنة لتهيئة الكائنات بكفاءة ومتسقة. من خلال استدعاء البنائين في السلاسل ، يمكنك تقليل تكرار الكود ، وفرض استخدام قيم الملكية العامة ، وتبسيط إنشاء الكائنات في سيناريوهات مختلفة.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3