اثر پروانه ای

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

اثر پروانه ای

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

اثر پروانه ای

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

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

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

کلمه کلیدی base

کلمه کلیدی base برای دسترسی به اعضای کلاس پایه از داخل کلاس مشتق شده استفاده می شود:

  • فراخوانی یک متد از کلاس پایه، که توسط متدی دیگر بازنویسی (override) شده است.
  • تعیین اینکه وقتی نمونه هایی از کلاس مشتق شده،نمونه سازی می شوند، کدام سازنده مربوط به کلاس پایه (کلاس اولیه که کلاس های دیگر از آن مشتق شده اند) می بایستی فراخوانی شوند.

دسترسی به کلاس پایه، فقط از داخل سازنده، متد نمونه و یا پراپرتی دسترسی کننده ی(accessor) نمونه، مجاز است.
استفاده از کلمه کلیدی base از داخل متد static ، خطا محسوب می شود.
کلاس پایه ای که مورد دسترسی قرار می گیرد همان کلاسی است که در اعلان کلاس مشخص می شود. برای نمونه، اگر کلاسی بصورت

ClassB : ClassA

تعیین کنید، اعضای ClassA از طریق ClassB ، صرف نظر از کلاس پایه مربوط به ClassA ، قابل دسترسی هستند.

مثال

در این مثال، کلاس پایه Person و کلاس مشتق شده Employee، هر دو دارای متدی به نام Getinfo می باشند. با استفاده از کلیدواژه base ، ای امکان وجود دارد که از داخل کلاس مشتق شده، متد Getinfo مربوط به کلاس پایه را فراخوانی کرد.

public class Person
{
    protected string ssn = "444-55-6666";
    protected string name = "John L. Malgraine";

    public virtual void GetInfo()
    {
        Console.WriteLine("Name: {0}", name);
        Console.WriteLine("SSN: {0}", ssn);
    }
}
class Employee : Person
{
    public string id = "ABC567EFG";
    public override void GetInfo()
    {
       // Calling the base class GetInfo method:
       base.GetInfo();
       Console.WriteLine("Employee ID: {0}", id);
    }
}

class TestClass
{
    static void Main()
    {
        Employee E = new Employee();
        E.GetInfo();
    }
}
/*
Output
Name: John L. Malgraine
SSN: 444-55-6666
Employee ID: ABC567EFG
*/

این مثال چگونگی تعیین سازنده کلاس پایه ای که در هنگام نمونه سازی از کلاس مشتق شده، فراخوانی می شود، را نشان می دهد (خخخخ عجب جمله ای شد). به بیانی ساده می خواهیم مشخص کنیم که وقتی از یک کلاس نمونه سازی می کنیم و از کلمه کلیدی base استفاده می کنیم؛ کدامیک از سازنده های کلاس پایه باید فراخوانی شود.

public class BaseClass
{
    int num;

    public BaseClass()
    {
        Console.WriteLine("in BaseClass()");
    }

    public BaseClass(int i)
    {
        num = i;
        Console.WriteLine("in BaseClass(int i)");
    }

    public int GetNum()
    {
        return num;
    }
}

public class DerivedClass : BaseClass
{
    // This constructor will call BaseClass.BaseClass()
    public DerivedClass() : base()
    {
    }

    // This constructor will call BaseClass.BaseClass(int i)
    public DerivedClass(int i) : base(i)
    {
    }

    static void Main()
    {
        DerivedClass md = new DerivedClass();
        DerivedClass md1 = new DerivedClass(1);
    }
}
/*
Output:
in BaseClass()
in BaseClass(int i)
*/

نظرات (۰)

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

ارسال نظر

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