oop polymorphism etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
oop polymorphism etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Nesne Yönelimli Programlama OOP Temelleri
Sinan Arslan
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
OOP Temelleri paylaşan: sinan-d-arslan-1
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ıtlar
(
Atom
)