C# Metotlar

C# Metotlar
C# Metotlar konu anlatımı
1

Bu yazımızda C# Metotlar konu anlatımı hakkında anlatımlar yapacağız.

İçindekiler

Metot Nedir ?

Nesne yönelimli programlama dillerinde her şey sınıflar (class) içinde tanımlanır. Bir sınıfa ait değişkenler o sınıfın özelliklerini ortaya koyar. Sınıf değişkenleri, çoğunlukla, özellik (property) denilmektedir. Benzer olarak bir sınıf içinde tanımlı fonksiyonlar o sınıfın tavır, davranış ve eylemlerini ortaya koyar. Bu ayrımı gözetmek için olsa gerek OO Programlama dillerinde fonksiyonlara metot denir. Bundan sonra, biz bu geleneğe uyarak, bir sınıfta tanımlanan değişken yerine özellik, fonksiyon yerine metot diyeceğiz. Özellikle alışkanlıklarımıza dayanan vurgu gerektiğinde değişkene ve fonksiyon adlarını kullanmaktan çekinmeyeceğiz. Okurun değişken ile özelliği ve fonksiyon ile metodun eş
anlamlı olduğuna daima anımsayacağını umuyoruz.

Metot Kavramı
Matematik derslerinde bildiğimiz fonksiyon tanımlamadan başka bir şey değildir. Metotlar tek başlarına çalıştırılabilen yapılar değildir. Metot, metodu çağıran ana program için faydalı işler yapar. Metodun iş yapması için kendisini çağıran metottan aldığı bilgilere parametre(argüman), kendisini çağıran fonksiyona döndürdüğü bilgiye ise geri dönüş değeri (return value)’dir.

Bu tanımlama kısmı

Yukarıdaki satırda fonksiyonun başlığı diyeceğiz. Fonksiyonun adı Karesinibul bitişik bir sözcüktür.
fonksiyon adının hemen sağ tarafına yazılan (short x) ifadesi, fonksiyonun tanım kümesinin Short veri tipi olduğunu ve
değişkenimizin x olduğunu göstermektedir. int olarak yazdığımız kısım ise int veri tipi fonksiyonun değer bölgesidir.

 

y = x * x çarpma ve atama işlemeleri bu kısımda yapılmaktadır. Fonksiyonun alacağı değeri ise return anahtar kelimesi ile belirtiyoruz.

Parametreler ve Yerel Değişkenler

Bilgisayar programlama dillerinde, fonksiyonun başlığındaki değişkene parametre denilir.
Şimdi ise Main() fonksiyonunu içeren bir sınıf içindeki kodumuzu görelim

fonksiyonun {} gövdesinde int tipinde bir y değişkeni tanımlamıştık. Bu yüzden bu değişken iki farklı nitelikte değişken kullanmaktadır. Baştaki (short x) değişkeni ve fonksiyon gövdesi içindeki int y değişkeni.

Bu iki değişkeni şöyle birbirlerinden ayırt edebiliriz.
fonksiyon başlıgındaki x değişkeni parametredir.
{} gövdesi içindeki y değişkenine fonksiyonel yerel değişkeni deriz.

Hazır Metotlar

C# derleyicisi zengin bir kütüphaneye sahiptir. Bu kütüphanede çok sayıda namespace, her namespace içinde sınıflar ve sınıflar
içinde pek çok işi görecek metotlar vardır. buna rağmen, kullanıcı gerekseme duyduğunda kendi namespace’lerini, sınıflarını ve
metotlarını serbest bir şekilde yaratabilmektedir.
Bunlar Write(), WriteLine(), Read(), ReadLine(), metotları Console sınıfına aittirler. isLower(), isUpper(), isDigit(), IsLetterOrdigit(), metotları Char Sınıfına aittir.

Main() Metodu

C# dilindeki programın bütün işlevini yaptıran ana metottur. Programın kullanacağı bütün deyimler tek başına içerebileceği gibi, modüler yapıda yazılan programlarda öteki sınıflarda tanımlanan metotlar ve değişkenleri çağırır ve belirlenen sırayla isleme sokar. her programda ana metot olma görevini üstlenen bir tane Main() metodu vardır. Başka bir tane olsa bile onlar o programda ana metot olma görevini
üstlenemezler.

