Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Erişim Denetimi, Fonksiyon

Benzer bir sunumlar


... konulu sunumlar: "Erişim Denetimi, Fonksiyon"— Sunum transkripti:

1 Erişim Denetimi, Fonksiyon
OOP Erişim Denetimi, Fonksiyon

2 Sınıf - Nesne Sınıf, gerçek hayattaki bir nesneyi istenen bir şekilde modelleyebilmek için gerekli bütün kod ve veriyi içeren yazılım birimidir. Nesne sınıfın bir örneğidir. Somut bir niceliktir.

3 Sınıf içindeki üye değişkenlere ve yöntemlere erişimin denetlenmesi üç farklı C# anahtar kelimesiyle sağlanır. private: sınıf dışından görünmeyen değişkenlerin ve yöntemlerin tutulduğu bölümü işaretler public: sınıf dışından görünen ve erişilebilen değişkenlerin ve yöntemlerin bulunduğu bölümü tanımlamak için kullanılır protected: Türetilmiş sınıflardan erişilebilen değişkenlerin ve yöntemlerin bulunduğu bölümdür. Dışarıdan görülmez ama türetilmiş sınıflardan erişilir.

4 Sınıf tanımında varsayılan erişim denetimi private’dır
Sınıf tanımında varsayılan erişim denetimi private’dır. Sınıf tanımına başlarken, hiç bir erişim denetimi anahtar kelimesi yazılmazsa, private olarak alınır.

5 ÖRNEK using System; using System.Collections.Generic;
using System.Linq; using System.Text; namespace ConsoleApplication1 { public class Nokta //fonksiyon dışında erişilemeyen değişkenler private double x; private double y; // orijinden uzaklığı bulanfonksiyon tanımı public double orijindenUzaklik() { Console.WriteLine("x number:"); int x = Convert.ToInt16(Console.ReadLine()); Console.WriteLine("y number:"); int y = Convert.ToInt16(Console.ReadLine()); return Math.Pow(x * x + y * y, 0.5); }

6 Main(program.cs) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) Nokta islem = new Nokta(); Console.WriteLine( islem.orijindenUzaklik()); Console.ReadLine(); }

7 Fonksiyonlar Nesne Tabanlı Mimaride sınıflar için tanımlanmış özellikler: Kapsülleme-Saklama(Encapsulation) Polimorfizm-Çok biçimlilik(Polymorphism) Kalıtım(Inheritance) Bu özellikleri incelemeden önce sınıfların içerisinde tanımlanan fonksiyonları inceleyelim.

8 Fonksiyonlar Fonksiyonlar belirli bir işi gerçekleştirmek amacı ile yazılmış değişkenler ve ifadeler kümesidir. Belirli tipte parametreler alarak belirli tipte sonuçlar döndürürler. Programın diğer bölümlerinden tekrar tekrar çağırılabilirler. yazım şekli : dönen_tip FonksiyonAdı (Aldığı Parametreler)

9 Fonksiyon Fonksiyonlar bir sınıf içerisinde bulunmalıdır. Bir sınıfın içerisinde bulunmayan, kendi başına bir fonksiyon yazılamaz. yazım şekli: public class newClass { public void newFunction() ………….. }

10 Fonksiyon void kelimesi, fonksiyonun herhangi bir değer döndürmeyeceğini belirtir. () parantezleri Main'in bir fonksiyon olduğunu belirtir. Parantez içinde fonksiyona gönderilecek parametreler belirtilebilir. Main(string[] args) fonksiyonu içine string[] tipinde değerler gönderilebileceğini anlatan parametre kullanılmıştır. Çoğunlukla fonksiyonlar parametre listesi isterler. Bu parametrelere göre işlem yapar ve sonuç döndürürler.

11 Fonksiyon private float toplam(int a,int b,int c)
toplam ismindeki fonksiyon a, b ve c isminde üç parametre istemektedir. Fonksiyonun döndürdüğü sonuç değeri float tipindedir. Ana programda fonksiyon çağrıldığında a, b ve c değişkenlerine, değer yüklenir.

12 Fonksiyon private float toplam( int a, int b, int c) {
t = a + b + c ; return t; } a, b ve c değişkenleri sadece toplam fonksiyonu içinde geçerlidir. Fonksiyon içinde tanımlanan t değişkeni de sadece bu fonksiyon içinde oluşturulmuştur ve çıkışta silinir. Scop içerisinde tanımlı yerel değişkenler

13 Fonksiyon Fonksiyon return anahtar kelimesiyle bir değer döndürür. Eğer dönen tip void olursa, return deyimi genelde kullanılmaz. return anahtar kelimesinin döndürdüğü değişken veya değerin tipi fonksiyonun tanımında verilen tiple aynı olmalıdır.

14 Fonksiyon private float toplam( int a, int b, int c) { float t; t = a + b + c ; return t; }

15 Fonksiyon Fonksiyonun çağrılmasında, fonksiyon tanımı dikkate alınır. Sadece veri tipleri yazılmaz ve değerler sabitler yada değişkenler olabilir. Genellikle, fonksiyondan gelen değer bir değişkene atanır. deger = toplam( i, j, k ) ; veya deger = toplam( 5, x, 2.7 ) ;

16 Fonksiyon NOT: Main() fonksiyonu içinde toplam fonksiyonu çağrıldığında main()’in veri alanında bulunan değerler toplam() fonksiyonunun veri alanına kopyalanır.

17 ÖRNEK Bir sayının faktöryelini alan fonksiyonu ve bulunduğu sınıfı yazınız. Fonksiyon 0'dan küçük değerler için 0 1 ve 0 için 1 2'den büyük sayılar için hesaplanan faktöriyel değerini döndürecek. Ana programda 1'den başlayıp klavyeden girilen değere kadar olan sayıların faktöryeli ekrana yazdırılacak.

18 class using System; using System.Collections.Generic;
using System.Linq; using System.Text; namespace ConsoleApplication2 { class fonk public int Faktor(int x) { int sonuc = 1; if (x < 0) return 0; if (x == 0 || x == 1) return 1; for (int j = 2; j <= x; j++) sonuc =sonuc*j; return sonuc; }

19 Main program using System; using System.Collections.Generic;
using System.Linq; using System.Text; namespace ConsoleApplication2 { class Program static void Main(string[] args) Console.WriteLine("sayi="); int y = Convert.ToInt16(Console.ReadLine()); fonk a = new fonk(); for (int i = 1; i <= y; i++) { Console.WriteLine(a.Faktor(i)); } Console.ReadLine();

20 SORU Değerlerini kullanıcının belirlediği iki parametre alan, bu değerlerin farkının faktöryelini döndüren fonksiyonu yazınız. Fonksiyonun ismi: int faktoryel_fark(int a, int b)


"Erişim Denetimi, Fonksiyon" indir ppt

Benzer bir sunumlar


Google Reklamları