پرش به محتوا

آموزش ساخت named constructor در دارت

    در زبان دارت named constructor یک نوع constructor است که به شما اجازه می‌دهد یک شیء با نام ورودی خاص بسازید. به عبارت دیگر، named constructor یک روش برای ساخت شیء با مقادیر پیش‌فرض مشخص است.

    برای ساخت named constructor در دارت، به کافی است که یک متد با نام مشخص و با کلمه کلیدی factory بسازید. به عنوان مثال، فرض کنید شما یک کلاس Person دارید که دارای دو ویژگی name و age است. به صورت پیش‌فرض، named constructor همیشه باید با factory شروع شود. برای ساخت named constructor در کلاس Person، می‌توانید کد زیر را ایجاد کنید:

    class Person {
      String name;
      int age;
    
      Person(this.name, this.age);
    
      factory Person.fromName(String name) {
        return Person(name, 0);
      }
    }
    

    در کد بالا، Person.fromName یک named constructor است که شیء Person با یک نام و سن صفر برمی‌گرداند. برای استفاده از named constructor در دارت، می‌توانید به شکل زیر عمل کنید:

    Person person1 = Person('ٍErfan', 25);
    Person person2 = Person.fromName('Reza');
    

    در کد بالا، person1 یک شیء Person با نام "Erfan" و سن ۲۵ است، و person2 یک شیء Person با نام "Reza" و سن صفر است که با استفاده از named constructor Person.fromName ساخته شده است.

    با استفاده از named constructor در دارت، می‌توانید کد خود را کمی ساده‌تر و خواناتر کنید و از قابلیت‌های کاربردی آن بهره‌مند شوید.

    همچنین از named constructor ها می‌توان برای ایجاد چندین نوع شیء با ورودی‌های متفاوت استفاده کرد. به عنوان مثال، فرض کنید شما یک کلاس Rectangle دارید که دارای دو ویژگی width و height است. می‌توانید با استفاده از named constructor های مختلف، چندین نوع شیء Rectangle با ویژگی‌های متفاوت ایجاد کنید. به شکل زیر می‌توانید named constructor های مختلف را برای کلاس Rectangle بسازید:

    class Rectangle {
      double width;
      double height;
    
      Rectangle(this.width, this.height);
    
      factory Rectangle.square(double side) {
        return Rectangle(side, side);
      }
    
      factory Rectangle.fromArea(double area) {
        final side = sqrt(area);
        return Rectangle(side, side);
      }
    }
    

    در کد بالا، Rectangle.square یک named constructor است که یک مربع با طول لبه‌ی مشخص ساخته و بازگشت آن را به عنوان یک شیء Rectangle ارائه می‌دهد. همچنین، Rectangle.fromArea یک named constructor است که با توجه به مساحت موردنظر، طول و عرض را محاسبه کرده و یک شیء Rectangle با مقادیر محاسبه‌شده را برمی‌گرداند.

    با استفاده از named constructor های مختلف، می‌توانید کد خود را خواناتر و قابل‌فهم‌تر کنید و در عین حال، به راحتی شی‌های مختلف با ویژگی‌های متفاوت را ایجاد کنید.

    باید توجه داشت که named constructor ها در دارت تنها یک نوع constructor هستند و مانند constructor های دیگر، باید در صفحه‌ی اصلی کلاس تعریف شوند. همچنین برای صدا کردن named constructor ها، باید نام آن‌ها را با نام کلاس پیشوندی کنید.

    با استفاده از named constructor ها می‌توانید کد خود را خواناتر و قابل‌فهم‌تر کنید و در عین حال، به راحتی شی‌های مختلف با ویژگی‌های متفاوت را ایجاد کنید.

    همچنین، برای استفاده از named constructor ها در کد، می‌توانید به شکل زیر عمل کنید:

    Rectangle square = Rectangle.square(5);
    Rectangle rectangle = Rectangle.fromArea(20);
    

    در کد بالا، Rectangle.square(5) یک شیء Rectangle با طول و عرض ۵ سانتی‌متر ایجاد می‌کند و آن را به square اختصاص می‌دهد. همچنین، Rectangle.fromArea(20) یک شیء Rectangle با مساحت ۲۰ مترمربع ایجاد کرده و آن را به rectangle اختصاص می‌دهد.

    می‌توانید named constructor های مختلفی را برای کلاس‌های مختلف تعریف کنید و از آن‌ها در سراسر کد خود استفاده کنید. همچنین می‌توانید named constructor هایی را که ورودی‌های آن‌ها یکسان است با constructor های پیش‌فرض جایگزین کنید تا کدتان را ساده‌تر کنید.

    بنابراین named constructor ها در دارت یکی از روش‌های ساخت شی‌هایی با ویژگی‌های متفاوت هستند و با استفاده از آن‌ها می‌توانید کد خود را ساده‌تر و قابل‌فهم‌تر کنید.

    5/5 - ( 1 امتیاز )

    دیدگاه شما نگاه ما رو عوض میکنه !

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

    پشتیبانی آنلاین