Nesne Yönelimli Programlama OOP Temelleri
Sinan Arslan
05:12
abstract class
,
base class
,
constructor
,
derived class
,
object oriented programming
,
OOP
,
oop encapsulation
,
oop polymorphism
,
override
,
sealed class
,
virtual method
Hiç yorum yok
Merhaba Arakadaşlar,Bu bölümde oop temellerine değiniyor olacağız.Bu aşamada aşağıda yaptığımız örnek uygulama içindeki classları paylaşıyor olacağım
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace OopTemelleri { abstract public class Canlilar { #region Access Modifers /* public : public olarak işaretlenen öge kod blogu ve proje heryerden erişebilen access modifers dır private : private olarak tanımlanan öge sadece tanımladığı class içersinden yada o kod blogu erişebilinir * protected :protected olarak tanımlanan öge sadece tanımladığı class ve o class dan türemiş diğer class lardan erişebilinir * internal:Bulunduğu assembly (DDL veya exe )içinden erişebilinir * protected internal:bulunduğu classın içinden veya o classdan türemeiş diğer classlarda ve aynı (DDL veya exe)içinden (assembly)erişebilinir */ #endregion #region Fields private string _solunum; private string _beslenme; private string _ureme; private string _boşaltim; #endregion #region properties public string Beslenme { get { return _beslenme; } set { _beslenme = value; } } public string Boşaltim { get { return _boşaltim; } set { _boşaltim = value; } } public string Ureme { get { return _ureme; } set { _ureme = value; } } public string Solunum { get { return _solunum; } set { _solunum = value; } } #endregion public abstract void Beslen(); public abstract void Suic(); /* 1) Kendinden türeyecek classlara base olmak için yazılırlar * 2)Abstract metodların sadece gövdeleri yazılır kendinden türeyen classlarda zorunlu override işlemine tabi tutulur * 3)Abstract metodlar zorunlu public tir * Miras larak kullanılırlar */ } }
======================================================================
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace OopTemelleri { public class Bitkiler:Canlilar { private string _fotosentez; public string Fotosentez { get { return _fotosentez; } set { _fotosentez = value; } } public override void Beslen() { throw new NotImplementedException(); } public override void Suic() { throw new NotImplementedException(); } } }
====================================================================
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace OopTemelleri { public class Hayvan :Canlilar { private string _yuru; public string Yuru { get { return _yuru; } set { _yuru = value; } } public override void Beslen() { } public override void Suic() { } public virtual string YeniDogan() { return "Civciv"; } // virtual ezilebilir anlamı taşır } }
============================================================= using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace OopTemelleri { sealed class Insan:Hayvan// mühürnlenmiş anlamına gelir { private string _dusun; public string Dusun { get { return _dusun; } set { _dusun = value; } } public override string YeniDogan() { return "bebek"; } #region polymorfizim //birbirinden türeyen classlar içerindeki metodların isimlerinin aynı olması durumunda basedeki metod virtual anahtar kelimesi ile imzalanır ve diger classda override edilerek farklı davranması sağlanabilinir.Buna çok biçimlilik denir #endregion } } ===================================================================
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace OopTemelleri { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Hayvan hvn = new Hayvan(); MessageBox.Show(hvn.YeniDogan()); } private void Form1_Load(object sender, EventArgs e) { Insan ins = new Insan(); MessageBox.Show(ins.YeniDogan()); } } }
Video Anlatımı
OOP Temelleri paylaşan: sinan-d-arslan-1
Kaydol:
Kayıt Yorumları
(
Atom
)
Hiç yorum yok :
Yorum Gönder
Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.