Methods
Bir object in davranışlarını belirleyen yapılara method denir.
class Person{
public string Ad { get; set; }
public string Dogum { get; set; }
public void Yazdir(){
Console.WriteLine($"Adı: {this.Name} / Yaşı: {this.YasHesapla}");
}
public int YasHesapla(){
return DateTime.Now.Year - this.Year;
}
}
// void Main fonksiyonu içerisinde
var p1 = new Person() {Ad="Ahmet", Dogum=1993};
p1.Yazdir();
// Çıktısı -> Adı: Ahmet / Yaşı: 27
Yukarıda öğrendiğimiz bilgilerle bir uygulama yapalım
/*
Araba isminde bir sınıf oluşturun.
Propertyler -> Marka, Model, Renk, Otomatik
Method lar -> Stop, Start, Slow, Fast
Kullanıcının seçimine göre bir method çalışacak
*/
class Araba{
public string Marka { get; set; }
public string Model { get; set; }
public string Renk { get; set; }
public bool Otomatik { get; set; }
public void Start(){
Console.WriteLine(this.Marka + " Çalıştı");
}
public void Stop(){
Console.WriteLine(this.Marka + " Durdu");
}
public void Slow(){
Console.WriteLine(this.Marka + " Yavaşlıyor");
}
public void Fast(){
Console.WriteLine(this.Marka + " Hızlanıyor");
}
public void Menu(){
string komut;
do{
Console.WriteLine("1-Start / 2-Stop / 3-Slow / 4-Fast / Ç-Çıkış");
Console.Write("Seçiminiz-> ");
komut = Console.ReadLine();
switch(komut){
case "1":
this.Start();
break;
case "2":
this.Stop();
break;
case "3":
this.Slow();
break;
case "4":
this.Fast();
break;
default:
Console.WriteLine("Yanlış Seçim");
break;
}
}
while(komut!="Ç");
}
}
static void Main(string[] args)
{
var audi= new Araba();
audi.Marka = "Audi";
audi.Model = "R8";
audi.Renk = "Siyah";
audi.Otomatik = true;
audi.Menu();
}
Method Parametreleri
class Islem{
public int Toplama ( int x , int y) {
Console.Write("Toplam: ");
return x+y;
}
// Dizi içine istenildiği kadar parametre gönderilebilir
public int SinirsizToplam (params int[] sayilar) {
int toplam = 0;
foreach (var sayi in sayilar)
{
toplam += sayi;
}
return toplam;
}
}
var islemler = new Islem();
Console.WriteLine(islemler.Toplama(5,5));
Console.WriteLine("****************");
Console.WriteLine(islemler.SinirsizToplam(5));
Console.WriteLine(islemler.SinirsizToplam(5,5));
Console.WriteLine(islemler.SinirsizToplam(5,5,5));
Console.WriteLine(islemler.SinirsizToplam(5,5,5,5));
Console.WriteLine(islemler.SinirsizToplam(5,5,5,5,5));
Overload Methods
/*
Araba class ı için bir overload yapısı kurduk. Burada ek olarak kullanıcıdan
arabanın max hızını istiyoruz. Kullanııcı hızlanmak istediğinde bir hız
bilgisi istiyoruz. Eğer kullanıcının girdiği hız bilgisi arabanın max
hızından fazla ise overload mesajı olarak hızı aşmamasını söyleyebiliriz.
*/
class Araba{
public string Marka { get; set; }
public string Model { get; set; }
public string Renk { get; set; }
public bool Otomatik { get; set; }
public int MaxHiz { get; set; }
public void Start(){
Console.WriteLine(this.Marka + " Çalıştı");
}
public void Stop(){
Console.WriteLine(this.Marka + " Durdu");
}
public void Slow(){
Console.WriteLine(this.Marka + " Yavaşlıyor");
}
public void Fast(){
Console.WriteLine(this.Marka + " Hızlanıyor");
}
public void Fast(int km){
if(km>this.MaxHiz){
Console.WriteLine("Max hızı aşmayınız");
}else{
Console.WriteLine(this.Marka +" "+ km + " hızına getiriliyor");
}
}
public void Menu(){
string komut;
do{
Console.WriteLine("1-Start / 2-Stop / 3-Slow / 4-Fast / Ç-Çıkış");
Console.Write("Seçiminiz-> ");
komut = Console.ReadLine();
switch(komut){
case "1":
this.Start();
break;
case "2":
this.Stop();
break;
case "3":
this.Slow();
break;
case "4":
Console.Write("Hız bilgisi girmek istiyor musunuz: ");
string secim = Console.ReadLine();
if(secim=="e"){
Console.Write("Hız: ");
int km = int.Parse(Console.ReadLine());
this.Fast(km);
}else{
this.Fast();
}
this.Fast();
break;
default:
Console.WriteLine("Yanlış Seçim");
break;
}
}
while(komut!="Ç");
}
}
class Islem{
public int Toplama(int a, int b){
return a+b;
}
public int Toplama(int a, int b, int c){
return a+b+c;
}
public int Toplama(int a, int b, int c, int d){
return a+b+c+d;
}
}
class Program
{
static void Main(string[] args)
{
var opel = new Araba();
opel.Marka = "Opel";
opel.Model = "Astra";
opel.Renk = "Siyah";
opel.Otomatik = true;
opel.MaxHiz=250;
opel.Menu();
}
Constructor Methods
ctor
ile otomatik constructor oluşturabiliriz.
public Araba(string model, string marka, string renk, bool oto, int hiz)
{
this.Marka = marka;
this.Model = model;
this.Renk = renk;
this.Otomatik = oto;
this.MaxHiz = hiz;
}
var audi = new Araba("Audi","R8","Siyah",true,350);
Console.WriteLine(audi.Marka);
Console.WriteLine(audi.Model);
Console.WriteLine(audi.Renk);
Console.WriteLine(audi.Otomatik);
Console.WriteLine(audi.MaxHiz);
Last updated