C# Konsol Uygulamaları(METOTLAR)

0

Belirli bir işi gerçekleştirmek için yazılan alt programlara fonksiyon(metot)adı verilir. C# dilinde her programda yalnızca 1 tane ana fonksiyon(metot) bulunur. Bu ana fonksiyonun adı daima main ana fonksiyonudur. Main metodu dışındaki hiçbir metot tek başına çalıştırılmaz, metotlar mutlaka bir sınıf(class) içerisinde tanımlanmalıdır. Metot kullanılarak;

  1. Yazılan programın okunabilirliği arttırılır.
  2. Tekrarlar önlenerek kaynak kodu büyümesi engellenir.
  3. Oluşan hataların tespiti ve giderilmesi kolaylaşır.

Aşağıda ana metot içerisinden bir fonksiyonun çağrılması gösterilmiştir.

static void Main(string[] args)
        {
            void metot1()
                {
                //yapılacak işlemler
            }
            void metot2()
                {
                //yapılacak işlemler
            }
            void metot3()
                {
                //yapılacak işlemler
            }
            metot1();
     metot1();

Erişim Belirteçleri:

Metotlar public, private, protected, internal olmak üzere tanımlanırlar. Erişim belirteci kullanılmazsa varsayılan değer olarak private kabul edilir.

  1. Public olarak tanımlanan metot tanımlı olduğu sınıf dışındaki başka sınıflardan da çağrılabilir, ayrıca farklı projelerde ki sınıflarda dahil olmak üzere bütün sınıflardan erişilebilir.
  2. İnternal metotlara aynı makine dili içerisindeki projelere ait sınıflardan erişilebilir.
  3. Protected metotlara sadece bir alt sınıftan erişilebilir.
  4. Private metotlara ise sadece tanımlı olduğu sınıf içerisinden erişilebilir.

Bu metotların kullanılması için tanımlı olduğu sınıflardan nesne türetilmesi gerekir nesne türetme işlemi aşağıdaki gibi yapılır.

sinifAdi.MetotAdi

Bununla beraber bu işlemden kurtulmak için erişim belirtecinden sonra static sözcüğü kullanılarak fonksiyon direkt içinde kullanılabilir.

Fonksiyonlar çağrıldıkları diğer fonksiyonlara değer döndürebilirler. Döndürdükleri değerin tipi bu kısma yazılır eğer, fonksiyon herhangi bir değer geri döndürülmeyecekse void ifadesi kullanılır.

Örnek:
Çağrıldığında ekrana merhaba yazan programı geriye değer döndürmeyecek bir fonksiyon kullanarak hazırlayınız.

static void Main(string[] args)
        {
            Yaz();
            Console.ReadKey();
        }
        static void Yaz()
        {
            Console.WriteLine("Merhaba");
        }

Örnek:
Klavyeden girilen adet sayının toplamını bularak ekrana yazdıran programı

  1. Geriye değer döndürmeyen
  2. Geriye değer döndüren

Fonksiyonlar kullanarak hazırlayınız.

A-)

static void Main(string[] args)
        {
            int x, y;
            x = int.Parse(Console.ReadLine());
            y = int.Parse(Console.ReadLine());
            topla(x,y);
            Console.ReadKey();
        }
        static void topla(int a, int b)
        {
            Console.WriteLine("Sonuç:" + (a + b));
        }

B-)

static void Main(string[] args)
        {
            int x, y;
            x = int.Parse(Console.ReadLine());
            y = int.Parse(Console.ReadLine());
           Console.Write("sonuç: "+topla(x,y));
            Console.ReadKey();
        }
        static int topla(int a, int b)
        {
            return a + b;
        }

Örnek:
Klavyeden girilen bir tam sayının negatif, pozitif veya sıfıra eşit olma durumunu inceleyecek programı static sözcüğü kullanmadan ve geriye değer döndürmeyen bir fonksiyon kullanarak hazırlayınız.

class Program
    {
        void Denetle(int sayi)
        {
            if (sayi < 0)
                Console.WriteLine("Negatif");
            else if (sayi > 0)
                Console.WriteLine("Pozitif");
            else
                Console.WriteLine("Sayı sıfıra eşittir");
        }
        static void Main(string[] args)
        {
            int x;
            x = int.Parse(Console.ReadLine());
            Program pr = new Program();
            pr.Denetle(x);
            Console.ReadKey();
           
        }

Yukarıdaki programda fonksiyon static olarak tanımlanmadığından dolayı bu fonksiyona doğrudan erişim mümkün değildir. Fonksiyona ulaşabilmek için ait olduğu sınıftan bir nesne türetilmiştir. Daha sonra türetilen o nesne üzerinden fonksiyona erişilmiştir.

Örnek:
Klavyeden girilen bir tam sayının tek veya çift olduğunu bulan programı hazırlarken public erişim belirtecini static olarak tanımlayarak programı hazırlayınız.

class Program
    {

        static void Main(string[] args)
        {
            int x;
            x = int.Parse(Console.ReadLine());
            if (metod.TekCift(x))
                Console.Write("Sayı Çirf");
            else
                Console.Write("Sayı tek");
            Console.ReadKey();
        }
    }
    class metod
    {
        public static Boolean TekCift(int sayi)
        {
            if (sayi % 2 == 0)
                return true;
            else
                return false;
        }

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz