Object Oriented Programing ile alakalı bir kaç temel anlatım , umarım işinizi görür.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace OOP_Class_1
{
//PRIVATE bir ACCESS MODIFIER (Erisim Düzenleyici)'dir. Bir nesneyi private olarak işaretlediysek, o nesneye yalnizca sahibi oldugu nesne icerisinden ulasabiliriz.
//PUBLIC bir ACCESS MODIFIER (Erisim Duzenleyici)'dir. Bir nesneyi public olarak isaretlersek o nesneye heryerden ulaşabiliriz.
class Araba
{
//Aşagıda yapmış olduğumuz işlemler, aslında birer değişken tanımlamaktan başka birşey değildir. Bu değişkenler, nesnemizin (arabamızın) değerlerini üzerinde taşıyan nesnelerdir. (FIELD)
private string _Markasi;
private string _Modeli;
private decimal _Fiyati;
private bool _SunroofVarMi;
//Property ; Degişkenlerimize hizmet etmekle yükümlü nesnelerdir. Bir property'nin amacı bağımlı oldugu değiskene değer götürmek ya da değisken üzerindeki değeri dış dünyaya açmaktir. Yani aslında dış dünya ile nesnemizin değişkenleri arasındaki kö
prüdür.
//Neden böyle bir kö
prüye ihtiyaç var? Çünkü, değişkenlerimiz koruma altında tutulmalıdır. Bunun asıl sebebi verileri üzerinde barındırmasıdır.
PROPERTY'LER UZERLERİNDE DEGER TASIMAZ
//Aşağıdaki işleme OOP kavramları içerisinde yer alan "Encapsulation" - kapsülünden cikarma - denir. Türkcesi, field'i property seviyesi getirmek...
public string Markasi
{
get
{
//Dış dünyadan cağrılan property'nin dışarıya hangi değeri göndermesi gerektiğini belirtiriz.
return this._Markasi;
}
set
{
//Bu property'e bir değer atandığında, bu degeri nereye göndersin. (Asağıdaki value, dışarıdan gelen değer anlamina gelir, sabittir)
this._Markasi = value;
}
}
public string Modeli
{
get { return this._Modeli; }
set { this._Modeli = value; }
}
//Değişken adımızla property adımız aynı olmak zorunda DEGİLDİR
public decimal Ucreti
{
get { return this._Fiyati; }
set { this._Fiyati = value; }
}
public bool SunRoofVarMi
{
get { return this._SunroofVarMi; }
set { this._SunroofVarMi = value; }
}
}
}