C# Console dasturida funksiyadan foydalanish
using System;
namespace function_test
{
class Program
{
static void Main(string[] args)
{
int a = 5, b = 8;
Console.WriteLine(max(a, b));
Console.ReadKey();
}
static int max(int a, int b)
{
int max;
if (a > b)
max = a;
else
max = b;
return max;
}
}
}
Sinf
Sinf bu - ob'ektning tavsifi obʼekt esa sinfning namunasidir. Quyidagi namunaga eʼtibor bering. Bizda ichida ism, yosh va boshqa xususiyatlar bor bo'lgan odam sinfi bor, ya'ni namuna, bu namunani sinf deb atash mumkin. Ushbu sinf obʼektlari turli xil bo'lishi mumkin, masalan, ayrim kishilar bir ismga ega, boshqalari esa boshqa nomga ega. Haqiqiy shaxs shu sinfning ob'ektini ifodalaydi.
using System;
namespace ProgramName
{
class Person
{
public string name; // ismi
public int age; // yoshi
public void GetInfo()
{
Console.WriteLine("Ismi: "+name+"\nYoshi: "+age);
}
}
class Program
{
static void Main(string[] args)
{
Person tom;
Console.ReadKey();
}
}
}
Asosiy tushunchalar
C # tili to'liq ob'ektga yo'naltirilgan til hisoblanadi. Bu shuni anglatadiki, C # da dasturni o'zaro bog'langan va o'zaro ta'sir etuvch ob'ektlar sifatida ifodalash mumkin.
Ob'ektning tavsifi - bu sinf, ob'ekt esa sinfning namunasini ifodalaydi. Quyidagi o'xshashlikni ham keltirish mumkin. Hammamizda o’z ismiga, yoshiga va boshqa xususiyatlarga ega bo'lgan odam haqida ba'zi tasavvurlar mavjud. Ya'ni, ba'zi bir shablon - bu shablonni sinf deb atash mumkin. Amalda ushbu shablon boshqacha bo'lishi mumkin, masalan, ba'zi odamlar bir xil ismga ega, boshqalari boshqa ismga ega. Va haqiqiy shaxs (aslida ushbu sinfning namunasi) ushbu sinfning ob'ektini ifodalaydi.
Kelishuv bo’yicha konsol dastur loyihasi bitta sinfga ega – bu Program sinfi, undan dastur bajarilishi boshlanadi.
Aslida, sinf foydalanuvchi tomonidan aniqlanadigan yangi turni ifodalaydi. Sinf class kalit so'zi yordamida aniqlanadi:
class Shaxs
{
}
Sinf uchun uning bazaviy sinflarini (ajdodlari) va sinfning turli xil xususiyat (atribut) larini belgilaydigan bir qator shart bo’lmagan atributlar va xususiyatlarni belgilash mumkin:
[atributlar ] [spetsifikatorlar ] class sinf_nomi [ : ajdodlari ]
{sinf_tanasi}
Sinf qaerda aniqlanadi ?
Sinf nomlar fazosi ichida, nomlar fazosi tashqarisida, boshqa sinf ichida aniqlanishi mumkin.
Odatda, sinflar alohida fayllarga joylashtiriladi. Ammo biz yangi sinfni Program sinfi joylashgan faylga joylashtiramiz. Ya'ni, Program.cs fayli quyidagicha ko'rinishga ega bo’ladi:
using System;
namespace HelloApp
{
class Shaxs
{
}
class Program
{
static void Main(string[] args)
{
}
}
}
Sinfning barcha funktsional imkoniyatlari uning a'zolari - maydonlar (sinf o'zgaruvchilari uning maydonlari deyiladi), xususiyatlari, metodlari, hodisalari bilan ifodalanadi. Masalan, Shaxs sinfidagi maydonlarni va metodni aniqlaylik:
using System;
namespace HelloApp
{
class Shaxs
{
public string name; // ismi
public int age = 18; // yoshi
public void GetInfo()
{
Console.WriteLine($“Ismi: {name} Yoshi: {age}");
}
}
class Program
{
static void Main(string[] args)
{ Shaxs vali;
}
}
}
Bu holda Shaxs sinfi insonni anglatadi. name maydoni uning ismni, age maydoni esa odamning yoshini bildiradi. GetInfo metodi esa barcha ma'lumotlarni konsolga chiqaradi. Shaxs sinfidan tashqarida barcha ma'lumotlarni ko’rish o'zgaruvchilar va metod public modifikatori bilan aniqlanadi. Maydonlarda public o'zgaruvchilar bo'lgani uchun, ularga boshlang'ich qiymatlar berilishi mumkin, yuqoridagi misolda, age maydoniga 18 qiymati berilgan.
Sinf yangi tur bo'lgani uchun dasturda biz ushbu turni ifodalaydigan o'zgaruvchilarni aniqlashimiz mumkin. Demak, Main metodida Shaxs sinfini ifodalovchi vali o'zgaruvchisi aniqlangan. Ammo hozircha bu o'zgaruvchi hech qanday ob'ektni ifodalamaydi (ko’rsatmaydi) va u kelishuv bo'yicha null qiymatiga teng. Shuning uchun, avval Shaxs sinfining ob'ektini yaratishingiz kerak.
Do'stlaringiz bilan baham: |