ArmSoft.ir

شرکت برنامه نویسی ArmSoft

ArmSoft.ir

شرکت برنامه نویسی ArmSoft

تحلیل و طراحی سیستم های کامپیوتری
تولید نرم افزار های اداری و اتوماسیون
تولید نرم افزار های آموزشی
آموزش برنامه نویسی C# و Asp.net

سازنده‌های پیشرفته

يكشنبه, ۷ دی ۱۳۹۳، ۰۹:۱۸ ق.ظ

ماهیت تمامی برنامه‌های امروزی به گونه‌ای‌ست که با حجم عظیمی از داده‌ها سرو کار دارند. برای مدیریت داده‌ها، نیاز به کلاس‌هایی‌ست که در مهندسی نرم‌افزار آنها را Entity Types می‌نامیم. این کلاس‌ها به عنوان بسته‌هایی از داده‌ها محسوب می‌شوند. معضل فعلی موجود در رابطه با Entity Typeها تعدد سازنده‌های آن‌ها می‌باشد و ممکن است شما نیز با این مشکل برخورد کرده باشید. به این صورت که در سناریوهای مختلف، برنامه‌نویسان مجبور هستند سازنده یک کلاس را به چند شکل سربارگذاری کنند. سی شارپ ۳٫۰ راه چاره‌ای فوق‌العاده برای این مشکل ارائه می‌دهد. Object initializer حالت پیشرفته‌ای از سازنده می‌باشد.

class Person
{
    private string firstname;
 
    public string FirstName
    {
        get { return firstname; }
        set { firstname = value; }
    }
 
    private string lastname;
 
    public string LastName
    {
        get { return lastname; }
        set { lastname = value; }
    }
 
    private int age;
 
    public int Age
    {
        get { return age; }
        set { age = value; }
    }
}

این کلاس شامل سه متغیر بوده و برای هر متغیر خاصیتی تعریف شده‌است. اینک این سوالات مطرح می‌شوند: سازنده این کلاس را به چند شکل باید سربارگذاری کرد؟ سازنده‌ای که هر سه متغیر را مقداردهی کند؟ شاید در مواردی هر سه متغیر در دست نباشد در این صورت چه سازنده‌ای باید فراخوانی شود؟ سی شارپ ۳٫۰ راه حل زیر را ارائه می‌دهد. فرض کنید بخوانیم نمونه‌ای ازکلاس Person را ایجاد کنیم. همانطور که مشاهده می‌کنید، در سی شارپ ۳٫۰ به هنگام نمونه سازی، این امکان در اختیار برنامه نویس قرار می‌گیرد که هر یک از خصیصه‌های موجود در کلاس را به دلخواه و بنا به نیاز مقدار دهی کند به صورت زیر:

Person person = new Person
(    Age = 21,
    FirstName = "James",
    LastName = "Frank");
موافقین ۰ مخالفین ۰ ۹۳/۱۰/۰۷
arm soft4

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی