Metotlar bir işlemi gerçekleştirmek için tanımlanır. Bir metotla birden fazla işlemi gerçekleştirmek için o metotla aynı isme sahip yeni metotlar tanımlanabilir. Ancak tanımlanan bu metotlar farklı parametrelere sahip olmalıdır. Ya da aynı isimli parametreye sahipse türleri farklı olmak zorundadır. Şimdiki örneğimizde Ortalama hesaplayan bir metodu farklı şekillerde kullanacağız.
Uygulamamızda aşırı yüklediğimiz metodumuz;
2 yazılı ortalaması,
2 yazılı 1 sözlü ortalaması,
2 yazılı 1 sözlü ve 1 ödev
ortalamasını hesaplayacaktır.
Şimdi kodlarımıza geçelim. Öncelikle metodumuzu 2 yazılı ortalaması hesaplayacak şekilde oluşturalım.
1 2 3 4 5 6 7 |
static int ortalama(int yazili1, int yazili2) { int sonuc = (yazili1+yazili2) / 2; return sonuc; } |
metodumuzu incelediğimizde yazili1 ve yazili2 isminde int türünde parametre alan ve geriye bu sayıların aritmetik ortalamasını döndüren ortalama isminde bir metot olduğunu görüyoruz.
Şimdi aynı isimde ilave olarak girilecek sözlü notunu da hesaplayacak şekilde overload edelim.
1 2 3 4 5 6 7 |
static int ortalama(int yazili1, int yazili2,int sozlu) { int sonuc = (yazili1 + yazili2 + sozlu) / 3; return sonuc; } |
Görüldüğü gibi ortalama isimli metodumuzu 3 parametre alacak şekilde oluşturduk. Şimdi de ödev notu hesaplayacak şekilde yine aynı isimde yükleyelim.
1 2 3 4 5 6 7 |
static int ortalama(int yazili1, int yazili2, int sozlu, int odev) { int sonuc = (yazili1 + yazili2 + sozlu + odev) / 4; return sonuc; } |
Şimdi ana programda ortalama isimli metodumuzu nasıl kullanacağımıza bakalım.
ortalama isimli metodumuzu çağırdığımızda yukarıdaki resimde görüleceği gibi 3 farklı şekilde kullanabileceğimizi belirten bir açıklama göreceğiz. Ok işaretlerine basarak diğer kullanım şekillerini incelediğimizde ortalama metodunun diğer oluşturmuş olduğumuz aşırı yüklenmiş hallerini göreceğiz.
Şimdi bu üç farklı yöntemide kullanalım.
1 2 3 4 5 6 7 8 9 10 |
static void Main(string[] args) { Console.WriteLine(ortalama(50, 60)); Console.WriteLine(ortalama(50, 80, 90)); Console.WriteLine(ortalama(50, 40, 90,100)); Console.ReadKey(); } |
Kodlarımızı bir arada görelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static int ortalama(int yazili1, int yazili2) { int sonuc = (yazili1+yazili2) / 2; return sonuc; } static int ortalama(int yazili1, int yazili2,int sozlu) { int sonuc = (yazili1 + yazili2 + sozlu) / 3; return sonuc; } static int ortalama(int yazili1, int yazili2, int sozlu, int odev) { int sonuc = (yazili1 + yazili2 + sozlu + odev) / 4; return sonuc; } static void Main(string[] args) { Console.WriteLine(ortalama(50, 60)); Console.WriteLine(ortalama(50, 80, 90)); Console.WriteLine(ortalama(50, 40, 90,100)); Console.ReadKey(); } } } |
Programımızı çalıştıralım.