HSancak Nesne Tabanlı Programlama I Ders Notları

Benzer belgeler
Ders 8: Metotlar. barisgokce.com

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

C# Metotlar ve Metot Tanımlama

Sunum İçeriği. Programlamaya Giriş

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

NESNEYE YÖNELİK PROGRAMLAMA

Operatörlerin Aşırı Yüklenmesi

Diziler (Arrays) Çok Boyutlu Diziler

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Operator Aşırı Yükleme (Operator OverLoading)

Nesneye Dayalı Programlama

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

11- FONKSİYONLAR (FUNCTIONS)

ÜNİTE. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA İÇİNDEKİLER HEDEFLER METOTLAR

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma

HSancak Nesne Tabanlı Programlama I Ders Notları

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

C++ Dersi: Nesne Tabanlı Programlama 2. Baskı

Göstericiler (Pointers)

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

BTEP243 Ders 3. class Yazım Kuralı:

C++ Dersi: Nesne Tabanlı Programlama

BİL-141 Bilgisayar Programlama I (Java)

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

HSancak Nesne Tabanlı Programlama I Ders Notları

Nesneye Yönelik Programlama (OOP) 7.Hafta

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

YZM 2105 Nesneye Yönelik Programlama

Nesne Yönelimli Programlama

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

BİL-142 Bilgisayar Programlama II

Bu parçalar arasındaki ilişkiyi kullanıp büyük çaplı programlar geliştirme tekniğine de nesne yönelimli programlama denir.

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

İçerik. Kapsülleme ( Encapsulation ) Java da Kalıtım: Örnek 2.1. Kalıtım ( Inheritance ) Tekrar Ziyaret. Java da Kalıtım: Örnek 2.2.

C++ Dersi: Nesne Tabanlı Programlama

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Pointer Kavramı. Veri Yapıları

Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama

Bölüm 9. Altprogramlar ISBN

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

C++ Dersi: Nesne Tabanlı Programlama

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

NESNEYE YÖNELİK PROGRAMLAMA

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

HSancak Nesne Tabanlı Programlama I Ders Notları

Arayüz (Interface) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 7 1

Görsel Programlama-I (Visual Programming) 2.Hafta

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Nesne Yönelimli Programlama

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Hafta 13 Fonksiyonlar

JAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN

WEB PROGRAMLAMA II. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

Java da İşleçler, Ders #3 (4 Kasım 2009)

BMH-303 Nesneye Yönelik Programlama

BİLİŞİM TEKNOLOJİLERİ

Fonksiyonlar (Altprogram)

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Lambda İfadeleri (Lambda Expressions)

Java da Program Denetimi ve Operatörler

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

1. SINIFLAR Sınıf (Class) Mantığı

BİL-142 Bilgisayar Programlama II

4- ALGORİTMA (ALGORITHM)

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

PROGRAMLAMAYA GİRİŞ DERS 2

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler

Bigisayar Programlama

Başlangıç; Sayfa 1. Sanal pos tanımlandığında üye numarası admin kullanıcı adı parolası ile Garanti Bankasından tarafınıza iletilecektir.

public static int Toplam int x, int y

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

C++ Dersi: Nesne Tabanlı Programlama

Nesneye Dayalı Programlama

İsimler ve Kapsam. 24 Şubat Programlama Dilleri - Pamukkale Üniversitesi 1

Ürün Profil ve Yapılandırma Kodu Tanımlama

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Fonksiyonlar - Functions. Örnek. Örneğin. C dilinde 5/13/2011. ENF-102 Jeoloji

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

4- ALGORİTMA (ALGORITHM) M.İLKUÇAR - 1

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

7- Turbo Pascal Programlamada Alt Programlar (Procedure)

Transkript:

METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı bir ana fonksiyona ( Main) sahiptir. Program çalışmaya bu fonksiyondan başlar. Tüm kodların bu fonksiyon içine yazılması çok uygun olmaz. Programın herhangi bir yerinde kullanmak için belirli bir işi yerine getirmek amacıyla tasarlanmış kod bloklarına metot denir. Metotlar tek başlarına çalıştırılabilen yapılar değildir. Metot, metodu çağıran ana programa bir takım 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ü ise geri dönü ş değeri( return value ) denir. Metot Tanımlama C# ta bildirilen bütün metotlar mutlaka bir sınıfın içinde olmalıdır. Bir sınıfın üyesi olmayan metotlar bildirilemez. Metotları tanımlarken kullanılan bildirim şu şekildedir: Örnek Tanımlama:

