بخشی از پاورپوینت
--- پاورپوینت شامل تصاویر میباشد ----
اسلاید 1 :
در زبان C# جمع آوري زباله (Garbage Collection) انجام ميشود.
در انتهاي كار با اشيا، آنها به طور اتوماتيك از بين ميروند.
اگر منابع مديريت نشده يا نادر (مثل اتصال به پايگاه داده) داريد بايد در انتهاي كار با شيء آن را آزاد كنيد.
اين كار توسط تابع مخرب انجام ميشود، كه در حين از بين رفتن شيء فراخواني ميشود.
مخرب همنام با كلاس است و با علامت ~ مشخص ميشود.
اسلاید 2 :
this به نمونه جاري از يك شيء اشاره ميكند.
استفاده از this :
براي تمايز پارامترهاي همنام با اعضاي نمونه كلاس
براي ارسال شيء جاري به عنوان پارامتر به متد ديگر
براي فراخواني سازنده توسط سازنده ديگر
اسلاید 3 :
ارسال شيء جاري به عنوان پارامتر به متد ديگرclass SomeClass
public void FirstMethod(class1 obj1)
obj1.SecondMethod(this);
}
//...
}
اسلاید 4 :
كلاسي با دو تابع سازنده
class Car
private string model;
private uint nWheels;
public Car (string model, uint nWheels)
this.model = model;
this.nWheels = nWheels;
}
public Car (string model)
this.model = model;
this.nWheels = 4;
}
// etc.
اسلاید 5 :
فراخواني سازنده توسط سازنده ديگر
class Car
private string model;
private uint nWheels;
public Car (string model, uint nWheels)
this.model = model;
this.nWheels = nWheels;
}
public Car (string model) : this (model, 4)
}
// etc.
اسلاید 6 :
فيلدهاي (اعضاي دادهاي) ايستا (static)
متغيري كه بين نمونههاي مختلف يك كلاس مشترك است.
يكي از كاربردهاي عمومي آن، نگهداري تعداد نمونههاي كلاس جاري است.
اسلاید 7 :
using System;
namespace Test
public class Cat
private static int instances = 0;
private int weight;
private String name;
public Cat( String name, int weight )
instances++;
this.name = name;
this.weight = weight;
}
public static void HowManyCats( )
Console.WriteLine(“ 0} cats adopted”, instances);
}
public void TellWeight( )
Console.WriteLine(“ 0} is 1} pounds”, name, weight);
}
}//end of class Cat
اسلاید 8 :
class Tester
static void Main( )
Cat.HowManyCats( );
Cat frisky = new Cat( “Frisky”, 5);
frisky.TellWeight( );
Cat.HowManyCats( );
Cat whiskers = new Cat( “Whisky”, 7);
whiskers.TellWeight( );
Cat.HowManyCats( );
}
}//end of class Tester
}//end of namespace Test