1-qator: Nomlar maydonidan using System sinflardan foydalanishimiz mumkinligini anglatadi. 2-qator


Download 0.73 Mb.
bet36/43
Sana08.10.2023
Hajmi0.73 Mb.
#1695516
1   ...   32   33   34   35   36   37   38   39   ...   43
Bog'liq
C# asoslari

Dinamik polimorfizm. Runtime polimorfizmi yoki kech ulanish polimorfizmi deb ham atash mumkin. Polimorfizmning ushbu turida statik polimorfizmdan farqli tarzda bir sinfga tegishli metodlarni ushbu sinfdan voris oluvchi boshqa sinflarda qayta aniqlaymiz. Bu nima degani ? Misol tariqasida real bir voqeani qaraymiz. Geometrik shakl deganimizda uchuburchak, to’rtburchak, piramida va yana boshqa shakllar ko’z oldimizdan o’tadi. Lekin aynan bir shaklni tasavvur qila olmaymiz. Uchburchak deganimizda esa aksincha. Ushbu holat quyidagicha:
namespace UzbekDevs
{
class Shakl
{
public virtual void Chizish()
{
Console.WriteLine("Men shakl chizaman.");
}
}

class Uchburchak : Shakl


{
public override void Chizish()
{
Console.WriteLine("Men uchburchak chizaman.");
}
}

class Aylana : Shakl


{
public override void Chizish()
{
Console.WriteLine("Men aylana chizaman.");
}
}
Yuqoridagi holatda “Shakl” sinfi ajdod sinf va unda Chizish() metodi mavjud, “Aylana” va “Uchburchak” sinflari esa uning voris sinflari va Chizish() metodini esa ularda qayta yozdik.
namespace UzbekDevs
{
class Shakl
{
public virtual void Chizish()
{
Console.WriteLine("Men shakl chizaman.");
}
}

class Uchburchak : Shakl


{
public override void Chizish()
{
Console.WriteLine("Men uchburchak chizaman.");
}
}

class Aylana : Shakl


{
public override void Chizish()
{
Console.WriteLine("Men aylana chizaman.");
}
}

class Program


{
static void Main(string[] args)
{
//konstruktorlar e'loni
Shakl shakl = new Shakl();
Shakl uchburchak = new Uchburchak();
Shakl aylana = new Aylana();

//Metodni chaqirish


shakl.Chizish();
uchburchak.Chizish();
aylana.Chizish();

Console.ReadKey();


}
}
}
Dastur natijasi:

Download 0.73 Mb.

Do'stlaringiz bilan baham:
1   ...   32   33   34   35   36   37   38   39   ...   43




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling