Nesne Yönelimli Programlama OOP Temelleri

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

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.