أساسيات البرمجة سي شارب - التراكيب C# - Structures
أساسيات البرمجة - التراكيب C# - Structures
التراكيب structures
هي نوع من انواع البيانات ذات القيمة. يستخدم لانشاء عدة أنواع بيانات مختلفة في نوع واحد ذات علاقة فعلى سبيل المثال نريد انشاء نوع تركيب عن الكتاب فاننا نحتاج في هذا النوع اسم الناشر وعنوان الكتاب ورقم الكتاب والي اخره من المعلومات ذات العلاقة.
ان التراكيب الى حد ما تشبه الفئات الا أن الفرق بينهما هو.
1- الفئات تحتاج الى انشاء كائن منها كي تستخدمها.
2 الفئات من نوع البيانات ذات المرجع بينما التركيب من ذات القيمة.
3 الفئات تحتاج الى استخدام الكلمة المحجوزة new بينما التركيب الاسم ثم نقطة ثم العنصر المراد الوصول اليه.
4- لا تستخدم مبادي الوراثة.
5- ليس لها مشيدات افتراضية.
5- ليس لها مشيدات افتراضية.
في المثال التالي سننشأ سجل للكتاب يتكون من العناصر التالية:-
- Title
- Author
- Subject
- Book ID
الاعلان عن التركيب:-
struct Books { public string title; public string author; public string subject; public int book_id; };
استخدام التركيب:-
using System; struct Books { public string title; public string author; public string subject; public int book_id; }; public class testStructure { public static void Main(string[] args) { Books Book1; /* التصريح عن تركيب الكتاب الاول */ Books Book2; /* التصريح عن تركيب الكتاب الثاني */ /* اسناد معلومات الكتاب الاول*/ Book1.title = "C Programming"; Book1.author = "Nuha Ali"; Book1.subject = "C Programming Tutorial"; Book1.book_id = 6495407; /* اسناد معلومات الكتاب الاول */ Book2.title = "Telecom Billing"; Book2.author = "Zara Ali"; Book2.subject = "Telecom Billing Tutorial"; Book2.book_id = 6495700; /* طباعة معلومات الكتاب الاول */ Console.WriteLine( "Book 1 title : {0}", Book1.title); Console.WriteLine("Book 1 author : {0}", Book1.author); Console.WriteLine("Book 1 subject : {0}", Book1.subject); Console.WriteLine("Book 1 book_id :{0}", Book1.book_id); /* طباعة معلومات الكتاب الثاني */ Console.WriteLine("Book 2 title : {0}", Book2.title); Console.WriteLine("Book 2 author : {0}", Book2.author); Console.WriteLine("Book 2 subject : {0}", Book2.subject); Console.WriteLine("Book 2 book_id : {0}", Book2.book_id); Console.ReadKey(); } }
الناتج طباعة التركيب:-
Book 1 title : C Programming Book 1 author : Nuha Ali Book 1 subject : C Programming Tutorial Book 1 book_id : 6495407 Book 2 title : Telecom Billing Book 2 author : Zara Ali Book 2 subject : Telecom Billing Tutorial Book 2 book_id : 6495700
مميزات التراكيب:-
- يمكن ان يحتوى على دوال,خصائص, فهارس,أحداث,معاملات.
- يمكن تعريف لها مشيدات ولكن لا يمكن تعريف لها مهدمات.
- لا يمكن ات ثورث المشيدات مشيدات اخرى.
- يمكنها تنفيذ الواجهات واحدة او اكثرة.
- لا يمكن تعرفها كتراكيب مجردة او افتراضية او محمية (راجع محددات الوصول).
- لا تستخدم الكلمة المحجوزة new كالفئات عند استخدامها فهو لا ينشيء منها كائن حتى تسند قيم له بعكس الفئات.
مثال موسع يشمل مميزات التراكيب:-
using System; struct Books { private string title; private string author; private string subject; private int book_id; public void getValues(string t, string a, string s, int id) { title = t; author = a; subject = s; book_id = id; } public void display() { Console.WriteLine("Title : {0}", title); Console.WriteLine("Author : {0}", author); Console.WriteLine("Subject : {0}", subject); Console.WriteLine("Book_id :{0}", book_id); } }; public class testStructure { public static void Main(string[] args) { Books Book1 = new Books(); /* التصريح عن التركيب الكتاب الاول */ Books Book2 = new Books(); /* التصريح عن التركيب الكتاب الثاني */ /* استدعاء الدالة وتمرير لها الباراميترات */ Book1.getValues("C Programming", "Nuha Ali", "C Programming Tutorial",6495407); /* استدعاء ادالة وتمرير لها الباراميترات */ Book2.getValues("Telecom Billing", "Zara Ali", "Telecom Billing Tutorial", 6495700); /* طباعة معلومات الكتاب الاول */ Book1.display(); /* طباعة معلومات الكتاب الثاني */ Book2.display(); Console.ReadKey(); } }
ناتج التراكيب:-
Title : C Programming Author : Nuha Ali Subject : C Programming Tutorial Book_id : 6495407 Title : Telecom Billing Author : Zara Ali Subject : Telecom Billing Tutorial Book_id : 6495700
Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabalia, Gaza Strip
Palestine
ahmed.almahallawi@gmail.com
DOB: 05/10/1984
by +Ahmed Almahallawi
by +Ahmed Almahallawi
24/11/2013
التسميات: csharp-basic
<< الصفحة الرئيسية