اثر پروانه ای

برنامه نویسی حرفه ای کامپیوتر به زبان سی شارپ - لیست کامل کلمات کلیدی در ʚĭɞ - ßữʈʨɾflỵ ⓔⓕⓕⓔⓒⓣ

اثر پروانه ای

برنامه نویسی حرفه ای کامپیوتر به زبان سی شارپ - لیست کامل کلمات کلیدی در ʚĭɞ - ßữʈʨɾflỵ ⓔⓕⓕⓔⓒⓣ

اثر پروانه ای

اثر پروانه‌ای نام پدیده‌ای است که به دلیل حساسیت سیستم‌های آشوب‌ناک به شرایط اولیه ایجاد می‌شود. این پدیده به این اشاره می‌کند که تغییری کوچک در یک سیستم آشوب‌ناک چون جو سیارهٔ زمین (مثلاً بال‌زدن پروانه) می‌تواند باعث تغییرات شدید (وقوع توفان در کشوری دیگر) در آینده شود.

ایده‌ٔ این‌که پروانه‌ای می‌تواند باعث تغییری آشوبی شود نخستین بار در ۱۹۵۲ در داستان کوتاهی به نام آوای تندر اثر ری بردبری مطرح شد. عبارت «اثر پروانه ای» هم در ۱۹۶۱ در پی مقاله‌ای از ادوارد لورنتس به وجود آمد. وی در صد و سی و نهمین اجلاس ای‌ای‌ای‌اس در سال ۱۹۷۲ مقاله‌ای با این عنوان ارائه داد که «آیا بال‌زدن پروانه‌ای در برزیل می‌تواند باعث ایجاد تندباد در تکزاس شود؟»

آخرین نظرات
  • ۱۳ بهمن ۰۱، ۱۵:۳۱ - حسنا سادات و سما سادات
    عالی

۴ مطلب با کلمه‌ی کلیدی «explicit» ثبت شده است

  • ۱
  • ۰

کلمه کلیدی long ، نوع داده ای صحیحی را مشخص می کند که مقادیر وابسته به اندازه و محدودیت نشان داده شده زیر را ذخیره می کند:

  • نوع: long
  • محدوده: از –9,223,372,036,854,775,808 تا 9,223,372,036,854,775,807
  • اندازه: صحیح علامتدار 64 بیتی
  • نوع دات نتی: System.Int64

  • غلامعلی حسینی بهجانی
  • ۲
  • ۰

interface فقط حاوی امضای متدها، خصوصیات، رویدادها و یا indexer ها است. یک کلاس و یا ساختار که interface را پیاده سازی می کند، باید اعضای رابطی که در قسمت تعریف رابط مشخص شده اند را پیاده سازی کند. در مثال زیر کلاس ImplementationClass باید متدی به نام SampleMethod که هیچ پارامتری ندارد و void را برمی گرداند را پیاده سازی کند.

interface ISampleInterface
{
    void SampleMethod();
}

class ImplementationClass : ISampleInterface
{
    // پیاده سازی صریح عضو رابط
    void ISampleInterface.SampleMethod()
    {
        // پیاده سازی متد
    }

    static void Main()
    {
        // اعلان یک نمونه رابط
        ISampleInterface obj = new ImplementationClass();

        // فراخوانی عضو
        obj.SampleMethod();
    }
}

  • غلامعلی حسینی بهجانی
  • ۲
  • ۰

سلام!

کلمه کلیدی implicit برای اعلان کردن عملگر کاربر-تعریف تبدیل نوع (Casting) استفاده می شود. برای فعال کردن تبدیل نوع ضمنی بین یک نوع کاربر-تعریف و یک نوع دیگر، اگر این تبدیل تضمین می کند که هیچ تخریب داده ای اتفاق نمی افتد، استفاده می شود.

class Digit
{
    public Digit(double d) { val = d; }
    public double val;
    // ...other members
    // User-defined conversion from Digit to double
    public static implicit operator double(Digit d)
    {
        return d.val;
    }
    //  User-defined conversion from double to Digit
    public static implicit operator Digit(double d)
    {
        return new Digit(d);
    }
}
class Program
{
    static void Main(string[] args)
    {
        Digit dig = new Digit(7);
        //This call invokes the implicit "double" operator
        double num = dig;
        //This call invokes the implicit "Digit" operator
        Digit dig2 = 12;
        Console.WriteLine("num = {0} dig2 = {1}", num, dig2.val);
        Console.ReadLine();
    }
}

  • تبدیل های ضمنی با حذف قالب ریزی های (cast) غیرضروری، می توانند خوانایی برنامه و کد منبع را افزایش دهند. هرچند چون تبدیلات ضمنی، برنامه نویسان را در قالب ریزی صریح از یک نوع به نوع دیگر مجبور نمی کند، برای جلوگیری از نتایج ناخواسته باید مواظب بود.
  • در کل عملگر تبدیل نوع ضمنی، هرگز نباید استثنایی را پرتاب کند و هرگز نباید اطلاعات را از بین ببرد یا در آنها خدشه ای ایجاد کند، تا بتواند بصورت امن و بدون مواظبت برنامه نویس استفاده شود.
  • اگر یک عملگر تبدیل نتواند شرایط بالا را فراهم کند باید بصورت explicit تعریف شود.
  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

کلیدواژه explicit

باسلام!

بوسیله این کلمه کلیدی می توانیم برای کلاس خود یک عملگر قالب ریزی (Cast) صریح بسازیم.

روش تعریف:

public static explicit operator Celsius(Farenheit f){
     return new Celsius((5.0f / 9.0f)*(f.degrees - 32));
}


روش استفاده:

Farenheit f=new Farenheit(100.0f);
Console.WriteLine(f.degrees.ToString());
Celsius s=(Celsius)f;
Console.WriteLine(s.degrees.ToString());


بوسیله کلیدواژه explicit می توان برنامه را طوری نوشت که بتوان یک نوع مقداری را به یک نوع مرجع تبدیل کرد و یا برعکس.

  • غلامعلی حسینی بهجانی