فلاترلند | مرکز آموزش رایگان فلاتر

آموزش برنامه نویسی موبایل و ساخت اپلیکیشن با فریمورک فلاتر

فلاترلند | مرکز آموزش رایگان فلاتر

آموزش برنامه نویسی موبایل و ساخت اپلیکیشن با فریمورک فلاتر

متد های سازنده یک کلاس

دوشنبه, ۱۴ اسفند ۱۴۰۲، ۰۴:۱۲ ب.ظ

به نام خدا. در این مطلب به متود های سازنده یا همان Constructor ها می پردازیم. کانستراکتور در هنگام فراخوانی یک کلاس به طور خودکار صدا زده می شود. در ادامه آموزش با فلاترلند همراه باشید. 

در مطالب قبل نحوه ساختن یک کلاس و شی را دیدیم. در این مطلب قصد داریم تا متود های سازنده یک کلاس را بررسی کنیم.

متود سازنده یا همان Constructor متودی است که هنگام فراخوانی و ساخت یک کلاس صدا زده می شود. فرض کنید می خواستیم یک کلاس ماشین بسازیم که وقتی صدا زده شد مستقیما یک سری عملیات را انجام دهد. مثلا یک پیغام بدهد که شی ساخته شد.

به این مثال توجه کنید:

void main(List<String> args) {
    Vehicle myCar = Vehicle();
    myCar.start();
}

class Vehicle {
    String? name;
    String? model;
    int? speed;
    
    // Constructor
    Vehicle() {
        print("Object created");
    }

    void start() {
        print("The car is starting...");
    }

    void stop() {
        print("The car is stoping...");
    }
}
در مثال بالا یک متود سازنده یا کانستراکتور ساختیم. همانطور که می بینید متد سازنده کلاس دقیقا هم نام با کلاس است و یک بدنه دارد.
خروجی این کد:
Object created
The car is starting...
در بسیاری از اوقات متد های سازنده برای دریافت و تنظیم متغیر های کلاس استفاده می شود. مثلا قصد داریم که مستقیما هنگام ساخته شدن کلاس متغیر ها پاس داده شوند و در بدنه کلاس ذخیره شوند. به این مثال دقت کنید:
void main(List<String> args) {
    Vehicle myCar = Vehicle("Pride", "1401", 120);
    String carInfo = myCar.getInfo();
    print(carInfo);
}

class Vehicle {
    String? name;
    String? model;
    int? speed;

    Vehicle(String name, String model, int speed) {
    this.name = name;
    this.model = model;
    this.speed = speed;
    }

    void start() {
        print("The car is starting...");
    }

    void stop() {
        print("The car is stoping...");
    }

    String getInfo() {
        return "Name: ${this.name} & Model: ${this.model} & Max Speed: ${this.speed}";
    }
}
همانطور که می بینید در این مثال با ساختن متود سازنده و دریافت ورودی ها در فانکشن آنها را برابر مقادیر داخل کلاس قرار دادیم. در واقع با این کار برنامه گرفتن ورودی را اجباری می داند و آن ها را در لحظه ساختن مقدار دهی می کند.
خروجی کد بالا ( پس از دریافت اطلاعات با getInfo و نمایش آن ):
Name: Pride & Model: 1401 & Max Speed: 120

انواع دیگری از تنظیم متود سازنده جهت دریافت متغیر ها در ورودی

Vehicle(this.name,this.model, this.speed); // Directly sets variables
Vehicle(String name, String model, int speed) : name = name, model = model, speed = speed

در دو مثال بالا، مرسوم ترین روش تنظیم متغیر در کلاس مورد اول است چرا که بسیار کوتاه و خوانا است.

در مثال دوم چند ورودی گرفتیم و آن ها را به ترتیب از مقادیر ورودی به مقادیر داخل کلاس ریختیم. یعنی مثلا name ورودی برابر است با name داخل کلاس.

در کل شما می توانید از هر روشی که خواستید برای دریافت و انجام عملیات در کانستراکتور ها استفاده کنید.

انتقال به صفحه بعد

انتقال به صفحه قبل

  • ۰۲/۱۲/۱۴
  • علیرضا حسن زاده

نظرات (۰)

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

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
تجدید کد امنیتی
فلاترلند | مرکز آموزش رایگان فلاتر

فلاترلند، یک وبلاگ آموزشی است که به شما کمک می‌کند تا با استفاده از آخرین فناوری‌ها و روش‌های روز دنیا، برنامه‌های موبایل برای پلتفرم‌های مختلف مانند اندروید، iOS و حتی دسکتاپ را تنها با یک بار کد زدن بسازید !. در این وبلاگ، از صفر تا صد برنامه نویسی موبایل با فریمورک فلاتر را به شما آموزش می‌دهیم.
در صورتی که در مطالب وبلاگ ایراد / ابهام و... وجود داشت میتوانید از قسمت ارتباط با ما راه های ارتباطی را بررسی و مشکل خود را بیان کنید.