الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Polymorphism

مغلق
بدأه aroma في 13 فبراير 2005 · 0 رد · 487 مشاهدة · في قسم تكنولوجيا Microsoft .NET العام
مشاركة: واتساب X فيسبوك تيليجرام
#1

يعتبر هذا المبدا من المبادىء الهامة للO.O.Programming حيث نستطيع عمل مشتقات للclassمن خلال استخدامى للمؤشر الخاص بالBase Classو بالتالى بامكانى استخدم ال

objectمن هذا الclassو استطيع استخدام كل الfunctionsالخاصة به

و بالتالى بامكانك من خلال خاصية التوريث ان تسمح لعدد اكبر من الكلاسس ان يشاركك با

functions

و اذا كانت كل الكلاسس المستخدمة تشتمل على نفس اسم functionالتالى من خلال اسم الobjectانى اشغل الfunctionالتى احتاجهاwe need to see an example

we have a base class with a virtual method

using system;
public class DrawingObject
{ 
	public virtual void()
	{

	Console.WriteLine("Iam generic drawing object ");
	}


}

نرى فى هذا الكود وجود ما يسمى ب كلاس اساسىBase classو الذى من خلال الكلاس المشتقة نستطيع التعامل مع الدوال الموجودة بداخل الكلاس الاساسى

كالمثال التالى

using System;
public class Line :DrawingObject
{ 
	public override void Draw ()
  { 
  Console.WriteLine("iam a line");

  }

}

نجد ان تلك الكلاس المشتقة من الكلاس الاساسية المسماةdrawingobjectلديها امكانية استخدام نفس الداله المسماةDraw()و ذلك من خلال كلمةOverrideحيث تسمح هذه الكلمة باستخدام الكلاس الاساسى بدواله

من اهم عوامل نجاح الOverriding Methods

ان يكون لهذه الدوال نفس التوقيع و عدد العوامل و الاسم كما فى الكلاس الاساسى

in implementing the polymorphism in tha main function

public class DrawDemo
{  
	public static int Main(string[]args)


	{	
  DrawingObject[] dObj=new DrawingObject[4];
  dObj[0]=new line();


  //as the number of drived classes increase the number of objects increase
  foreach(DrawingObject drawObj in dObj)
  { 
 	 drawObj.Draw();

  }
	}
}

فنجد فى هذا الجزء من الكود اننا استخدمنا array و نوع هذه الarray is DrawingObject Class

and we initialized that array to hold the objects types

: the output will be

iam a line

iam just generic drawing object

so we should by now know the polymorphism,

also we should by now know the inhiritance

if you have any comments tell me please

هذا الموضوع مغلق.

مواضيع مشابهة