Nesneye Dayalı Programlama Temel Kavramlar Hüseyin ESKİ.

Slides:



Advertisements
Benzer bir sunumlar
Programlama-II (Java ile Bilgisayar Programlama)
Advertisements

NESNEYE YÖNELİK PROGRAMLAMA Temel Kavramlar
C# - Metotlar.
Tuğba DEMİREL
JAVA EĞİTİMİ Serdar TÜRKEL
Nesneye Yönelik Programlama
Miras Alma EM-406 Java.
Nesneye Dayalı Programlama
Sarma (Encapsulation) / Kalitim (Inheritance) /Final Terimleri
OOP Tanımlar.
NESNEYE DAYALI MODELLEME VE TASARIM
1.Yazılım Geliştirme Biligisayar techolojisinin iki bir birine bağalı konusu var: Donanım (hardware) Yazılım (software)
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 6: Sınıflar
P AKET E RIŞIMLERI SıNıFLARıN YENIDEN KULLANıMı. P AKET ( P ACKAGE ) Paketler kütüphaneleri oluşturan elemanlardır. import java.io.BufferedReader; BufferedReader.
Nesne Tabanlı Programlama
Nesneye Yönelik Programlama Dr. Pelin GÖRGEL
NESNEYE YÖNELİK PROGRAMLAMA
NESNEYE YÖNELİK PROGRAMLAMANIN TEMEL İLKELERİ GENEL BİR BAKIŞ
DİZİLER.
DELEGATE OOP-UYG.
Erişim Denetimi, Fonksiyon
NESNE TABANLI PROGRAMLAMA -METOTLAR-
Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar
METODLAR.
C# Metot Overloading (Aşırı yükleme)
İSİM UZAYLARI (NAMESPACE)
NESNEYE DAYALI PROGRAMLAMA
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Java Sınıf ve Nesne Kavramı UML Gösterimi
Nesneye Dayalı Programlama
Sınıflar ve Fonksiyonlar
NESNE YÖNELİMLİ PROGRAMLAMA
METOTLAR.
ÇOK BİÇİMLİLİK POLYMORPHISM
Önceki Dersi Hatırlama !!
Nesneye Yönelik Programlama (12. Sunu). İsim Uzayları (Namespaces) Sınıfınızda Deniz adında iki öğrenci olduğunu kabul ediniz. Böyle bir durumda bu öğrencileri.
JAVA’DA DÖNGÜLER.
Kalıtım , Sınıf Asli Ergün.
Demet AYDIN METODLAR Demet AYDIN
Nesneye Dayalı Programlama
KALITIM Yılmaz Kılıçaslan.
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.
Bilgisayar programlarının en büyük avantajı, kullanıcının işini kolaylaştırmalarıdır. Her bilgisayar programı bunu değişik metotlar kullanarak sağlar.
ODTU-SEM Copyright (c) 2011 Kalıtım(Inheritance) Subclass lar tüm method ve attributes larının superclass ından alırlar. Bu işlem için extends keyword.
SINIFLAR ve NESNELER. İlk sınıfımızı ekleyelim class KrediHesap { public ulong HesapNo; public double Limit; public string KartSahibi; }
VERİ YAPILARI İşaretçi Nedir? Nesne Tabanlı Programlama.
Bölüm 11: Nesneye Yönelik Programlama
Veri yapıları Hafta3 Dizi Yapıları.
BSM447 – MOBİL UYGULAMA GELİŞTİRME Öğr. Gör. Nevzat TAŞBAŞI 7. Hafta.
BİLGİSAYAR programlama II
KALITIM(INHERITANCE) Öğr.Gör. Murat ASLANYÜREK. KALITIM KAVRAMINA GİRİŞ  Kalıtım, sınıflardan yeni sınıflar türetmeyi sağlar.  Türetilen yeni sınıflar,
JAVA 1. GİRİŞ & TARİHÇE Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmıştır. Açık kodlu. Nesneye yönelik. Düzlemden.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
GÖRSEL PROGRAMLAMA C# UYGULAMALARI Araş. Gör. Sefa TUNÇER.
Nesne Yönelimli Yaklaşım
PHP ile Nesneye Yönelik Programlama
Bütün dünyayı nesneler (object) ve nesneler arası ilişki olarak gören model kullanılarak yapılan programlama. Bu programlama tekniğine göre her nesne.
Soyut veri tipleri ve kapsülleme kavramları
Nesneye Dayalı Programlama 1
Kurucular(Yapıcılar), Yıkıcılar
Nesneye Dayalı Programlama 1
Nesneye Dayalı Programlama 1
NİŞANTAŞI ÜNİVERSİTESİ
Nesneye Dayalı Programlama 1
NİŞANTAŞI ÜNİVERSİTESİ
MTM216 GÖRSEL PROGRAMLAMA
Nesneye Dayalı Programlama 1
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
Sunum transkripti:

Nesneye Dayalı Programlama Temel Kavramlar Hüseyin ESKİ

Temel Kavramlar Sınıf: Nesneye dayalı programlamada, verileri ve bu verileri işleyecek kodları barındıran, nesne oluşmasını sağlayan, nesnelerin şeklini tanımlayan şablondur. Nesne, sınıflardan oluşan ve sınıfların birer örneği olan somut yapılardır. Sınıf, nesnenin nasıl inşa edileceğini tanımlayan bir kılavuzdur. Sınıf soyut bir ifadedir ve nesneler oluşuncaya kadar fiziksel olarak bellekte yer almazlar. Bir sınıftan birden fazla nesne üretilebilir ve bu nesnelerin özellikleri farklı olabilmektedir.

Temel Kavramlar sınıf SinifAdi { //Nitelikler //Davranışlar } SinifTipi nesne=yeni SinifAdi(); nesne.nitelik nesne.davranis()

Temel Kavramlar Örneğin marka, model, yıl, renk nitelikleri ve BilgileriYazdır davranışı olan «vasita» bir sınıftır. «vasita» soyut bir kavramdır. Bu sınıftan türetilen 2010 siyah Opel Astra bir nesnedir ve artık somut bir şekilde nasıl bir vasıtadan bahsedildiği bellidir. Aynı şekilde 2015 mavi Renault Clio’da aynı sınıftan türetilmiş başka bir nesnedir. Vasıtalardan oluşacak nesnelerin ne gibi özelliklere sahip olması gerektiği sınıfın içerisinde belirtilmiştir. Oluşturulan her nesne birbirinden bağımsızdır ve hafızada farklı yerlerde saklanır.

Temel Kavramlar class vasita { public string marka; public string model; public int yil; public string renk; public void BilgileriYazdir() { Console.WriteLine(yil+ " " + renk + " "+ marka + " " + model); }

Temel Kavramlar vasita a1 = new vasita(); a1.marka = "Opel"; a1.model = "Astra"; a1.yil = 2010; a1.renk = "Siyah"; a1.BilgileriYazdir(); vasita a2 = new vasita(); a2.marka = "Renault"; a2.model = "Clio"; a2.yil = 2015; a2.renk = "Mavi"; a2.BilgileriYazdir(); a1.BilgileriYazdir();

Temel Kavramlar

Temel Özellikleri Nesneye Dayalı Programlama teorisinde 4 özellik temel olarak kabul edilmiştir. Bu özelliklerin tamamını sağlamayan bir dil nesneye dayalı programlama dili sayılmamaktadır. 1. Soyutlama (Abstraction) 2. Sarmalama / Paketleme (Encapsulation) 3. Miras Alma (Inheritance) 4. Çok Biçimlilik (Polymorphism)

1. Soyutlama (Abstraction) ⁻ Karmaşıklığın azaltılması anlamına gelmektedir. ⁻ Nesne tanımlanırken verinin kullanılması veya veriye erişilmesi için gerekli detayların azaltılması işlemidir. ⁻ Örn: «araba» sınıfında «calistir» metodu olduğunu düşünelim ⁻ Bu metodun içerisinde çok sayıda kod vardır ⁻ Nesnede bu metot kullanılırken içerisindeki kodlarla ilgilenilmez. Sadece metot ismi görünür. ⁻ araba1.BilgileriYazdir();

2.Sarmalama/Paketleme (Encapsulation) ⁻ Sınıflar içerisindeki çeşitli özelliklere nerelerden erişilebileceğini belirler ⁻ Güvenlik ve kontrol sağlamaktadır ⁻ Sarmalama erişim denetleyicileri ile sağlanmaktadır. ⁻ Public: Bu şekilde tanımlanmış bir metot veya değişkene herhangi bir yerden ulaşmak mümkündür. ⁻ Private: Bu şekilde tanımlanmış bir metot veya değişkene sadece sınıf içinden ulaşmak mümkündür. ⁻ Protected: Bu şekilde tanımlanmış bir metot veya değişkene tanımlandıkları sınıftan veya bu sınıftan türetilmiş sınıflardan ulaşılabilir.

3. Kalıtım/Miras Alma (Inheritance) ⁻ Kalıtım, ebeveyn(taban sınıf) öğenin özelliklerini çocuk(türetilmiş sınıf) öğelere iletmesi anlamına gelmektedir. ⁻ Türetilen her bir sınıf, türediği sınıfın özelliklerini de devralır. ⁻ Türetilen sınıfta, taban sınıfın özelliklerine ek başka özellikler edinebilir, yada almış oldukları özellik/davranışları geçersiz kılabilirler ⁻ Temel amaç benzer kodları barındıran sınıfların ortak özellik/davranışlarını bir araya toplayarak kodun tekrar kullanılabilirliği (reuse) ve merkezi yönetimini sağlamaktır. ⁻ Örn: «vasita» sınıfının bütün özelliklerini taşıyan ve ek özellikler barındıran «araba» ve «kamyon» sınıfları; «vasita» sınıfından kalıtım olarak, türetilmiş alt sınıflardır.

4.Çok Biçimlilik (Polymorphism) ⁻ Bir türün bir başka tür gibi davranabilme ve bu tür gibi kullanılabilme özelliğidir ⁻ Bir sınıfın kendisinden kalıtım alan sınıfları temsil edebilme yeteneğine çok biçimlilik denir. ⁻ Örn: «vasita» sınıfından türetilmiş «araba» ve «kamyon» sınıfları düşünüldüğünde, «vasita» sınıfının/tipinin kendinden türetilmiş bu iki sınıfın yerine kullanılabilmesidir.

C# Örnekleri public class vasita { private string d_gizli; protected string d_korumali; public string d_genel; public string marka; public string model; public int yil; public string renk; public void BilgileriYazdir() { Console.WriteLine(yil+ " " + renk + " "+ marka + " " + model); } public class araba : vasita { public string yolcu; public void arabaBilgileri() { Console.WriteLine(yil + " " + renk + " " + marka + " " + model+ " Koltuk:" +yolcu); }

C# Örnekleri public void KamyonYazdir(kamyon km) { km.kamyonBilgileri(); } public void ArabaYazdir(araba arb) { arb.arabaBilgileri(); } public void BilgileriYazdir(vasita vs) { vs.BilgileriYazdir(); } araba a1 = new araba(); a1.marka = "Opel"; a1.model = "Astra"; a1.yil = 2010; a1.renk = "Siyah"; kamyon k1 = new kamyon(); k1.marka = "Ford"; k1.model = "2524"; k1.yil = 2005; k1.renk = "Beyaz"; ArabaYazdir(a1); KamyonYazdir(k1); BilgileriYazdir(a1); BilgileriYazdir(k1);