Programlama Dilinde Metotlar: Metot Oluşturma, Parametre ve Argüman, Değer ve Referans Veri Tipleri, ve Daha Fazlası - Csharp Eğitim Dünyası

Top Ad unit 728 × 90

Konularımız

random
[post_ad]

Programlama Dilinde Metotlar: Metot Oluşturma, Parametre ve Argüman, Değer ve Referans Veri Tipleri, ve Daha Fazlası

 

 

  METODLAR

Bir yazılım geliştiricisi, kod yazarken birçok işlemi birbiri ardına gerçekleştirir. 

  Projenin boyutu büyüdükçe kod miktarı da artar ve işler karmaşık hale gelir. 

  Kod gruplarının tekrarlanması, kod satırlarının kontrolünün zorlaşması ve aynı görevi yerine getiren kod bloklarından hata alındığında tamamını düzeltme gereksinimi ortaya çıkar. 

  Bu sorunların üstesinden gelmek için fonksiyonel programlama dillerinde fonksiyon, nesne tabanlı programlama dillerinde ise metot kullanılır. 

   Metotlar, belirli işlemleri gerçekleştirmek için oluşturulurlar ve kod akışında işlem sırası geldiğinde kullanılırlar. 

   Bu sayede yazılım geliştiricileri aynı işlemi tekrar tekrar yazmak zorunda kalmazlar, daha az kod satırı yazılır, kod karmaşıklığı önlenir ve kodun okunabilirliği artar. 

   Ayrıca, aynı işlevi farklı yerlerde gerçekleştiren kodun yönetimi tek bir yerden yapıldığı için kod yönetimi ve hata yakalama daha kolay hale gelir. 

   Bu avantajların yanı sıra, tek bir yerden yönetim sayesinde kod kolayca geliştirilebilir.

  • Metot Oluşturma 

 Metotlar belirli kurallara uygun olarak tanımlanır. 

Bu kurallar şunlardır: 

  1. Metotlar bir isimle tanımlanır ve değişken tanımlarında geçerli olan kurallar metot isimlerinde de geçerlidir. 
  2. Metotlar belirli bir erişim seviyesine sahiptirler. 
  3. Metotlar dönüş değeri olabilir. Eğer dönüş değeri yoksa, void anahtar kelimesi kullanılmalıdır. 
  4. Metotlar parametre alabilirler ve birden fazla parametre varsa parametreler virgül (,) ile ayrılır.
Erişim Belirleyicisi, bir program içinde bir metodun nereden erişilebileceğinin tanımlandığı alandır. Bu alanda, public, private, protected gibi erişim belirleyicileri kullanılabilir. Eğer metoda herhangi bir erişim belirleyici belirtilmezse, varsayılan olarak private erişim belirleyici kullanılır ve metodun yalnızca yazıldığı sınıf içinde erişilebilir olduğu anlamına gelir.

• Private anahtar kelimesi: Metodun sadece yazıldığı sınıf içerisinde çağrılıp kullanılabileceği anlamı taşır.
• Public anahtar kelimesi: Metodun her yerden çağrılıp kullanılabileceği anlamı taşır.
• Protected anahtar kelimesi: Metoda sadece yazıldığı sınıf ve o sınıftan türetilmiş sınıflardan erişebilmesi anlamını taşır.

Bu bilgiler, programlamada metodların erişimini düzenlemenin önemini vurgulamaktadır. Erişim belirleyicilerinin doğru kullanımı, yazılımın güvenliğini artırır ve kodun daha iyi yönetilebilmesini sağlar.

Niteleyici, programlamada opsiyonel bir özelliktir ve kullanımı zorunlu değildir. İleri seviye programlama tekniklerinde kullanılan static, abstract, virtual, sealed gibi anahtar kelimeleri temsil eder. 

Metotlar içinde genellikle static anahtar kelimesi kullanılır.

   Static anahtar kelimesi ile oluşturulan metotlar bellekte sabit bir hale getirilirler. Bu nedenle, metodun kullanımı kolaylaşır ancak bellekte performans düşüklüğü yaratabilir. 

   Önemli bir nokta, static anahtar kelimesi kullanılmadan oluşturulan metotların, çağırılırken bağlı olduğu sınıftan new metodu (nesne oluşturma) ile tanımlanarak çağrılması gerektiğidir.

   Dönüş Tipi, bir metot çalıştıktan sonra dönmesi gereken sonucun türünü belirler. Bu önceden tanımlanmış tiplerden, örneğin int veya string olabilir, ancak aynı zamanda kendi tanımladığımız bir tipte de olabilir. 

   Eğer geriye herhangi bir değer döndürmeyen bir metot yazılacaksa, dönüş tipi void olarak belirtilir.

