Ders 8: Metotlar. barisgokce.com



Benzer belgeler
HSancak Nesne Tabanlı Programlama I Ders Notları

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

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

İl İlçe uygulaması. : Seçilen ile ait ilçeleri listeleyen program. //İl değişkeni için kodu aşağıdaki sayfadan kopyalayınız.

Sunum İçeriği. Programlamaya Giriş

11- FONKSİYONLAR (FUNCTIONS)

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.

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

C# Metotlar ve Metot Tanımlama

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

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

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

NESNEYE YÖNELİK PROGRAMLAMA

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

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

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

İNTERNET TABANLI PROGRAMLAMA

C#(Sharp) Programlama Dili

NESNEYE YÖNELİK PROGRAMLAMA

C Programlama Dilininin Basit Yapıları

Operatörlerin Aşırı Yüklenmesi

VERİ TABANI İŞLEMLERİ (NESNE TABANLI PROGRAMLAMA TEKNİĞİ İLE)

BİL-142 Bilgisayar Programlama II

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

HSancak Nesne Tabanlı Programlama I Ders Notları

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

CBÜ Teknoloji Fakültesi, Yazılım Mühendisliği. Nesneye Yönelik Programlama

public static int Toplam int x, int y

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

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

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

C++ Dersi: Nesne Tabanlı Programlama

Görsel Programlama (Visual Programming)

İNTERNET TABANLI PROGRAMLAMA- 4.ders

Nesneye Dayalı Programlama

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

Göstericiler (Pointers)

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

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

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

ELN1001 BİLGİSAYAR PROGRAMLAMA I

Dr. Fatih AY Tel: fatihay@fatihay.net

Nesneye Dayalı Programlama

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

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

1 PROGRAMLAMAYA GİRİŞ

YZM 2105 Nesneye Yönelik Programlama

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ

Fonksiyonlar (Altprogram)

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

C++ Dersi: Nesne Tabanlı Programlama

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

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

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

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

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.

BTEP243 Ders 3. class Yazım Kuralı:

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

C#.Net & Linq (Language Integrated Query)

YZM 2105 Nesneye Yönelik Programlama

int faktoriyel(int sayi) { int sonuc = 1; for(int i=sayi;i>0;i--) sonuc*=i; return sonuc; } int main() { int sayi = faktoriyel(5); }

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

İNTERNET TABANLI PROGRAMLAMA- 3.ders

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 Yönelimli Programlama

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

C++ Dersi: Nesne Tabanlı Programlama

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

Operatörlere İşlev Yükleme

İNTERNET TABANLI PROGRAMLAMA- 3.ders

BİL-141 Bilgisayar Programlama I (Java)

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

C++ Dersi: Nesne Tabanlı Programlama

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

Görsel Programlama 1

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

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

Programlama Dilleri 3

Dış Kurum Entegrasyonları TURKPOS API. Yardım Dokümanı

Hafta 13 Fonksiyonlar

Programlama Dilleri 3

İç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.

A- VERİTABANI BAĞLANTISINI HAZIR NESNE KULLANARAK YAPMA

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

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

24 Mart İlgili Modül/ler : Transfer. İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Internet Programming II

BMH-303 Nesneye Yönelik Programlama

Nesneye Yönelik Programlama (OOP) 7.Hafta

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

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

BİLG Dr. Mustafa T. Babagil 1

PROGRAMLAMAYA GİRİŞ DERS 2

C++ Dersi: Nesne Tabanlı Programlama

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır.

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Transkript:

Ders 8: Metotlar Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com

Metotlar C# içerisinde bir veya birden fazla kod bulunduran kod bloklarıdır. Bir nesnenin veya sınıfın programı yürütmesi için kullandığı bir C# nesnesidir. Program içerisinde yürütülen kodlar bu metotlar içerisinde bulunur. Program yazarken belirli bir işi yapan kod bloğunu bir kaç kez kullanmak gerekebilir. Bunun için aynı kod bloğunu tekrar yazmak yerine bir metot olarak hazırlanır ve ihtiyaç duyulduğunda kullanılır. Böylece zamandan tasarruf sağlanır Ör. private void button1_click(object sender, EventArgs e) int a = 22; // Bütün kodlar buradaki metotlar arasına yazılır 2

Metotların yapısal olarak bir takım özellikleri vardır. Bunlar; Erişim seviyeleri Geriye değer döndürmesi Aldığı parametreler 3

Erişim seviyeleri Public = public seviyesindeki bir metoda aynı sınıf içerisinden veya dışarıdaki sınıflardan erişmek ve değer almak mümkündür. Private = public seviyesinin tam tersi sınıf üyelerinin hiç biri bu seviyedeki bir metoda ulaşamaz. Örn. Đşciler adındaki bir sınıf içerisinde maaş adında bir private bir metot tanımladınız bu metoda sınıf dışında erişmek mümkün değildir. Protected = Bu erişim seviyesi Public ve Private arasında orta seviye erişime sahip bir metottur. 4