Main () bir metot olduğuna göre, tanımı genel sözdizimi kurallarına uyar.

Şeklinde yazılmaktadır. args adını taşıyan parametresi string tipi bir array’dır.
Değer kümesi void kümesidir. Bu kümeye matematikteki boş küme örneğini söyleyebiliriz.
Hiçbir ögesi yoktu. Örnekte Main() metodu bir değer almıyor, başka bir metodu çağırıp onun işlevini yapmasını sağlıyor.

Özyineli (Recursive) Metotlar

Recursive (özyineli) metot kendi kendisini çağıran metottur. bilgisayar programcılığında zor problemleri çözen önemli bir algoritmaya sahiptir.

Yukarıdaki program bu kalıp bir çok özyinelemeli fonksiyonu döngü olarak çevirmemizi sağlamaktadır. Öncelikle bir while döngüsü kuruyorum. Bu while döngüsü ile aslında metodun tamamını dönerek metot içindeki kodları yinelemiş oluyorum Özyinelemeyi kıran şartımı bu döngüyü kıracak şekilde ayarlıyorum.

Geriye değer döndüren ve döndürmeyen metotlar

C# Metotlar
C# Metotlar konu anlatımı

Yukarıda resimde görmüş olduğunuz üzere dört adet metot ismi verilmiştir. Şimdi aşağıda bu metotlar ile ilgili anlatımlar ve örnekler vereceğim.

1.Geriye Değer Döndürmeyen ve Parametre Almayan metotlar.

Aşağıdaki kodda gördüğünüz gibi void anahtar sözcüğü kullanılarak metodun bir değer döndürmediğini belirtiyoruz. Bütün işlemler metot içerisinde yapılmıştır.

Ekran Çıktısı

2.Geriye Değer Döndürmeyen ve Parametre Alan metotlar.
Metotların bir diğer varyasyonu, herhangi bir türden bir veya daha fazla parametre almasıdır. Girilecek olan parametre sayısı için bir sınır yoktur.

İlk olarak kodumzuda kısakenar, uzunkenar ve alan int tipinde tanımlama yaptık daha sonra yapmış olduğumuz tanımlamayı alan = kısakenar * uzunkenar ile çarptırma işlemi yapıp çıkan sonucu alana eşit bir şekilde olarak ekrana yazdırma işlemi yaptık.

Ekran Çıktısı

3.Geriye Değer Döndüren ve Parametre Almayan metotlar.
Geriye değer döndürmede metotlar bir veri türünü, herhangi bir türden nesneyi geri döndürebilir. Yapmış olduğumuz bir metodu çağırdığımıza, oluşan veriyi bir başka değişkene aktarmak istediğimizde, return anahtar kelimemizi kullanırız. Geriye değer döndürme işlemini return anahtar kelimesini kullanarak yapabiliriz.
Şimdi Aşağıdaki kodumuzu bir göz atalım.

Ekran Çıktısı

4.Geriye Değer Döndüren ve Parametre Alan metotlar.

Ekran Çıktısı

Yukarıda Yapmış olduğumuz dört tana farklı program görüyor gibi gelebilir normalde farklı ama farklı değil gibi bu dört programın çıktıları bize her zaman aynı sonucu vermektedir. Sadece kullandıkları metotlar farklı gözükmektedir. Sonuç olarak yapılan işlemler aynıdır seçim size kalmıştır.

C# Metotlar konu anlatımı yazımız burada bitmiş bulunmaktadır.  Bizimle olduğunuz için teşekkürler…

Dilerseniz JAVA metotlar konusuna buradan ulaşabilirsiniz.

İlginizi Çekebilir

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


The reCAPTCHA verification period has expired. Please reload the page.

Yorumlar (1)

  1. 27 Mart 2021

    C# metotlar en sevdigim konu çok güzel özetlemişiniz ellerinize saglık teşekkür ederim

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


The reCAPTCHA verification period has expired. Please reload the page.