Metot Adı, metodu çağırmak için kullanılan anahtar kelimedir.

Parametre Listesi, bir metotun parametre alıp almamasının yazılımcıya bırakıldığı bir bölümdür. 

   Kullanılacak parametreler, metot adından sonra açılan parantezin sonrasında sırayla tip adı ve değişken adı şeklinde tanımlanır. 

   Var olan diğer parametreler arasında virgül kullanılarak aynı şekilde yazılır.

Parametreler, program tarafından metoda gönderilmesi gereken değişkenlerdir.

Metot, bu gelen parametrelere göre kod bloğu içinde işlem yapar.

  • Main Metodu ve Özel İfadeler
    • Main() Metodu

Main() metodu, C# programlama dilinde en önemli ve özel metotlardan biridir. 

          Bu metot, bir C# uygulamasının giriş noktasıdır ve program çalıştırıldığında ilk olarak bu metot çalıştırılır.

            Main() metodu, herhangi bir dönüş değeri almayan (void) ve statik (static) bir metottur. Program çalıştırıldığında, Main() metodu otomatik olarak çağrılır ve uygulama bu metodu çalıştırmaya başlar. 

        Main() metodu, uygulamanın giriş noktası olarak işlev görür ve diğer tüm metotlar bu metot üzerinden çağrılır.

       Main() metodu, genellikle programın çalıştırılması sırasında kullanıcı tarafından verilecek olan komut satırı argümanlarını (command-line arguments) almak için kullanılır. 

     Bu argümanlar, programın çalışması için gerekli olan bazı parametreleri içerebilir. 

   Main() metodu bu argümanları alır ve bu argümanlara göre programın ilgili işlemlerini yapar.


          Özetle, Main() metodu, bir C# programının giriş noktasıdır ve uygulamanın çalışmasını sağlamak için gereklidir. Bu metot, programın gerekli işlemlerini yapmak için diğer metotları çağıran ve programın kontrolünü sağlayan önemli bir rol oynar.

• Return Anahtar Sözüğü

return anahtar sözcüğü, bir fonksiyon veya metot içerisinde kullanılarak, fonksiyonun çağrıldığı yere bir değer veya nesne döndürmek için kullanılır.

• This Anahtar Sözcüğü

This anahtar sözcüğü, global değişkenlerin referans ile metot içerisinde kullanılmasını sağlar. Böylece metot içerisinde bulunan benzer değişken adlarında sınıfın üyeleri ile metodun üyeleri arasında ayrım sağlanır.

Örnek kullanımı aşağıdaki gibi olabilir:

public class Ogrenci
{
    private string adi;
    private int yasi;

    public Ogrenci(string adi, int yasi)
    {
        this.adi = adi; // "this" anahtar sözcüğü sayesinde, "adi" değişkeni global alandan alınır
        this.yasi = yasi; // "this" anahtar sözcüğü sayesinde, "yasi" değişkeni global alandan alınır
    }

    public void BilgileriYazdir()
    {
        Console.WriteLine("Öğrencinin adı: {0}", adi); // "adi" değişkeni global alandan alınır
        Console.WriteLine("Öğrencinin yaşı: {0}", yasi); // "yasi" değişkeni global alandan alınır
    }
}


   Bu örnekte "Ogrenci" adında bir sınıf tanımlanmıştır. Bu sınıfın "adi" ve "yasi" adında iki tane özel değişkeni vardır. "Ogrenci" sınıfının yapıcı metodu ("constructor"), "adi" ve "yasi" değerlerini alır ve bu değerleri sınıfın özel değişkenlerine ("adi" ve "yasi") atar. "BilgileriYazdir" adında bir metot da tanımlanmıştır.                                                                             Bu metot, "adi" ve "yasi" özel değişkenlerini ekrana yazdırır.
Gördüğünüz gibi, yapıcı metot ve "BilgileriYazdir" metodu içinde "this" anahtar sözcüğü kullanılmıştır. 

        Böylece, "adi" ve "yasi" gibi benzer adlara sahip olan değişkenlerin sınıfın özel değişkenleri olduğu belirtilmiştir.

          Bu sayede, "adi" ve "yasi" değişkenleri global olarak tanımlanmış olsalar bile, "this" anahtar sözcüğü sayesinde bu değişkenlerin sınıfın özel değişkenleri olduğu belirtilerek doğru şekilde kullanılması sağlanmıştır.


  • Parametre ve Argüman