Metot kullanımında dikkat edilecekler Programın başlangıç metodu olan Main metodunu iki kez kullanılamaz. Metod isimleri nümerik karakter ile başlamaz. Metod ismi büyük ve küçük harfe duyarlıdır. Metod isimlerinde boşluk kullanılmaz. Void kullanıldığı zaman 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. 5

Void Geri dönüşd değeri eri olmayan metotlar void olarak tanımlan mlanır. void tanıml mlı bir fonksiyon için i in return kullanılamaz. lamaz. Eğer giriş parametresi yoksa parantez içi i i boş bırakılır. r. private void goster() MessageBox.Show("C# a hoşgeldiniz"); private void btngoster_click(object sender, EventArgs e) goster(); 6

Metotlara parametre gönderme private void Form1_Load(object sender, EventArgs e) public void yazdir(string yazi) MessageBox.Show(yazi); private void btngoster_click(object sender, EventArgs e) int sonuc = topla(12, 24); yazdir(sonuc.tostring()); public int topla(int a, int b) return a + b; 7

C# Metot Overloading (Aşırı yükleme) Aynı metodun birden fazla versiyonun olmasıdır. Mesela toplama işlemini yapan birden fazla metodun olması. C# içerisinde birden fazla aynı metodu kullanmak için metot overloding (aşırı yükleme) yapısı vardır. public void yazdir(string yazi) MessageBox.Show(yazi); private void btngoster_click(object sender, EventArgs e) yazdir(convert.tostring(topla(12.5,11.7))); 8 public int topla(int a, int b) return a + b; public int topla(int a, int b, int c) return a + b + c ; public double topla(double a, double b) return a + b;

C# Params (Sınırsız sayıda parametre alma) Normal metot tanımlamadan belirlenen sayıda parametrelerle işlem yapılmaktadır. Bu kısıtlayıcı bir yöntemdir. Kullanıcının gönderdiği parametreler farklı olabilir. Yani kullanıcı belirsiz sayıda parametrelerle işlem yapmak isteyebilir. Bu durumlarda parantezin içerisinde params ifadesi kullanılır ve parantez içerisine tanımlanan değişken dizi değişken olarak tanımlanır. Ör. public int topla (params int[] x) // buraya dizi işlemi için kodlar gelir 9

Örnek 1 10 public void yazdir(string yazi) MessageBox.Show(yazi); private void btngoster_click(object sender, EventArgs e) // yazdir(convert.tostring(topla(12.5,11.7))); yazdir(convert.tostring(carp(12.2, 11.3))); public int carp (params int[] x) int tmp = 1; foreach(int a in x) tmp *=a; return tmp; public double carp(params double[] x) double tmp = 1; foreach (double a in x) tmp *= a; return tmp;

Örnek 2 public void yazdir(string yazi) MessageBox.Show(yazi); public void isimler(params string[] degisken) foreach(string a in degisken) yazdir(a); private void btngoster_click(object sender, EventArgs e) isimler("ayşe","fatma","hasan"); 11

C# Ref Out Özellikleri Ref ve Out, metodların kullanacakları parametrelerin ilk değerlerinin atanmasında yada atanmamasında kullanılan türlerdir. Metodun parantezinde Ref kullanıldığında parametrenin ilk değerinin tanımlandığı yerde mutlaka atanması gerekmektedir ve Ref tanımlanan metoda gelen parametrenin bir değerinin olması gerekmektedir, yani bir atama işleminin gerçekleştirilmiş olması gerekmektedir. Metodun parantezinde Out kullanıldığında parametrenin ilk değerinin olması gerekmez, Atam işlemi out tanımlanan metodun içerisinde yapılır. Metodun kullanıldığı yerde yapılmaz. 12

Örnek (Ref-Out) public void metodref(ref int a) // Burda a parametresine bir değer vermek zorunda değiliz a = 24; // eğer a ya değer vermezsek programdan gelen parametrenin değeri aynen geri döner public void metodout(out int b) // Burda b parametresine bir değer vermek zorundayız b = 34; private void btnrefout_click(object sender, EventArgs e) int a = 5; metodref(ref a); yazdir(a.tostring()); int b; metodout(out b); yazdir(b.tostring()); 13

Kaynaklar http://www.netogretim.com/dersizle.aspx?id=3&c# http://www.tahribat.com/doc.asp?sayfa=2&docid=217 14

TEŞEKKÜRLER www.barisgokce.com 15