Umirov Rahimjonning o’quv-amaliyoti davomida tayyorlagan. Hisobotlari Amaliyot rahbari: O. Primqulov Bajardi: R. Umirov 1-kun


Download 484.63 Kb.
bet17/20
Sana17.06.2023
Hajmi484.63 Kb.
#1520773
1   ...   12   13   14   15   16   17   18   19   20
Bog'liq
Rahimjon Hisobot

9-kun
25-mavzu:Virtual metodlardan foydalanish.
26-mavzu:Interfeyslar bilan ishlash.
27-mavzu:IEnumerable va IEnumerator interfeysi metodlarini sinfda qayta aniqlash.


25-Mavzu. Virtual metodlardan foydalanish.
Polimorfizm - "bir ism-ko'p shakllar"degan ma'noni anglatuvchi yunoncha so'z. Boshqa so'zlar bilan aytganda, bir ob'ekt ko'p shakllar yoki bir necha xususiyatlari bilan bir ism bor. "Poly "" to'siq "degan ma'noni anglatadi va" morfing " shakllarni bildiradi. Polimorfizm sinfga bir xil nom bilan bir nechta dasturlarga ega bo'lishiga imkon beradi. Bu inkapsulatsiya va merosdan keyin ob'ektga yo'naltirilgan dasturlashning asosiy tamoyillaridan biridir. Ushbu maqolada siz polimorfizm nima ekanligini, qanday ishlashini va C #da polimorfizmni qanday amalga oshirishni o'rganasiz.
C # polimorfizmining turlari polimorfizmning ikki turi mavjud:
* Kompilyatsiya vaqtining statik polimorfizmi / polimorfizmi.
* Ishlash vaqtining dinamik / polimorfizmi.
Statik polimorfizm yoki kompilyatsiya vaqt polimorfizm u ham erta majburiy sifatida tanilgan. Usulning ortiqcha yuklanishi statik polimorfizmning namunasidir. Haddan tashqari yuklashda usul / funktsiya bir xil nomga ega, ammo turli imzolar mavjud. Bundan tashqari, vaqt polimorfizmi sifatida ham tanilgan
DASTURI:
7-Masala
using System;
namespace Rahimjon{
class Klass1{
public virtual void Metod1(){}
public virtual double Metod2(){ return 0;}
public virtual void Metod3(){}
}
class Klass2:Klass1{
public double d;
public string m;
public double s;
public override void Metod1(){
Console.WriteLine(" диаметр : "+d+ " метр ");
Console.WriteLine(" материал : "+m );
Console.WriteLine(" цена : "+s+" $ ");
}
public override double Metod2(){
double Q =d/s;
return Q;
}
public override void Metod3(){
double Qp1=Metod2();
double Qp2=2*Metod2();
double Qp3=2.5*Metod2();
Console.WriteLine(" азимутальный : "+Qp1);
Console.WriteLine(" полярный : "+Qp2);
Console.WriteLine(" тороидальный : "+Qp3);}
}
class program{
static void Main(){
Klass2 ob2=new Klass2();
ob2.d=0.6;
ob2.m=" Алюминий ";
ob2.s=1200;
ob2.Metod1();
Console.WriteLine(" качества : "+ob2.Metod2());
ob2.Metod3(); } }}
11-Masala
using System;
namespace Rahimjon{
class Klass1{
protected string n;
protected double n1, n2;
public Klass1(string n,double n1,double n2)
{this.n=n;
this.n1=n1;
this.n2=n2; }
public virtual double Metod1(){ return 0;}
public virtual double Metod2(){ return 0;} }
class Klass2:Klass1{
public int p,t;
public Klass2(string n,double n1,double n2,int p,int t):base(n,n1,n2)
{this.p=p;
this.t=t; }
public override double Metod1(){
double Q=(n2-n1)/n1;
return Q;
}
public override double Metod2(){
double Qp=Metod1()*(t-p+1);
return Qp; } }
class program{
static void Main(){
Console.Write(" название : ");
string N=Console.ReadLine();
Console.Write(" число зрителей в начале : ");
double N1=double.Parse(Console.ReadLine());
Console.Write(" число зрителей в конце : ");
double N2=double.Parse(Console.ReadLine());
Klass1 ob1=new Klass1(N,N1,N2);
Console.Write(" год написания пьесы : ");
int P=int.Parse(Console.ReadLine());
Console.Write(" текущий год : ");
int T=int.Parse(Console.ReadLine());
Klass2 ob2=new Klass2(N,N1,N2,P,T);
Console.WriteLine(" качества : "+ob2.Metod1());
Console.WriteLine( " Qp = "+ob2.Metod2());} } }

Download 484.63 Kb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   20




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