Nesneye Dayalı Programlama 1

Slides:



Advertisements
Benzer bir sunumlar
Erişim Denetimi, Fonksiyon
Advertisements

C# Metot Overloading (Aşırı yükleme)
Bölüm 5 Nesneler ve Metotlar
Bil 102 Bölüm 6 Diziler.
Bil 102 Bölüm 3 Java’da Program Akış Denetimi Bil 1021.
Görsel C# ile Windows Programlama
SINIFLAR ve NESNELER. İlk sınıfımızı ekleyelim class KrediHesap { public ulong HesapNo; public double Limit; public string KartSahibi; }
Hafta2 Rekürsif Algoritmalar
Hafta 7: Öz Türleri ve Fonksiyonları BBY 306 Dizinleme ve Öz Hazırlama.
 1 – 5 Yaş Grubu  6 Yaş Anaokulu  7 – 16 Yaş İlk öğretim  Lise Eğitimi İSVEÇ EĞİTİM SİSTEMİ.
BÖLÜM 4 PROGRAMLAMA DİLLERİ. PROGRAMLAMA DİLLERİNDE KULLANILAN VERİ TİPLERİ Bilgisayarda işlenen veriler iki türdür: Sayısal Alfasayısal.
Modül 1 Öğr. Gör. Nevzat TAŞBAŞI
Makine Öğrenmesinde Yeni Problemler YILDIZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ.
LINQ { C# 3.0 ve Language Integrated Query } MEHMET MECİT GÖK NO:
Öğretim Teknolojileri ve Materyal Geliştirme
Literatür taramasının önemi  Daha önce neler yapıldığını çıkarmaya çalışmayan araştırmacılar alanlarında önemli katkı sağlama fırsatından yoksun kalırlar.
Bağlama ve Kapsam Kavramları
ARAYÜZLER(INTERFACE) Öğr.Gör. Murat ASLANYÜREK. ARAYÜZ KAVRAMINA GİRİŞ  Arayüzler, soyut sınıflara benzer. Ancak yapı olarak bazı yönleriyle farklılıklar.
7. Hafta İçeriği 1.Kalıtım (Inheritance) 2.Soyut sınıf (abstract class) 3.Sealed sınıf(sealed class) 4.Çok biçimlilik (polymorphism)polymorphism.
Öğretim İlke ve Yöntemleri: Öğrenme Stratejileri
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
GÖRSEL PROGRAMLAMA C# UYGULAMALARI Araş. Gör. Sefa TUNÇER.
3. DEĞİŞKENLER Değişkenlerin kullanım ve tanımlanma şekli, o dilde program yapmayı ve programların anlaşılırlığını etkileyen önemli faktörlerden biridir.
FONKSİYONLAR.
İÇİNDEKİLER NEGATİF ÜS ÜSSÜ SAYILARIN ÖZELLİKLERİ
JDK(Java  Development  Kit):  Java  kodlarını  derlemek  için gerekli  geliştirme  ortamını.
KDV BEYANNAMESİ / MUHTASAR BEYANNAME / KURUMLAR VERGİSİ BEYANNAMESİ / GEÇİCİ VERGİ BEYANNAMESİ’NDE ORTAK ÖZELLİKLER F5 PENCERESİ Beyannamelerde yer alacak.
METOTLAR.
Yapay Sinir Ağı Modeli (öğretmenli öğrenme) Çok Katmanlı Algılayıcı
TÜRKÇE FATMANUR ŞAHİN 6/A 523.
Nesneye Dayalı Kavramlar Uygulama 1
OKUL ADI ADI: SOYADI: SINIFI: NO: DERS: Ö Ğ RETMEN: KONU.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 6: Sınıflar
Nesneye Dayalı Kavramlar Uygulama 2
KÜMELER HAZIRLAYAN : SELİM ACAR
NBP103 Programlama Temelleri Öğr. Gör. Mahmut Kılıçaslan
PHP ile Nesneye Yönelik Programlama
Mobil uygulama geliştirme pelin yıldırım Fatma bozyiğit
3- VERİ TİPLERİ - OPERATÖRLER Nesne Yönelimli Programlama - i
MİMARLIK BÖLÜMÜ STATİK DERSİ
3.hafta METODLAR.
Soyut veri tipleri ve kapsülleme kavramları
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
BİLGİSAYAR programlama II
MBT-303 özel öğretim yöntemleri-ı
NİŞANTAŞI ÜNİVERSİTESİ
Nesneye Dayalı Programlama 1
Bir Kurumda Öğrenme Merkezi (ÖMer) Nasıl Oluşturulur?
Nesne yönelimli programlama desteği
NİŞANTAŞI ÜNİVERSİTESİ
Kurucular(Yapıcılar), Yıkıcılar
Nesneye Dayalı Programlama 1
Nesneye Dayalı Programlama 1
Yrd. Doç. Dr. Ömer Kutlu BAŞARI TESTLERİNİN GELİŞTİRİLMESİ
Nesneye Dayalı Programlama 1
Değerler ve Değişkenler
DAHİLİ SINIFLAR(INNER CLASSES)
NİŞANTAŞI ÜNİVERSİTESİ
Nesneye Dayalı Programlama 1
MTM216 GÖRSEL PROGRAMLAMA
MTM216 GÖRSEL PROGRAMLAMA
MTM216 GÖRSEL PROGRAMLAMA
Nesneye Dayalı Programlama 1
MTM216 GÖRSEL PROGRAMLAMA
14. EKİPLE ÖĞRETİM İKİ KAFA TEK KAFADAN DAHA İYİDİR ( Two heads are better than one) ingiliz atasözü.
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
Algoritmalar ve Programlama II Ders 11: Kalıtım
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

Nesneye Dayalı Programlama 1 Öğretim Görevlisi Alper Talha KARADENİZ

Arayüzler (Interface) Sınıflar için bir rehber olan arayüzler, birbirleri arasında kalıtım olmayan sınıflara bazı mecburiyetler bırakır. Sınıflar arası bir kontrat olarak da düşünülebilinir. Yazılımın genişlemesi birçok karmaşaya yol açabilir. Onlarca yüzlerce sınıf içersinde hangisi ne işi yapar, nereden hangi yapıları almıştır, hangi görevleri yerine getirecektir şeklindeki sorularla muhatap olmaktadır. Bunlarla beraber yeni oluşturulacak bir sınıfın içereceği yapının nasıl şekillenmesi gerektiğini de arayüzler aracılığıyla bildirebiliriz. Arayüzler interface anahtar kelimesi ile bildirilir. Genel kabul olarak da arayüz olduğunun isminden anlaşılabilmesi için isminden önce I(büyük harf ı) kullanılır.

Arayüzler (Interface) interface IOrnek { } Arayüzler diğer sınıf ya da arayüzlere kalıtım vermek için kullanılır. Yeni bir örneği (nesne) oluşturulamaz. Bunun en büyük nedeni var olmalarının nedeni diğer interface ya da sınıflara rehber olmaları veya kontrat sağlamaları içindir. Zaten gövdelerinde kurucu bulundurmazlar.

Arayüzlerin özellikleri Bir arayüz'ün tüm üyeleri public kabul edilir. Diğer yandan bir arayüz üyesi public olarak da tanımlayamayız. Çünkü zaten varsayılan olarak bütün üyeler public tanımlanmış kabul edilir. Bir arayüz, bir yapı(struct)'dan veya bir sınıf(class)'tan kalıtımla türetilemez. Ancak, bir arayüzü başka bir arayüzden veya arayüzlerden kalıtımsal olarak türetebiliriz. Arayüz elemanlarını static olarak tanımlayamayız. Arayüzlerin uygulandığı sınıflar, arayüzde tanımlanan bütün üyeleri kullanmak zorundadır.

Arayüzler ve Çoklu kalıtım C# ta sınıflar ancak bir sınıftan kalıtım alabilirken, dilediği sayıda arayüzden kalıtım alabilirler. Burada önemli olan kalıtım veren sınıf yada arayüzlerin üyelerinin isimlerinin çakışmamasıdır. Benzeri isimdeki üyelerin bulunması halinde ise ya başlarına arayüzün adı belirtilerek yazılır ya da nesne oluşturulurken hangi arayüzün ki kullanılacağı tip dönüşümü yapılarak kullanılır. class Fatura : IMusteri, ISiparis { }

örnek

örnek public interface Iinsan { string Adi { get; set; } string Soyadi { get; set; } void Goster(); } public interface Iogretmen { int sicilNO { get; set; } } public class Ogretmen : Iinsan, IOgretmen { private string pre_Adi; private string pre_Soyadi; private int pre_sicilNO; public string Adi { get { return pre_Adi; } set { pre_Adi = value; } } public string Soyadi { get { return pre_Soyadi; } set { pre_Soyadi = value; } } public int sicilNO { get { return pre_sicilNO; } set { pre_sicilNO = value; } } public void Goster() { Console.WriteLine("Unvan : " + Adi + " " + Soyadi + "Sicil NO:" + sicilNO.ToString()); } }

Örnek devam static void Main(string[] args) { Ogretmen og1 = new Ogretmen(); og1.Adi = "Ozan"; og1.Soyadi = "KARTAL"; og1.sicilNO = 4004545; og1.Goster(); Console.ReadLine(); }