Parametre tanımı: Bir metotun girdi olarak beklediği değişkenlerdir. Bu değişkenler, metot imzasında belirtilen tiplerde olmalıdır.

Argüman tanımı: Bir metot çağrısında, belirlenen parametrelerin gerçek değerleridir. Argümanlar, parametrelerin sırasına uygun olarak belirtilmelidir.


  • Metot Türleri

    Geriye Değer Dönmeyen Metotlar (void): Bu tür metotlar, herhangi bir değer döndürmezler.

 Sadece işlemler yapar ve programın akışını değiştirirler. Örneğin, ekrana bir mesaj yazdırmak için kullanılabilirler.

   Geriye Değer Dönen Metotlar: Bu tür metotlar, bir değer döndürürler. Bu değer, metot tarafından hesaplanan veya işlenen verilerin sonucu olabilir. Örneğin, bir metot, iki sayıyı toplar ve toplamı geri döndürür.


    Parametre Almayan Metotlar: Bu tür metotlar, herhangi bir parametre almadan çalışırlar. Bu nedenle, metot içinde kullanılacak veriler önceden tanımlanmış olmalıdır.


     Parametre Alan Metotlar: Bu tür metotlar, bir veya daha fazla parametre alırlar. Bu parametreler, metot tarafından işlenecek verileri belirler. Örneğin, bir metot, iki sayı alabilir ve bu sayıların toplamını hesaplayabilir.


     Yöntem Aşırı Yüklemesi (Method Overloading): Bu tür metotlar, aynı isimle birden fazla kez tanımlanır ve her biri farklı parametreler alır. Bu sayede, aynı işlevi farklı tipte veya sayıda verilerle kullanmak mümkün olur.

  • Metot Çağrıları 

        Metot çağırma, bir metodu çalıştırmak için kullanılan kavramdır. Metodlar, yalnızca lokal alanda çağrılabilirler ve global alanda kod bloğu olarak dururlar. 

