NESNEYE DAYALI MODELLEME VE TASARIM

Slides:



Advertisements
Benzer bir sunumlar
C# - Metotlar.
Advertisements

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
Tuğba DEMİREL
SINIFLAR Yılmaz Kılıçaslan.
NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR
NESNEYE YÖNELİK PROGRAMLAMA KALITIM
Veri ve Veri Yapıları Genel olarak bilgisayarlar.
Nesneye Yönelik Programlama
Nesneye Dayalı Programlama
Nesneye Dayalı Programlama
Visual Basic 6.0 Ders Notları
Miras Alma EM-406 Java.
Javascript Oğuz İNAL.
Nesneye Yönelik Programlama
OOP Tanımlar.
PROSEDÜRLER (YORDAMLAR) (FONKSİYONLAR VE ALT PROGRAMLAR)
Excel’de VBA programlama (Visual Basic Application) Ders 4
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
SINIFLAR GİRİŞ Yılmaz Kılıçaslan.
TBF Genel Matematik I DERS – 1 : Sayı Kümeleri ve Koordinatlar
NESNEYE YÖNELİK PROGRAMLAMA
NESNEYE YÖNELİK PROGRAMLAMANIN TEMEL İLKELERİ GENEL BİR BAKIŞ
P 2. Ünitede Nesneye Dayalı Programlama anlatılıyor. p Nesneye dayalı programlama yeni veri tiplerinin ve bu tipleri işletmek için gereken işlemleri oluşturmayı.
Erişim Denetimi, Fonksiyon
NESNE TABANLI PROGRAMLAMA -METOTLAR-
Nesneye Dayalı Programlama
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ DERLEYENLER: Ahmet Can ÇAKIL Ali Murat GARİPCAN Özgür AYDIN Şahin KARA KONTROL : Prof. Dr. Asaf VAROL KONU : KAPSÜLLEME.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 5: Fonksiyonlar
METODLAR Canan Işıl. 1 İçindekiler Açıklamalar, Örnekler, Sorularınız? Kaynakça, Teşekkürler..
Nesneye Yönelik Programlama
NESNEYE DAYALI PROGRAMLAMA
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 8: Windows Formları
Nesneye Dayalı Programlama
NESNE YÖNELİMLİ PROGRAMLAMA
Ö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.
DERS-1 SİMÜLASYON (BENZETİM) Prof. Dr. Hüseyin BAŞLIGİL
Kalıtım , Sınıf Asli Ergün.
Demet AYDIN METODLAR Demet AYDIN
Nesneye Dayalı Programlama
KALITIM Yılmaz Kılıçaslan.
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
SANAL FONKSİYONLAR VE ÇOKBİÇİMLİLİK Yılmaz Kılıçaslan.
Örnek Adam asmaca oyununun programının yazılması.
Şahin BAYZAN Kocaeli Üniversitesi Teknik Eğitim Fakültesi
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
Karar Bilimi 1. Bölüm.
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
İnsan Kaynakları Bilgi Sistemleri
PROJENİN ADI “Doğrusal Konumlandırıcılar” için Profesyonel Kontrol Ara yüz Tasarımı ve İmalatı.
Adım Adım Algoritma.
BİLGİSAYAR programlama II
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
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.
C dili kullanıcıya kendi ihtiyacı olan bir fonksiyonu yazma imkanı vermiştir. Bir sayının faktöriyelini almaya ihtiyaç duyduğumuzu ve aynı zamanda asal.
Bilişim teknolajileri. ①①① ↕①↕① TEMEL KAVRAMLAR.
VERİ TÜRLERİ.
Nesneye Dayalı Programlama Temel Kavramlar Hüseyin ESKİ.
Excel’de VBA Programlama (Visual Basic Application)
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.
Bilgisayar Bilimi Problem Çözme Süreci-2.
YAPISAL PROGRAMLAMA Hafta-7
Bölüm 6: Kullanıcı Tanımlı Fonksiyonlar I
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Problem Çözme Süreci-3.
MTM216 GÖRSEL PROGRAMLAMA
Sunum transkripti:

NESNEYE DAYALI MODELLEME VE TASARIM Dr. Tuncay YİĞİT Gazi Üniversitesi Bilişim Enstitüsü Bilgisayar Eğitimi ABD

Nesneye Dayalı Programlama Nesneye dayalı programlama, güçlü bir programlama yöntemidir. Tüm NDP dillerinin sahip oldugu üç özellik vardır: Depolama (encapsulation), Çok biçimlilik (polymorphism) miras (intheritance).

Nesneye Dayalı Programlama Encapsulation (Depolama): Depolama, kodu ve kodun işlediği verileri bir araya getiren ve onları dış etkilerden, yanlış kullanımlardan koruyan mekanizmadır. Nesneye dayalı dillerde kod ve veri, bir "kara kutu" oluşturacak şekilde bir araya getirilir. Kod ve verinin bu şekilde birbirine bağlanmasıyla da nesne meydana gelmiş olur. Diğer bir deyişle nesne depolama yaptığımız yerdir. Nesnenin içindeki kod, veri veya her ikisi bu nesneye private (özel) veya public (genel) olabilir. Private kod ve veriler, sadece o nesneye ait bileşenler tarafından bilinebilir ve erişilebilir. Programında nesneye ait olmayan bileşenleri bu private kod ve verilere erişemez. Kod ve verilerimiz public ise, belirli bir nesnenin içinde tanımlansalar da programın diğer parçaları tarafından erişilebilirler. Nesnelere ait public elemanları private elemanlara denetlenebilir şekilde erişebilmek amacıyla kullanırız. Her ne sebeple olursa olsun, nesne, kullanıcı tarafından tanımlanan tipte bir değişkendir. Kodu ve verileri bağlayan nesneyi değişken olarak düşünmemiz size garip görünebilir. Fakat nesnel programlamada durum kesinlikle bu şekildedir. Nesne tipi tanımladığımızda aslında yeni bir veri tipi oluşturuyoruzdur. Bu veri tipi de bileşik bir değişkendir.

Nesneye Dayalı Programlama Polimorfizm (Çok Biçimlilik) Polimorfizm genel anlamda bir adın birbiriyle ilişkili, fakat teknik açıdan farklı iki veya daha fazla amaç için kullanılabilmesi yeteneğidir. NDP kavramı içinde ise polimorfizm, bir adin genel bir iş (action) sınıfını belirlemesine izin verir. Genel bir iş sınıfı içerisinde, yapılacak iş, veri tipi, tarafından belirlenir. Örneğin, polimorfizmi pek fazla desteklemeyen C'de , mutlak değer bulma isi üç ayrı fonksiyon adi gerektirir: abs(), labs() ve fabs(). Bu fonksiyonlar sırayla bir integer'in (tamsayının), bir long integer'in ve bir reel sayının mutlak değerini hesaplar ve döndürür. Fakat polimorfizmi destekleyen C++'da bu fonksiyonlar, abs() gibi tek bir adla adlandırılabilirler. Fonksiyonu çağırmak için kullanılan veri tipi, gerçekte hangi fonksiyonun çalıştırıcağını belirler. Göreceğiniz gibi, C++'da bir fonksiyon adini birkaç farklı amaç için kullanmak mümkündür. Buna fonksiyonların aşırı yüklenmesi (function overloading) adi verilir. Polmorfizm hakkında hatırlamanız gereken önemli nokta, birbirleriyle bağlantılı işlere standart arabirimler oluşturmanıza imkan vererek daha karmaşık durumların üstesinden gelmenizi sağlar.

Nesneye Dayalı Programlama Inheritance (Miras) Miras, bir nesnenin, diğer bir nesnenin özelliklerini alabilmesidir. Daha derine inecek olursak, bir nesne, kendisine ait özellikleri de ekleyebileceği bir özellikler kümesini mirasla alabilir. Miras önemlidir, çünkü nesnelerin hiyerarşik sınıflandırma (hierarchical classification) kavramını desteklemesini sağlar. Pek çok bilgiyi bu hiyerarşik sınıflandırmayı kullanarak kontrol edebiliriz. Örneğin bir ev. Ev genel bir sınıf olan binanın altsınıfı, bina da daha genel bir sınıf olan yapının alt sınıfıdır, yapı ise insan yapımı denen daha da genel bir sınıfın alt sınıfıdır. Alt sınıflar üst sınıflardan miras ile özelliklerini alacaklardır. Eğer bu sıralı sınıflandırılma kullanılmasaydı her nesnenin kendisi ile ilgili tüm özelliklerini açık bir şekilde tanımlaması gerekirdi. Fakat miras sayesinde nesnenin hangi genel sınıfa ait olduğu ve onu diğerlerinden ayıran özelliklerini belirleyerek nesneyi tanımlamak mümkündür. Miras NDP için çok önemli bir özelliktir.