اثر پروانه ای

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

اثر پروانه ای

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

اثر پروانه ای

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

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

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

کلیدواژه class

کلاس ها با استفاده از کلمه کلیدی class ، بصورتی که در مثال زیر نشان داده شده، اعلان می شوند.

class TestClass
{
    // Methods, properties, fields, events, delegates 
    // and nested classes go here.
}

ملاحظات

بر خلاف ++C ، در #C فقط یک ارث بری مجاز است. به بیانی دیگر، پیاده سازی یک کلاس فقط می تواند از یک کلاس پایه ای ، ارث بری شود. هرچند، یک کلاس می تواند بیش از یک رابط (interface) را پیاده سازی (implement) کند. جدول زیر مثال هایی از ارث بری کلاس و پیاده سازی رابط را نشان می دهد.

ارث بری مثال
بدون ارث بری
class ClassA { }
ارث بری یگانه
class DerivedClass: BaseClass { }
بدون ارث بری، پیاده سازی دو رابط
class ImplClass: IFace1, IFace2 { }
ارث بری یگانه، پیاده سازی یک رابط
class ImplDerivedClass: BaseClass, IFace1 { }

سطوح دسترسی protected و private فقط روی کلاس های تو در تو مجازند.

شما همچنین می توانید کلاس های جامعی (generic) که دارای پارامتر های نوع باشند، اعلان کنید. برای اطلاعات بیشتر به "کلاس های جامع" مراجعه کنید.

یک کلاس می تواند حاوی اعلان هایی از اعضای زیر باشد.

  • Constructors (متدهای سازنده)
  • Destructors (متدهای تخریب گر)
  • Fields (فیلدها/متغیرها)
  • Methods (متدها/توابع)
  • Properties (پراپرتی ها/خصیصه ها)
  • Indexers (شاخص ساز)
  • Operators (عملگرها)
  • Events (رویدادها)
  • Delegates (وکیل ها)
  • Classes (کلاس ها)
  • Interfaces (رابط ها)
  • Structs (ساختارها)

مثال

مثال زیر اعلان فیلدها، متدهای سازنده و متدهای کلاس را توضیح می دهد. همچنین نمونه سازی شیئ و چاپ داده های نمونه را نشان می دهد. در این مثال، دو کلاس اعلان شده، کلاس Child، که حاوی دو فیلد با دسترسی خصوصی (name و age) و دو متد عمومی است. کلاس StringTest، که برای نگهداری Main استفاده شده.

class Child
{
    private int age;
    private string name;

    // Default constructor:
    public Child()
    {
        name = "N/A";
    }

    // Constructor:
    public Child(string name, int age)
    {
        this.name = name;
        this.age = age;
    }

    // Printing method:
    public void PrintChild()
    {
        Console.WriteLine("{0}, {1} years old.", name, age);
    }
}

class StringTest
{
    static void Main()
    {
        // Create objects by using the new operator:
        Child child1 = new Child("Craig", 11);
        Child child2 = new Child("Sally", 10);

        // Create an object using the default constructor:
        Child child3 = new Child();

        // Display results:
        Console.Write("Child #1: ");
        child1.PrintChild();
        Console.Write("Child #2: ");
        child2.PrintChild();
        Console.Write("Child #3: ");
        child3.PrintChild();
    }
}
    /* Output:
        Child #1: Craig, 11 years old.
        Child #2: Sally, 10 years old.
        Child #3: N/A, 0 years old.
    */

نکات

دقت کنید که در مثال قبل، فیلدهای خصوصی name و age فقط از طریق متدهای عمومی (public) از کلاس Child قابل دستیابی هستند. برای مثال، شما نمی توانید فیلد name از کلاس Child را با بیانی شبیه بیان زیر، از داخل متد Main چاپ کنید.

Console.Write(child1.name);   // Error

دستیابی به اعضای خصوصی Child از داخل Main فقط در صورتی امکان پذیر است که Main عضوی از کلاس بوده باشد.

نوع های اعلان شده در درون کلاسی بدون اصلاحگر دسترسی بطور پیش فرض private (خصوصی) هستند، بنابراین، در این مثال اگر کلمه کلیدی private مربوط به اعضای داده ای حذف شود، آنها خصوصی می مانند.

در آخر، به شیئی که توسط سازنده پیش فرض (child3) ساخته شده دقت کنید، فیلد age بطور پیش فرض با مقدار صفر مقدار دهی اولیه می شود.

نظرات (۰)

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

ارسال نظر

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