C# programlama dili, metotların kullanımını kolaylaştırmak için bazı ipuçları sunar.

   Örneğin, oluşturulan metoda açıklama eklemek için metot imzasının üzerine yan yana üç adet slash işareti (///) eklenir. Ayrıca, otomatik açılan summary aralığına metodun yaptığı işlemlerle ilgili kısa bir açıklama eklenebilir. 

    Bu sayede, metodun hangi görevi yerine getirdiği diğer kullanıcılar tarafından kolayca anlaşılabilir. 

Metod adının üzerine gelindiğinde ise açıklama görüntülenebilir.

  • Değer ve Referans Veri Tipleri 

C# programlama dilinde, veri tipleri değer tipi ve referans tipi olmak üzere ikiye ayrılır. Değer tipleri, bellekte stack alanında oluşturulur ve değişkenler doğrudan bellekteki değerleri tutarlar. Bu tür veri tipleri arasında bool, char, int, float ve double gibi temel veri tipleri bulunur.

Referans tipleri ise, bellekte heap alanında oluşturulan nesnelerin adreslerini tutarlar. Bu tür veri tipleri arasında sınıflar, arayüzler, diziler ve delegeler gibi karmaşık yapılar bulunur. Referans tipleri, değişkenlerin bellekteki adreslerini tutarak, aslında nesneye işaret ederler.

Değer tipleri ile referans tipleri arasındaki temel fark, bellekteki yerleşim yerleridir. Değer tipleri stack bellek bölgesinde oluşturulurken, referans tipleri heap bellek bölgesinde oluşturulur. Değer tipleri direkt olarak bellekteki değerleri saklarlar ve hızlı bir şekilde erişilebilirlerken, referans tipleri bellekteki adresleri sakladıkları için biraz daha yavaş erişilebilirler.

Bu bilgi, C# programlama dilinde veri tipleri konusunda önemlidir. Değer tipleri ve referans tipleri arasındaki farkın anlaşılması, doğru türde değişkenlerin kullanılmasını sağlar ve programların daha verimli çalışmasına yardımcı olur.

Evet, değer tipleri hızlı bir şekilde erişilebilirler ve bellekte az yer kaplarlar. Bu nedenle, programcılar genellikle basit değişkenlerde (int, float, bool vb.) değer tiplerini kullanırlar.

Referans türleri ise, bellekte veri yerine adresi tutarlar. Bu nedenle, referans türleri bellekte daha fazla yer kaplayabilirler ve hızlı bir şekilde erişilemezler. Ancak, referans türleri daha karmaşık veri yapılarının oluşturulmasına izin verirler ve birbirleriyle ilişkili nesnelerin oluşturulmasını sağlarlar.

Bir ifade referans türleri içeriyorsa, işlemler nesnenin adresi üzerinden yapılır. Bu nedenle, referans türleri kullanırken, değişkenlerin değil, adreslerin işlendiğine dikkat etmek gerekir. Bu, programlama hatalarının önlenmesine yardımcı olur.

Değer Tipleri:

  1. int
  2. float
  3. double
  4. char
  5. decimal
  6. long
  7. bool
  8. short
  9. byte
  10. enum
  11. struct

Referans Tipleri:

  1. string
  2. class
  3. object
  4. array
  5. interface
  6. pointer
  7. delegate

Yukarıdaki listede, C# dilinde yer alan veri tipleri değer ve referans olmak üzere iki kategoriye ayrılmaktadır. Değer tipleri, veriyi doğrudan bellekte saklar ve hızlı bir şekilde erişilebilirken, referans tipleri verinin bellekteki adresini tutar ve daha fazla bellek kullanımına neden olabilirler.

  • Değer ve Referans ile Çağırma

 Programlama dilinde, metotlara gönderilen değişken türüne göre farklı durumlar meydana gelebilir. Değer türünde gönderilen parametreler için, metoda parametrenin bir kopyası gönderilir. Bu nedenle, metot içinde değiştirilen değer, asıl değişkeni etkilemez. Ancak referans türündeki bir değişken metoda gönderildiğinde, değişkenin referansı gönderilir. Bu nedenle, metot içindeki parametre olarak geçilen referans türündeki değişken üzerinde yapılan değişiklikler, orijinal değişkende gerçekleşir. Bu durum, referans türü değişkenlerinin bellekteki adresleri üzerinden işlem yapılması nedeniyle oluşur. Bu özellik, C# dilinde özellikle nesne tabanlı programlama yaparken oldukça faydalıdır.

  • Ref - Out Anahtar Sözcükleri

C# programlama dilinde, değer tipleri ve değer tipleri gibi davranan referans tipleri metotlara argüman olarak verildiğinde, bu değişkenlerin kopyaları üzerinden işlem yapılır. Bu nedenle, orijinal değişkenin değerinin değiştirilmesi istendiğinde, argüman olarak değişkenin referans adresi verilmelidir. Bu işlem, C# dilinde "ref" ve "out" anahtar sözcükleri ile gerçekleştirilir.

"Ref" ve "out" anahtar sözcükleri, metot oluşturulurken parametre ile kullanıldığında, argüman olarak verilen değişkenin referans adresine gider ve orijinal değer değiştirilebilir hale gelir. Ayrıca, bu anahtar sözcüklerin diğer önemli kullanım amacı, metotların birden fazla değer döndürmesini sağlamaktır. Bu durumda, C# programlama dili argüman olarak verilen değişkeni metot parametresine referans ile çağırma yöntemi ile gönderir.

  • Params Anahtar Sözcüğü

Normal metot tanımlamaları, belirli sayıda parametrelerle sınırlıdır ve işlemler bu parametreler üzerinde gerçekleştirilir. 

Ancak, bazı durumlarda kullanıcılar belirsiz sayıda parametre kullanarak işlem yapmak isteyebilirler. 

Bu durumda, Params anahtar sözcüğü devreye girer ve aynı tipte olmak koşuluyla metot içinde kullanılabilecek parametre sayısının bilinmediği durumlarda kullanılır.


Params anahtar sözcüğü, dizilerle birlikte kullanılabileceği gibi, dizileri normal dizilerden farklı bir şekilde tutar. 

Bu nedenle, params anahtar sözcüğü ile işaretlenmiş bir parametre, metotun en son parametresi olmalıdır. Bu, params anahtar sözcüğü ile işaretlenmiş parametrenin kendinden sonra gelen parametreleri kabul etmeyeceği anlamına gelir. 

Bu nedenle, bir metotta sadece bir tane params anahtar sözcüğü kullanılabilir.
Params anahtar sözcüğü, özellikle değişken sayıda parametrelere sahip metotların tanımlanmasında oldukça faydalıdır.

Hiç yorum yok:

All Rights Reserved by Csharp Eğitim Dünyası © 2023 - 2024
Powered By Ebubekir Bastama(EBS), Designed by EÇK Yazılım

İletişim Formu

Ad

E-posta *

Mesaj *

Blogger tarafından desteklenmektedir.