شی گرائی (بخش پانزدهم)
در بخش قبلی دربارۀ کلاس ها صحبت کردم و با تعریفش و یک نمونه از نحوۀ تعریفش آشنا شدید
در این بخش میخوام کمی با تلفیق خاصیت های دیگه در کلاس ها آشناتون کنم که مطمئنا خیلی مفید خواهد بود و به شکلی ترکیب شدن اجزای مختلف رو هم ببینید
در ابتدا به کد زیر دقت کنید
کد PHP:
using System;
class OutClass
{
string myString;
// سازنده
public OutClass(string inputString)
{
myString = inputString;
}
// متد نمونه
public void printString()
{
Console.WriteLine("{0}", myString);
}
// تخريب كننده
~OutClass()
{
// کد
}
}
class exampleClass
{
// آغاز اجراي برنامه
public static void Main()
{
// OutClass نمونه ای از
OutClass outCl = new OutClass("This is out class.");
// Out فراخوانی متد كلاس
outCl.printString();
}
}
کد بالا یه نمونه از کلاس هست که ما 2 کلاس درونش می بینیم ، كلاس بالايی ، كلاس OutClass دارای سازنده، متد نمونه و يک تخريب كننده ست . (دربارۀ تخریب کننده ها بعدا توضیح خواهم داد.)
کلاس ما دارای فیلدی با نام myString است ، در اين نمونه کدی که می بینید، سازنده كلاس رشته ورودی (inputString) رو به عنوان آرگومان دريافت میکنه و اين مقدار داخل فيلد كلاس يعنی myString كپی میشه.
در خط 45 هم میبینید که از OutClass نمونه ای ایجاد شده با استفاده از کلمۀ کلیدی new و در آخرم متد نمونه (printString) درون خاصیت ایجاد شده OutClass ریخته میشه
درexampleClass که دقت کنید متوجه میشید که استفاده از سازنده الزامی نیست ، در این مورد خاص سازنده پیش فرض ایجاد میشه که هیچ آرگومانی هم نداره.
البته دقت کنید که سازنده بدون آرگومان هیچ زمانی مفید و کاربردی نبوده و این که يه كلاس میتونه سازنده های متفاوتی داشته باشه سازنده ای كه فراخوانی میشه، به تعداد و نوع آرگومانهاش هم وابسته ست.