C# TA MİRAS (İNHERİTANCE) KAVRAMI

Değerli Arkadaşlar bu yazımda sizlere C# ta miras kavramını anlatacağım C++ dilini kullananlar bu kavrama yabancı olmayacaklardır ancak C# ta bu olay biraz daha farklı olacağını göreceksiniz.Bunu bazı kişiler avantaj olarak görselerde tam tersini düşünenlerde mevcuttur onun için siz kendiniz öğrendikten sonra buna karar vereceksiniz şimdi yazımıza başlayalım.

Şimdi sizlere miras kavramının yani bazı yerlerde kalıtım diyede geçen kavramın programlamada ne anlama geldiğini açıklayacam. Miras kavramı,Oject Oriented Programming!in (Nesne Yönelimli Programlama) üç temel  prensibinden bir tanesidir.

 Diğer iki prensip ise encapsulation(Sarmalama) ve polymorphism(Çok biçimlilik)’dir. Bu yazımda diğer iki kavrama  değinmeyeceğim. En sade şekliyle: inheritance sayesinde bir sınıfın metodlarını başka bir sınıfta aynen kullanabiliriz. Eğer daha önce nesne tabanlı bir programlama dili kullandıysanız, (Java ve C++) C#’ta inheritance’a çok çabuk öğrenirsiniz.


Şimdi Sizlere bir olay üzerinden bu kavramı daha geniş anlatayım biliyorsunuz ki olaylarla senaryolarla uygulamalar geliştirmek yazılım mühendisliğinin temelidir.

Senaryo: Üniversite içerisinde öğrenci ve öğretmenleri tutan bir veritabanı kurulacak bu veritabanı üzerinden işlem yaparkende temel bazı İnterface ler oluşturulup ardından bunlardanda yine temel sınıflar oluşturulurulması planlanıyor şimdi bu class yapılarını oluşturalım.Aşağıda Classlar için gerekli etmenleri yazalım.

      Kişi Özellikleri

  • Ad
  • Soyad
  • Yaşadığı Şehir
  • Yaş

       Öğretmen

  • Ad
  • Soyad
  • Yaşadığı Şehir
  • Yaş
  • Bitirdiği Üniversite
  • Alanı

Öğrenci

  • Ad
  • Soyad
  • Yaşadığı Şehir
  • Yaş
  • Bölümü

Yukarıdaki Öğrenci ve Öğretmen Classlarına baktığımız zaman ilk 4 özellik ortak o zaman ilkin eğer ben Kişi Özellikleri diye bir class  oluşturmuşsam ve ardından da öğretmen classını oluştururken bu ilk 4 satırdaki özellikler için Öğretmen Classında yeni alanlar tutmama gerek yok bu özellikleri Kişi Özellikleri classından miras alarak kullanabilirim aynı şekilde öğrenci class ına da bunu uygularım böylece 2 classta kod yoğunluğu da azalmış olur ayrıcada effectif programlarda geliştirebiliriz bu yolla…

Şimdi bu Senaryoyu koda dökelim ve çıktısını görerek miras kavramını daha iyi anlamaya çalışalım.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
class Kisi_Ozellikleri
{
public string Ad;
public string Soyad;
public string YasadigiSehir;
public int Yas;
}

class Ogretmen : Kisi_Ozellikleri
{
public string BitirdigiUniversite;
public string Alani;
}

class Ogrenci : Kisi_Ozellikleri
{
}

class Program
{
static void Main(string[] args)
{
Ogretmen deveci = new Ogretmen();
Console.WriteLine(“\t\tOGRETMEN BILGILERI GELIYOR\n”);

deveci.Ad = “MEHMET SALIH”;
deveci.Soyad = “DEVECI”;
deveci.Alani = “YAZILIM MUHENDISI”;
deveci.BitirdigiUniversite = “KTU”;
deveci.Yas = 21;
deveci.YasadigiSehir = “TRABZON”;

Console.WriteLine(deveci.Ad);
Console.WriteLine(deveci.Soyad);
Console.WriteLine(deveci.Alani);
Console.WriteLine(deveci.BitirdigiUniversite);
Console.WriteLine(deveci.Yas);
Console.WriteLine(deveci.YasadigiSehir+”\n\n”);

Console.WriteLine(“\t\tOGRENCI BILGILERI GELIYOR\n”);
Ogrenci mehmet = new Ogrenci();
mehmet.Ad = “SALIH”;
mehmet.Soyad = “DEVECI”;
mehmet.YasadigiSehir = “SANLIURFA”;
mehmet.Yas = 22;

Console.WriteLine(mehmet.Ad);
Console.WriteLine(mehmet.Soyad);
Console.WriteLine(mehmet.Yas);
Console.WriteLine(mehmet.YasadigiSehir);

Console.ReadLine();

}}
}

Şimdi Kodun Çıktısını görelim…

Böylelikle Bir yazımızın daha sonuna geldik bir sonraki yazıda buluşmak dileğiyle Esen Kalın….!!!

Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi
İhtiyacınız var [email protected] adresine mail atarak Bizimle iletişime geçebilirsiniz.

– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri

About Mehmet Salih Deveci

I am Founder of SysDBASoft IT and IT Tutorial and Certified Expert about Oracle & SQL Server database, Goldengate, Exadata Machine, Oracle Database Appliance administrator with 10+years experience.I have OCA, OCP, OCE RAC Expert Certificates I have worked 100+ Banking, Insurance, Finance, Telco and etc. clients as a Consultant, Insource or Outsource.I have done 200+ Operations in this clients such as Exadata Installation & PoC & Migration & Upgrade, Oracle & SQL Server Database Upgrade, Oracle RAC Installation, SQL Server AlwaysOn Installation, Database Migration, Disaster Recovery, Backup Restore, Performance Tuning, Periodic Healthchecks.I have done 2000+ Table replication with Goldengate or SQL Server Replication tool for DWH Databases in many clients.If you need Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS Consultancy and Training you can send my email adress [email protected].-                                                                                                                                                                                                                                                 -Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS ve linux Danışmanlık ve Eğitim için  [email protected] a mail atabilirsiniz.

2 comments

  1. Wow, amazing blog layout! How lengthy have you ever been blogging for? you made blogging look easy. The overall look of your site is magnificent, as well as the content!

  2. I know this if off topic but I’m looking into starting my own blog and was curious what all is needed to get setup? I’m assuming having a blog like yours would cost a pretty penny? I’m not very internet savvy so I’m not 100 sure. Any recommendations or advice would be greatly appreciated. Kudos

Leave a Reply

Your email address will not be published. Required fields are marked *