// 1. sınıfımız
public class Kullanici
{
int k_id;
string adi;
public int KID
{
get { return k_id; }
set { user_id = value; }
}
public string Adi
{
get { return adi; }
set { adi = value; }
}
}
// 2. sınıfımız
public class Pass
{
int k_id;
string sifre;
public int KID
{
get { return k_id; }
set { user_id = value; }
}
public string Sifre
{
get { return sifre; }
set { sifre = value; }
}
}
//eğer veri tabanına bu nesneleri yollamak istiyorsanız... aşağıdaki methoda kalıtım yoluyla değerleri yollayabilirsiniz...
//Bütün objectler için kullanılacak olan method.
public void Kaydet(object obj)
{
//obj tipine göre ilgili sql cümlesini oluştur.
sql = INSERT INTO User (Alan1, Alan2, ….. ,AlanN) VALUES (Deger1, Deger2, …., DegerN)
//veritabanına sql cümlesini gönder. Böylece obj ilgili tabloya kaydedilmiş olacak.
}
**********************************************
yukarıdaki örnektede olduğu gibi..
.NET framework sınıf hiyerarşisinde bütün sınıflar birer nesnedir. Diğer yandan tüm nesneler, object sınıfından türetilmiştir. Fakat kalıtımın (inherit) direkt olarak object sınıfından yapıldığını belirtmeye gerek yoktur
public class Nesnem : Object -> Açık bir şekilde belirtmeye gerek yok.
{
//private – public - protected değişkenler
//methodlar
}
metoda object parametresini göndererek dinamik olarak nesneyi tanımlamak işimizi kolaylaştıracaktır.
public void Method(object obj)
{
.....
}
Method içerisinde obj tipinin tam olarak açığa çıkartılabilmesi için birden fazla yöntem mevcut. Bunlardan en basiti obj tipinin istediğiniz object tipinde olup olmadığına bakarak metodun ne yapacağına karar vermek. Bunu yukarıda da bahsettiğim gibi bütün sınıfların dolaylı olarak türetildiği Object sınıfının GetType() metodu ile yapıyoruz.
Object sınıfında tanımlı 3 method daha var. Bunlar;
bool Equals(object, [object]) -> iki nesneyi karşılaştır eşit ise true, değilse false dönder
int GetHashCode() -> nesneyi aynı gruptaki diğer nesnelerden ayırmak için kullanılabilir.
(Tablo PrimaryKeyID si dönderilebilinir mesela.)
string ToString() -> bu method ise türetilen sınıfta ezilmediği (override edilmediği) durumlarda sınıf adını verir.
Bizim örnekte : Nesnem
public override string ToString()
{
return "Nesnenin adı = BenimNesnem";
}
public override int GetHashCode()
{
return 1;
}
-------------------------------------------------------------------
yazan:: Azer B.
C# Kalıtım Nesneleri Oluşturma
C# Kalıtım Nesneleri Oluşturma
Konuyu Okuyanlar: 1 Ziyaretçi