دورة سي شارب С# Course

Tuesday, August 26, 2014

سي شارب - الدرس الحادي عشر - مثال على الكائنات الموجهة


فيديو 48-49

class program {
static void Main (string[] args)
// الهدف من كلاس المين هو عمل كائنات تستخدم الكلاسات الاخرى الموجودة بالبرنامج
{

bank b= new bank();

// هذا كائن  (object) جديد ، لما انشاته تلقائيا راح ينحط بحسابه 500 بسبب وجود ال (constructor)
// ال class بالعادة بكون الfields  تبعها نوعه private وما بقدر استخدمه هون، عشان هيك  لازم اعمل properties  لهاي ال fields حتى اقدر استخدمها في العمليات على الكائن   (object) ، او اني احط قبلها كلمة public
// بما انه فيه properties هلأ بقدر اوصل لل fields عن طريق  (object)

Console.WriteLine (b.account-no);   // =500
b.Name = "Mohammed";

// بدي أنشأ كائن بدون ما يكون في حسابه مبلغ 500 ( لازم استعمل overload constructor)

bank c= new bank(6000); 
Console.WriteLine (c.account-no);   // =6000

// بدي احسب الفايدة عند الايداع 10% ، عن طريق ال (method)
c.deposite();
Console.WriteLine (c.account-no);   // =6600

} // End of main
} // End of class program

==================================================================

class bank{

// Fields
int account-no;
string name;

==================================================================
// Properties 
// مهمتها عشان اقدر استخدم ال fields

1- public int account-no
{
get { return account-no;
set { account-no=value;}
}

// بدي طريقة اسهل عشان اكتب الخصائص 
// أحدد المتغير اللي بدي أطلع منه الخصائص وليكن مثلا ال name , بعدين اختار Refactor , بعدين Encapsulate field 
// حيطلب مني احدد Encapsulate name ,وهو تلقائي راح يضيف ال set , get تبعها .. 

2- public int Name
{
get { return name;
set { name=value;}
}

=====================================================================
// بدي اي عميل جديد يكون بحسابه فيه 500 ، وذلك عن طريق الكونستركتور 
// Constructors 

public bank ()  // same name of class
{
account-no=500;
 // أي كائن راح يتعرف جديد في المين ، راح يتعرف تلقائيا انه حسابه فيه 500 
}

// Overload Constructors 

public bank (int x)  // same name of class
{
account-no=x;
}

// Methods

public void deposite()
{


account-no= ( (account-no*10) /100) + account-no ; 
}



} // End of class bank
=====================================================================

انتهى

No comments:

Post a Comment