Erişim Belirteci: Metotlara erişim şekillerinin belirtilmek için kullanılan ifadedir. Public: Public olarak tanımlanmış bir metot veya özelliğe herhangi bir yerden ulaşmak mümkündür. Herkese açık olarak tanımlayabiliriz. Private: Bu sıfat ile tanımlanmış metot veya özelliklere sadece tanımlandığı sınıf içerisinden ulaşabiliriz. Protected: Protected metotlara veya özelliklere tanımlandıkları sınıftan ve bu sınıftan üretilmiş alt sınıflardan ulaşabiliriz. Internal: Internal metot veya özelliklere tanımlandıkları sınıftan ve tanımlandıkları sınıfla aynı Assembly de olan sınıflardan erişebiliriz. Protected Internal: Bu tip metot ve özellikler hem protected hem de Internal özelliğindedir. Diğer bir ifade ile bunlara ancak kendi sınıflarından veya aynı Assembly deki alt sınıflardan ulaşabiliriz. Geri Dönüş Tipi: Bir veri türü adıdır ve metodun yaptığı işlem sonucunda döndüreceği veri türünü belirler. Bu int ya da string türü bir veri olabilir. Herhangi bir sonuç döndürmeyen bir metot yazılıyorsa geri dönüş tipi yerine Void anahtar sözcüğü kullanılmalıdır. Metot İsmi: Metodu çağırmak için kullanılan addır. Metot adları belirlenirken değişken adları tanımlanırken uygulanan kurallara uyulmalıdır. Örneğin, Dort_islem geçerli bir metot adı olabilirken Dort$islem tanımlaması yanlıştır. Metot Parametreleri: İsteğe bağlıdır, metoda dışarıdan gönderilecek veri adlarını ve türlerini tanımlar. Parametreler önce tür adı, daha sonra parametre adı olacak şekilde parantez içerisinde değişken tanımlanıyormuş gibi yazılır. Metot Kullanımında Dikkat Edilecekler Programın ba'langıç metodu olan Main metodunu iki kez kullanılamaz. Metot ismi değişken isimlendirme kurallarına uygun olarak metodun yaptığı işi tarif eden kısa bir isim verilmelidir. Döüşüş tipi Void kullanıldığı zaman metot geriye değer döndürmez. Metodların parametre bilgisi varsa eksiksiz girilmelidir. Bir metod bloğu içinde başka bir metod tanımı yapılamaz. Değer döndürmede return anahtar sözcüğü kullanılır. C# ta bir metot kullanılacaksa metodun içinde bulundu sınıf türünden bir nesne tanımlanır ve. operatörü ile metot çağrılır. Ancak static olarak tanımlanan metotları çağırmak için bir nesne tanımlamaya gerek yoktur. Eğer metodun içinde olduğu sınıfın içinden çağrılacaksa metodun sadece adı yazılarak çalıştırılabilir, eğer sınıfın dışından çağrılacaksa SınıfAdı.Metot( ) şeklinde çağrılmaktadır.

Örnek Metot Tanımlama: public static int Topla(int a, int b) return a+b; Metotlar şu şekillerde çağrılıp kullanılabilir: int t = Topla(4, 5); Console.WriteLine(Topla(4,5)); int sonuc = Topla(4,Topla(5,6)); Uygulama 8: Klavyeden girilen bir tamsayının Tek mi, Çift mi olduğunu bit metot aracılığıyla tespit edip sonucu ekrana yazdıran program kodu aşağıdadır.

Uygulama 9: Klavyeden girilen iki tamsayının aritmetik dört işlem sonuçlarını farklı metotlarla hesaplayıp sonuçları ekrana yazdıran kod aşağıdaki gibidir.

Metot Overloading (Metotların Aşırı Yüklenmesi) Aynı isimde birden fazla metot yazılmasıdır. Parametreleri farklı olmalıdır. Fonksiyon ve yordamları kullanırken, aynı isimde birden fazla tanımlanabildikleri görülür. Buna Aşırı Yüklenme (OverLoad) denir. Bir yordamın ve fonksiyonun aşırı yüklenmesi kullanımını kolaylaştırır. Aynı isimde farklı seçenekler sunması metotların kullanışlığını arttırır. public void UrunAra( int UrunId ) // Ürün numarasına göre arama yapılır. public int UrunAra( string UrunIsmi ) // Ürün ismine göre arama yapılır. // Bulunan ürünün numarası döndürülür. public int UrunAra( string UrunIsmi, DateTime UretimTarihi ) // Ürün ismine ve üretim tarihine göre arama yapılır. // Bulunan ürünün numarası döndürülür. public int UrunAra( DateTime UretimTarihi ) // Üretim tarihine göre arama yapılır. // Bulunan ürünün numarası döndürülür. Metotların aynı isimde olmasının ayrımı parametrelerin veri tipi ve sayısına göre yapılır. Metotların isimleri, parametre sayısı ve parametrelerin veri tipleri metotların imzalarını (Method Signatures) oluşturur. Örneğin ürün numarasına göre arama yapan yordamın imzası UrunAra(int) şeklindedir. int parametre alan bir UrunAra isminde başka bir yordam veya fonksiyon tanımlanama z. Fonksiyonların dönüş tipleri ile imzaları tanımlanmaz. Metotları aşırı yüklerken dikkat edilmesi gereken bazı noktalar vardır. İmzaları aynı olan metotlar tanımlanamaz Fonksiyonlar yordamlarla, yordamlarda fonksiyonlarla aşırı yüklenebilir. Fonksiyonlar dönüş tiplerine göre aşırı yüklenemez.

HSancak Nesne Tabanlı Programlama I Ders Notları Uygulama : Klavyeden 2, 3, ya da 4 sayının toplamını aşırı yüklenmiş metotlar ile hesaplayıp ekrana kod aşağıdaki gibidir.