Thursday, November 28, 2013

أساسيات البرمجة سي شارب - التراكيب C# - Structures

2:41 AM

Share it Please

أساسيات البرمجة - التراكيب C# - Structures


التراكيب structures

هي نوع  من انواع البيانات ذات القيمة. يستخدم لانشاء عدة أنواع بيانات مختلفة في نوع  واحد ذات علاقة فعلى سبيل المثال نريد انشاء نوع تركيب عن الكتاب فاننا نحتاج في هذا النوع اسم الناشر وعنوان الكتاب ورقم الكتاب والي اخره من المعلومات ذات العلاقة.

ان التراكيب الى حد ما تشبه الفئات الا أن الفرق بينهما هو.

1- الفئات تحتاج الى انشاء كائن منها كي تستخدمها.
2 الفئات من نوع البيانات ذات المرجع بينما التركيب من ذات القيمة.
3 الفئات تحتاج الى استخدام الكلمة المحجوزة  new بينما التركيب الاسم ثم نقطة ثم العنصر  المراد الوصول اليه.
4- لا تستخدم مبادي الوراثة.
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

مميزات التراكيب:-


  1.   يمكن ان يحتوى على  دوال,خصائص, فهارس,أحداث,معاملات.
  2. يمكن تعريف لها مشيدات ولكن لا يمكن تعريف لها مهدمات.
  3. لا يمكن ات ثورث المشيدات مشيدات اخرى.
  4. يمكنها  تنفيذ الواجهات واحدة او اكثرة.
  5. لا يمكن تعرفها كتراكيب مجردة او افتراضية او محمية (راجع محددات الوصول).
  6. لا تستخدم الكلمة المحجوزة 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
Al alami st
gaza -jabaliaGaza Strip
Palestine
ahmed.almahallawi@gmail.com

DOB: 05/10/1984
by +Ahmed Almahallawi 
24/11/2013

0 comments :

Post a Comment