Inkapsulatsiya
Inkapsulatsiya - foydalanuvchidan keraksiz ma’lumotlarni yashirish.Masalan kalkulatorning ishi ,u natijani chiqaradi lekin qanday ishlashini foydalanuvchiga
65
ko’rsatmaydi.Mashinaning tormoz bergandagi holati ,mashina to’xtaydi lekin qanday to’xtagani haydovchiga ko’rinmaydi. Odam sinfini yasash
using System;
using System.Text;
namespace inson
{
public class inson
{
public string Familya;
public string Ism;
public string Sharif;
public string Manzil;
public inson(string x, string y, string z, string q)
{
Familya = x; Ism = y; Sharif = z; Manzil = q;
}
public virtual void tavsif() {
Console.Write("Bu inson " + Familya + " " + Ism + " " + Sharif + " " + Manzil + " da yashaydi");
}
}
public class ishchi:inson
{
string Lavozim;
int Oylik;
public ishchi(string x, string y, string z, string q,string L1,int oy1):base(x,y,z,q)
{ Lavozim =L1; Oylik=oy1;} }
66
public class talaba:inson
{
public string uqishturi;
public talaba(string x, string y, string z, string q,string g):base(x,y,z,q)
{uqishturi=g;}
public override void tavsif() {
Console.Write("Bu talaba " + Familya + " " + Ism + " " + Sharif + " " + Manzil + " da yashaydi ");
Console.Write( uqishturi + " da o`qiydi!"); }
}
class Program
{
static void Main(string[] args)
{
talaba t = new talaba("olim","saidov","samadovich","buxoro","kontrak");
t.tavsif();
// inson i = t;
i.tavsif(); Console.ReadKey();
}
}
}
Kalkulator misoli:
using System;
using System.Text;
67
namespace aaaaaa
{
class Program
{
static void Main(string[] args)
{
Calculator calculator = new Calculator();
calculator.Go();
Console.ReadLine();
}
}
class Calculator
{
public void Go()
{
Instructions();
bool isQuit = false;
do
{
double i, j;
char operation;
Console.Write(" Birinchi sonni kiriting: "); i = Convert.ToDouble(Console.ReadLine()); Console.Write("Ikkinchi sonni kiriting: "); j = Convert.ToDouble(Console.ReadLine()); Console.Write("Arifmetik amalni yozing: "); operation = Convert.ToChar(Console.ReadLine());
Console.WriteLine();
switch (operation)
68
{
case '+': Console.WriteLine("{0} + {1} = {2}", i, j, (i + j)); break;
case '-': Console.WriteLine("{0} - {1} = {2}", i, j, (i - j)); break;
case '*': Console.WriteLine("{0} * {1} = {2}", i, j, (i * j)); break;
case '/': Console.WriteLine("{0} / {1} = {2}", i, j, (i / j)); break;
case '^': Console.WriteLine("{0} ^ {1} = {2}", i, j, Math.Exp(j * Math.Log(i))); break;
case 'q': { Console.WriteLine("n Ko'rishguncha"); isQuit = true; } break;
default:
{ Console.WriteLine("Yo'riqnomani diqqat bilan o'qing"); Instructions();
} break;
}
}
while (!isQuit);
}
void Instructions()
{
Console.WriteLine("Salom :)"); Console.WriteLine("'+' - qo'shish"); Console.WriteLine("'-' - ayrish"); Console.WriteLine("'*' - ko'paytirish"); Console.WriteLine("'/' - bo'lish");
69
Console.WriteLine("'^' - birinchi sonning ikkinchi darajasi");
Console.WriteLine("'q' - dasturdan chiqish");
//Console.ReadKey();
}
}
}
Xulosa:Bitiruv malakaviy ishini ikkinchi bobi c#da sinflar iyarxiyasiga bag’ishlanadi.Bu bobning birinchi bo’limida C# dasturlash tilida sinf va uning a’zolari haqida ma’lumotlar keltirilgan.Sinfni metodlari,metodlarni chaqirish,ularni joylashtirish,konstruktor haqida so’z yuritilgan.
Ikkinchi bobning ikkinchi bo’limida esa sinf osti ,sinf usti tushunchalariga izoh va misollar keltirilgan Bu bo’limda Merosxo’rlik haqida ma’lumotlar keltirilgan. Sinf osti tushunchalari haqida to’liq ma’lumot berilgan.
Uchinchi bo’limda abstract sinf ,uni qanday e’lon qilish,undan foydalanish haqida to’liq ma’lumotlar berilgan.Bundan tashqari bu bo’limda turli xil sinfga doir misollar (odam ,uchburchak sinflariga doir),polimorfizm tushunchasi va unga izoh ham berilgan.
70
XOTIMA
Hozirgi kunda C# dasturlash tili yuqori bosqichli dasturlash tillari ichida eng samarali dasturlash tillaridan hisoblanadi. C# dasturlash tilida dastur tuzish uchun Visual Studio 2010 muhitidan foydalanamiz. C# dasturlash tili obektga mo’ljallangan dasturlash tili hisoblanadi. BMIning birinchi bobida C# dasturlash tili va uning operatorlari haqida ma’lumotlar keltirilgan. Ma’lumotlarni kiritish va chiqarish turli xil oqimlar orqali amalga oshiriladi. Bu bobda konsol rejimda ma’lumotlarni ekran orqali kiritish va chiqarish amallari ko’rib chiqilgan. Birinchi bob 3 ta bo’limdan iborat. Birinchi bo’limda C# tilining sintaksisi, ma’lumotlar tiplari haqida ma’lumotlar keltirilgan. Har bir operatorning funksional imkoniyatlari misollar orqali tushuntirib berilgan. Ikkinchi bo’limda C# tilida ifoda, intruksiya va operatorlar haqida ma’lumotlar keltirilgan. Uchinchi bo’limda tarmoqlash, takrorlash operatorlari va ularni har xil variantlari misollar orqali tushuntirib berilgan. Bundan tashqari har bir operatorning funksional imkoniyatlari misollar orqali tushuntirib berilgan.
Ikkinchi bob C# dasturlash tilida sinf qanday yaratiladi va sinflar iyarxiyasini tashkil etish keltrilgan. Bu bob 3ta bo’limdan iborat. Birinchi bo’limda C# dasturlash tilida sinf va uning a’zolari haqida ma’lumotlar keltirilgan. Ikkinchi bo’limda Merosxo’rlik haqida ma’lumotlar keltirilgan. Sinf osti tushunchalari haqida to’liq ma’lumot berilgan. Uchinchi bo’limda Abstrakt sinflar. Polimorfizm haqida ma’lumotlar keltirilgan. Bunda mavjud metodlar o’rganilib misollar orqali tushuntirib berilgan.
71
Do'stlaringiz bilan baham: |