Chapter 7: Using Methods
Metotları ve Kodlamayı Gizlemeyi Anlama Metot – Kapsüllenmiş ifadeler serisini gerçekleştiren bir görev – Kullanılan metodun adı çağırma veya arama metotudur 2Microsoft Visual C# 2012, Fifth Edition
Metotları ve Kodlamayı Gizlemeyi Anlama 3Microsoft Visual C# 2012, Fifth Edition Şekil 7-1 : HelloClass programı
Kodlamayı Gizlemeyi Anlama Kodlamanın Gizlenmesi – Nesne yönelimli programlamanın önemli bir prensibidir. – Bir metodun operasyonlarının ayrıntılarını gizli tutar Metotla önemli olan tek şey arayüz ve etkileşim. – Programın metodun nasıl çalıştığını bilmesi gerekmez. 4Microsoft Visual C# 2012, Fifth Edition
Herhangi Bir Parametre veya Geri Dönüş Değeri Olmayan Metotlar Yazma Bir yöntem oluşturmak için başlıca nedenler : – Kod kısa ve takibi kolay olmalıdır. – Kolayca yeniden kullanılabilir bir metot olmalıdır. Kodu Kabartmak – Gereksiz yere uzun veya tekrarlayan ifadeler Metodun içermesi gerekenler: – Metot Bildirimi Diğer adıyla metot başlığı veya metot tanımı – Çift Ayıraç Açma – Metot Gövdesi – Çift Ayıraç Kapama 5Microsoft Visual C# 2012, Fifth Edition
Herhangi Bir Parametre veya Geri Dönüş Değeri Olmayan Metotlar Yazma 6Microsoft Visual C# 2012, Fifth Edition Şekil 7-2 : ShowWelcomeMessage metodu
İsteğe bağlı bildirilen erişebilirlik – Diğer metotlar metodunuzu nasıl kullanacağınızı sınırlar – Olası erişim değerleri : public protected internal protected internal private 7Microsoft Visual C# 2012, Fifth Edition Erişilebilirliğe Giriş
8Microsoft Visual C# 2012, Fifth Edition Erişilebilirliğe Giriş Tablo 7-1 : Metot erişebilirliğinin özeti
İsteğe Bağlı static Değiştiriciye Giriş Statik veya statik olmayan bir yöntem bildirebilirsiniz – Varsayılan metotlar statik olmayanlardır static metot – Bir nesne atıfta olmadan çağrılabilir Bunun yerine, sınıfına başvurmak 9Microsoft Visual C# 2012, Fifth Edition
Her metodun geri dönüş türü vardır – Metot, herhangi bir başka metoda geri dönecek değerin ne tür gösterir. – Eğer metot geriye bir değer döndürmüyorsa, void türündendir. 10Microsoft Visual C# 2012, Fifth Edition Geri Dönüş Türlerine Giriş
Yöntem adı yasal bir C# tanımlayıcı olmalıdır Bir Metot Parametresi – Metot çağırıldığında, veri taşıyan değişkenin metota iletilmesidir. 11Microsoft Visual C# 2012, Fifth Edition Metot Tanımlayıcıyı Anlama
12Microsoft Visual C# 2012, Fifth Edition Bir Sınıfa Metot Yerleştirme Şekil 7-3 : Bir metodun yerleştirilmesi
Bir Sınıfa Metot Yerleştirme 13Microsoft Visual C# 2012, Fifth Edition Şekil 7-4 : HelloClass programı ile Main( ) metodunun ShowWelcomeMessage( ) Metodunu çağırması
14Microsoft Visual C# 2012, Fifth Edition Bir Sınıfa Metot Yerleştirme Şekil 7-5 : HelloClass programının çıktısı
Metodta Değişkenleri ve Sabitleri Bildirme Değişkenler ve sabitler bir metod içinde bildirilebilir Bu metod icçin yerel olarak kabul edilirler – Bunların kapsamı metodun sınırları ile tanımlanmaktadır. Kapsam – Değişkenin bilindiği alan Metodtan çıkıldığında kapsama alanı dışında kalırlar. Diğer metotlarla parametre olarak geçirilen zaman haricinde, bu metodun dışında erişilemez. 15Microsoft Visual C# 2012, Fifth Edition
Metodta Değişkenleri ve Sabitleri Bildirme 16Microsoft Visual C# 2012, Fifth Edition Şekil 7-6 : LocalVariableDemo programı
Metotda Değişkenleri ve Sabitleri Bildirme 17Microsoft Visual C# 2012, Fifth Edition Şekil 7-7 : LocalVariableDemo programının yürütülmesi
Tek Argüman Gerektiren Metotlar Yazma İhtiyacın olan: – Parametre türü – Parametre için yerel tanıtıcı (isim) Yerel Değişken – Bir yöntem içinde bildirilen Biçimsel Parametre – Metot başlığındaki değeri kabul eden parametre 18Microsoft Visual C# 2012, Fifth Edition
Tek Argüman Gerektiren Metotlar Yazma 19Microsoft Visual C# 2012, Fifth Edition Şekil 7-10 :DisplaySalesTax() metodu
Tek Argüman Gerektiren Metotlar Yazma 20Microsoft Visual C# 2012, Fifth Edition Şekil 7-11 : DisplaySalesTax( ) metodunu tamamlanmış programda iki kere kullanılması
Tek Argüman Gerektiren Metotlar Yazma 21Microsoft Visual C# 2012, Fifth Edition Şekil 7-12 :UseTaxMethod programının çıktısı
Birden Çok Argüman Gerektiren Metotlar Yazma Bu metotlar herhangi sayıda parametre alabilir Metodu çağırdığınızda, argüman sayısı, türü, ve göreli konumunu eşleşmelidir 22Microsoft Visual C# 2012, Fifth Edition
Birden Çok Argüman Gerektiren Metotlar Yazma 23Microsoft Visual C# 2012, Fifth Edition Şekil 7-13 : İki argüman alan DisplaySalesTax() metodu
Bir Değeri Döndüren Bir Metot Yazma Bir metot, en az onu çağıran bir metot için bir değer döndürebilir Metodun Tipi – Metodun geri dönüş türüdür. return ifadesi – Çağıran yönteme geri gönderilmek üzere bir değer neden olur Döndürülen değer kullanmak zorunda değilsiniz. 24Microsoft Visual C# 2012, Fifth Edition
Bir Değeri Döndüren Bir Metot Yazma 25Microsoft Visual C# 2012, Fifth Edition Şekil 7-14 : CalcPay( ) metodu
Bir Değeri Döndüren Bir Metot Yazma Geri döndürülen değer: – Değişken içinde saklanabilir – Doğrudan kullanılabilir İç içe geçmiş metot çağrıları – Diğer metot çağrılarına yerleştirilmiş metot çağrılarıdır. Bir Boolean değeri döndüren bir metot yazma – Bir yöntem türü bool değeri döndürdüğünde, metodun çağırıldığı her yerde boolean ifadelerini kullanabilirsiniz. Dallanma ifadeleri (örn; if(…) ) Döngü kontrol değişkenleri 26Microsoft Visual C# 2012, Fifth Edition
27Microsoft Visual C# 2012, Fifth Edition Şekil 7-15 :CalcPay metodunu kullanan program
Bir Değeri Döndüren Bir Metot Yazma 28Microsoft Visual C# 2012, Fifth Edition Şekil 7-16 :UseCalcPay progamının çıktısı
Tek Dizi Elemanını Bir Metoda Geçirme Bir değişkenin geçtiği gibi aynı şekilde bir metoda tek bir dizi elemanı geçebilir Değişkenler değerleriyle aktarılırlar. – Yerel değişkenlerin değeri yerel bir kopyasını saklar 29Microsoft Visual C# 2012, Fifth Edition
30Microsoft Visual C# 2012, Fifth Edition Şekil 7-18 : PassArrayElement programı
Tek Dizi Elemanını Bir Metoda Geçirme 31Microsoft Visual C# 2012, Fifth Edition Şekil 7-19 : PassArrayElement programının çıktısı
Diziyi Bir Metoda Geçirme Tüm bir diziyi parametre olarak geçirebilirsiniz Diziler, tüm nesneler gibi ama yerleşik türlerinin aksine, referansa tarafından iletilirler. – Metodu dizini gerçek bellek adresi alır. Dizi öğelerini gerçek değerlerine erişebilir. 32Microsoft Visual C# 2012, Fifth Edition
33Microsoft Visual C# 2012, Fifth Edition Şekil 7-20 : PassEntireArray programı
Diziyi Bir Metoda Geçirme 34Microsoft Visual C# 2012, Fifth Edition Şekil 7-21 : PassEntireArray programının çıktısı
Diziyi Bir Metoda Geçirme Çok boyutlu bir dizinin veri türü metot başlığı daha sonra uygun sayıda boyut belirterek bir metoda geçebilir – Örneğin public static void displayScores(int[,] scoresArray) 35Microsoft Visual C# 2012, Fifth Edition
Parametre listesi ile Main() Metodu Yazma En genel yol: public static void Main() Komut satırı argümanlarını iletme : public static void Main(string[] args) 36Microsoft Visual C# 2012, Fifth Edition
Parametre listesi ile Main() Metodu Yazma 37Microsoft Visual C# 2012, Fifth Edition Şekil 7-22 : string[] args parametresi olan Main() metodu
38Microsoft Visual C# 2012, Fifth Edition Parametre listesi ile Main() Metodu Yazma Şekil 7-23 : DisplayArgs programı ile argümanlarının yürütülmesi
Main() Metodunu Bir Tamsayı Dönüş Türü İle Yazma Bazı programcılar Main() metodunun başlığını geri dönüş değerini ( void) yerine ( int) olarak yazarlar. – Main() metodunun son satır her zaman geri dönüş ifadesi olmalıdır. – Bir dönüş kodu “0” ise başarılı yürütme gösterir. – Başka bir değer hata kodu olarak yorumlanır. 39Microsoft Visual C# 2012, Fifth Edition
GUI Programlarında Metotları Kullanma Sorunları GUI uygulamaları oluştururken bazı özel hususlar gereklidir – Görsel ortamda otomatik olarak oluşturulan yöntemlerini anlama – Bir GUI programında değişken kapsamı 40Microsoft Visual C# 2012, Fifth Edition
Görsel ortamda otomatik olarak oluşturulan yöntemlerini anlama Pek çok yöntem IDE kullanılarak GUI uygulamalar oluşturduğunuzda otomatik olarak oluşturulur. – Metot oluşturmak için, nesnenin üzerine çift tıklayın 41Microsoft Visual C# 2012, Fifth Edition Şekil 7-24 : ClickParameterDemo programının içindeki okButton_Click() metodu
Görsel ortamda otomatik olarak oluşturulan yöntemlerini anlama 42Microsoft Visual C# 2012, Fifth Edition Şekil 7-25 : Şekil 7-24 deki okButton_Click( ) metodunu tarafından oluşturulan çıktı
Bir GUI programında değişken kapsamı Bir metot içinde değişken veya sabit bildirdiğinizde, bu metoda göre yerel olur. Bir değişken veya sabit birden çok olayı işleme metotları tarafından kullanılmıyorsa, değişkenlerin veya sabitlerin söz konusu metotların dışında tanımlanması gerekir (Ama bu Form’un bu içindeki sınıfta) 43Microsoft Visual C# 2012, Fifth Edition
Bir Form ile İlişkili Statik Olmayan Metotlar Oluşturma Bir GUI uygulaması ve bir metot oluşturduğunuzda, the anahtar kelime olan static metot başlığında görünmez. – Metot çağırma olayları gönderildiği bir nesneyle ilişkili bir yöntemdir. 44Microsoft Visual C# 2012, Fifth Edition