Class, nesnelerin özelliklerini, davranışlarını ve başlangıç durumlarını tanımlamak için kullanılan şablonlara verilen isimdir.
Class tan türetilen her bir veri yapısına object denir.
Bir class içerinde değişken olarak tanımlanan bilgilere property denir.
Bir object in davranışlarını belirleyen yapılara method denir.
class Ogrenci{
public int OgrNo { get; set; }
public string Ad { get; set; }
public string Sube { get; set; }
}
// void Main fonksiyonu içerisinde
Ogrenci ogr1 = new Ogrenci();
ogr1.Ad = "Ahmet";
ogr1.OgrNo = 123;
ogr1.Sube = "10D";
Console.WriteLine($"Adı: {ogr1.Ad} No: {ogr1.OgrNo} Şube: {ogr1.Sube}");
/*
Birden fazla bilgi yazdırmak için liste içine alıp döngüde çalıştırılabilir.
*/
Ogrenci[] ogrenciler = new Ogrenci[5];
ogrenciler[0] = ogr1;
ogrenciler[1] = ogr2;
ogrenciler[2] = ogr3;
ogrenciler[3] = ogr4;
ogrenciler[4] = ogr5;
for(int i = 0; i<ogrenciler.Length;i++){
Console.WriteLine($"{i} - {ogrenciler[i].Ad} {ogrenciler[i].OgrNo} {ogrenciler[i].Sube} ");
}
prop yazarak otomatik olarak bir property oluşturulabilir.
Yukarıdaki bilgilerle bir uygulama yapalım.
/*
1-) Product class => name, price, description
2-) Sınırsız sayıda ürün bilgisini alıp bir dizinin içinde saklayınız.
3-) Ürün adetini kullanıcı belirtsin
4-) Eklenen ürünler listelensin
*/
using System;
namespace Classlar
{
class Product{
public string Name { get; set; }
public double Price { get; set; }
public string Description { get; set; }
}
class Program
{
static void Main(string[] args)
{
Console.Write("Adet: ");
int adet = int.Parse(Console.ReadLine());
Product[] products = new Product[adet];
int i=0;
Product prd;
do{
prd = new Product();
Console.Write("Ürün Adı: ");
prd.Name = Console.ReadLine();
Console.Write("Ürün Fiyatı: ");
prd.Price = double.Parse(Console.ReadLine());
Console.Write("Ürün Açıklaması: ");
prd.Description = Console.ReadLine();
products[i] = prd;
i++;
}
while(adet>i);
Console.WriteLine("*****************");
for (int j = 0; j < products.Length; j++)
{
Console.WriteLine($"Ürün Adı: {products[j].Name} - Ürün Fiyatı: {products[j].Price} - Ürün Açıklaması: {products[j].Description}");
}
}
}
}