Nesne tabanl programlamaya giri
This presentation is the property of its rightful owner.
Sponsored Links
1 / 31

Nesne Tabanlı Programlamaya Giriş PowerPoint PPT Presentation


  • 554 Views
  • Uploaded on
  • Presentation posted in: General

Nesne Tabanlı Programlamaya Giriş. BTP 324 Fatih Üniversitesi Bilgisayar Teknolojisi ve Programlama Bölümü. Dersin Genel İçeriği. Nesne Tabanlı Programlama Temelleri Nesne Tabanlı Tasarım Nesne tabanlı uygulamalarda Java dilini nasıl kullanabiliriz?. Ders İçin Gerekli Olan. Kitap

Download Presentation

Nesne Tabanlı Programlamaya Giriş

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Nesne tabanl programlamaya giri

Nesne Tabanlı Programlamaya Giriş

BTP 324

Fatih Üniversitesi

Bilgisayar Teknolojisi ve Programlama Bölümü


Dersin genel eri i

Dersin Genel İçeriği

  • Nesne Tabanlı Programlama Temelleri

  • Nesne Tabanlı Tasarım

  • Nesne tabanlı uygulamalarda Java dilini nasıl kullanabiliriz?


Ders in gerekli olan

Ders İçin Gerekli Olan

  • Kitap

    • Türkçe kaynak:Java Herkes İçin, Alfa Yayınları

    • İngilizce kaynak: Java How to Program ,Deitel&Deitel, 5 Edition

  • Java Virtual Machine (1.4.2 )

    • http://java.sun.com

  • Text Editör

    • Eclipse


Notland rma

Notlandırma

  • %30Vize ve uygulama vizesi

  • %40 Final

  • %20  Proje-ödev

  • % 10  derse katılım ve devam

    • devam % 70


Nemli notlar

Önemli Notlar

  • Lablarda ve teori derslerinde bonus sorulara cevap verenleri ödüllendirme

  • Vizelere katılmayanlar için ek sınavın yapılamayacağını bilme

  • Mazeret sınavlarının vize ve final sınavlarından daha zor ve farklı olduğunu bilme

  • Ofis saatlerini değerlendirme

    • Pazartesi 11.00- 12.00 ,Perşembe 15.00-16.00, Cuma : 14.00- 15.00

  • Çalışmanızı ve gayretinizi hocanıza dönem içinde gösterme

  • Dönem sonunda hocanızdan kişisel ödev veya proje talebinde bulunmama


Akl n za tak lanlar

Aklınıza Takılanlar??

Derse geçmeden önce!!


Zor sorular

Zor Sorular

  • Nesne Tabanlı Programlama Nedir? (Object-Oriented Programming)

  • Niçin bu kadar popüler?

    • NTP kendisinden önce varolan tüm dillerden farklı, devrim yaratan bir düşüncedir.


Ntp neden bu kadar pop ler

NTP Neden bu kadar Popüler?

  • Birkaç sebep:

    • Üretkenliğini ve verimliliğini hızlı bir şekilde kanıtladı.

    • Varolan dillerden kolaylıkla geçiş yapıldı.

    • Problemlerin çözümüne nesnesel bakmayı yani insan anlayışı bakışı getirdi.


Yeni model

Yeni Model

  • Model:Örnek/Modeldünyanın nasıl çalıştığını anlamamıza yardım eder.

    • Bir örnek cümle fiil çekiminin nasıl yapıldığını hatırlatır.

    • Newton modeli (kuralları) niçin elmanın ağaçtan düştüğünü açıklar.

  • Bunları programlama dili ile nasıl anlatabiliriz?


Ntp modeli

NTP Modeli

  • Bilgisayar Bilimlerinde bir model elementlerin nasıl bilgisayar programında tasarlandığını ve elementlerin birbirleriyle nasıl haberleştiğini açıklar.

  • NTP bir modeldirDünyayı algılama yolu

  • NTP iletişim halinde olan topluluklar gibi yapılanırobjeler.

  • Her obje bir hizmet (service) yada diğer üyelerin kullanacağı bir olay (action) gerçekleştirir.


Ntp prensiplerinin a klamas

NTP’ prensiplerinin Açıklaması

  • Herşey bir objedir.

  • Objeler birbirlerine ulaşan mesajlar yada istekler oluştururlar.

  • Her objenin kendi hafızası vardır.

  • Her obje bir sınıfınörneğidir.Sınıf benzer objeleri gruplayan tasarıdır.

  • Sınıf, obje ile ilgili davranışların tanıtıldığı yerdir.

  • Sınıflar tek köklü ağaç yapıları içinde organize edilirler.Bu yapıya miras hiyerarşisi denir.


Ntp i eri ini a klayan bir rnek ehir d ndaki bir arkada a i ek yollamak

NTP içeriğini açıklayan bir örnek –Şehir dışındaki bir arkadaşa çiçek yollamak

  • Bunu kendim yapamam.Öyleyse kendi Çiçekçimi kullanayım.Çiçekçime (adı Flo) arkadaşımın adresini verdim, ne kadarlık bir çiçek yaptırmak istediğimi, ne tür çiçek istediğimi söyledim.

  • Flo arkadaşımın şehrindeki çiçekçi ile kontak kurdu.O da çiçekleri yaptırdı ve taşımacı ile anlaşarak çiçeği teslim etti.


I ek i rne i devam

Çiçekçi Örneği Devam

  • Eğer düşüncemizi daha geniş tutsa idik başka insanlarda bu işlemin içine gireceklerdi.Çiçek yetiştiricisi, aranjmanı yapan kişi ve daha başka insanlar...

  • Problemimizin çözümü için insanların birbiri ile iletişimde olması gerektiğini gördük.


Objeler

Objeler

  • Herşey bir obje

  • Örnekler olayları oluşturur.

  • Kendim,arkadaşım, çiçekçi, arkadaşımın şehrinde olan çiçekçi, şoför, çiçek aranjmanı, çiftçi


Mesajlar

Mesajlar

  • Objeler birbirlerine mesajlar iletirler.

  • Bir örnek bu mesajı kabul edebilir (accept) ve geri dönüşte bir olay gerçekleştirip bir değer geri döndürebilir.


Mesajlar ve metodlar

Mesajlar ve Metodlar

  • Olay başlatma: Bir objeye ait bir mesajı gönderme olayın sorumluluğu altındadır.

  • Mesaj,olay için istek olarak kodlanır ve isteğin taşınması için gerekli başka bilgiler mesaja eklenir.

  • Mesaj giden obje alıcıdır. Eğer alıcı mesajı kabul ederse, alıcı istenen olayı gerçekleştirmekle sorumludur.


Bilgi soyutlama

Bilgi Soyutlama

  • Benim bilmem gereken sadece objenin kabul edeceği mesaj ismidir.

  • Benim isteğimin nasıl gerçekleştiğinin, hangi olaylarla gerçekleştiğini hakkında bir bilgim yok.

  • Ama taşıyıcı obje bu işi gerçekleştirmekle sorumlu.


Al c lar

Alıcılar

  • Mesajlar kullandığımız fonksiyonlardan farklı olarak çağrılırlar:

    • Mesajda mesajı kabul edecek alıcıya göre tasarlanma var./Bildiğimiz fonksiyonlarda alıcıya göre tasarlanma

    • Alıcıya göre aynı mesaj farklı yorumlanabilir. (Polimorfizm)

      • Karen (arkadaşıma) çiçek yollayabilir

      • Flo (arkadaşıma) çiçek yollayabilir (metodlar farklı)

      • Alice(arkadaşıma) çiçek yollayamaz

        • Metod yok

        • İsteği anladı ama hatalı cevap verdi.


Farkl olaylar

Farklı Olaylar

public class ActionTester {

Florist flo = new Florist();

Wife beth = new Wife();

Dentist ken = new Dentist();

HumanBeing myFriend = new HumanBeing();

public static void main(String[] args) {

flo.sendFlowersTo(myFriend); // will work

beth.sendFlowersTo(myFriend); // probably will work

ken.sendFlowersTo(myFriend); // probably will not work

}

}


Bilgisayarlar ve programlar

Bilgisayarlar ve Programlar

  • Mesajın hangi alıcıya gideceği program çalışma anına kadar bilinmez.

  • Mesaj ile kod arasındaki bu işe late binding yani geç bağlanma denir.


Sorumluluklar

Sorumluluklar

  • NTP temel konu sorumlu olunan davranışları tanımlama

  • Geleneksel programlar genellikle veriler üzerinde kodlama yaparlar

    • Bir dizide değer değiştirme..

  • NTP ise veriler (objeler) bir hizmet oluşturmak için talep edilir.


Sorumluluklar1

Sorumluluklar

“Ask not what you can do to your data structures, but what your data structure can do for you”


Tekrarlanan tasar

Tekrarlanan Tasarı

  • Her objenin kendi hafızası vardır.

  • Her obje minyatür bilgisayar gibi işler – her özel işlemci ayrı bir iş yapar.


S n flar

Sınıflar

  • Flo  Bir çiçekçiden istediğim tüm davranışları sergileyebilmeli

  • Çiçekçi  Genel bir model

  • Flo ise bu modelin bir örneği, tüm kurallara itaat eden

  • Her obje bir sınıfın örneğidir.Sınıflar objeleri gruplarlar.

  • Sınıf objelere ait davranışların tanımlandığı yerdir.Tüm objeler bir sınıfın örneğidirler. Ve tüm objeler sınıfta tanımlanan aynı metodları kullanırlar.


S n f hiyerar isi

Sınıf Hiyerarşisi


Miras

Miras

  • Sınıflar tek köklü ağaç yapısıyla organize olurlar.Buna miras hiyerarşisi denir.

    • Bir sınıf için tanımladığım bilgi (verive/veyadavranış) ondan türeyen daha alt düzeydeki sınıflar için de tanımlıdır.

    • Flo is-A Florist is-A Shopkeeper Flo is a more specialized form of the category Shopkeeper. Any Knowledge about Shopkeeper is also true for Florist and hence Flo


Overriding ptal etme

Overriding (İptal etme)

  • Subclasses can alter or override information inherited from parent classes:

    • All mammals give birth to live young

    • A platypus is an egg-laying mammal

  • Subclass have a method with the same name as the method in parent class and states the search rule to match a specific method

    • If no appropriate method in subclass go up to parents until either a method is found or the parent class chain is exhausted.


Nesne tabanli programlamaya giris

Özet

  • NTP programlama dillerine eklenecek kadar kolay bir özellik değildir. Yeni bir düşünme yoludur.

  • NTP programa birbiri ile ilişkideki topluluklar gözü ile bakar. Belli bir amaç için varolan ve bir görevi olan her şeye obje der.

  • Obje veri ve davranışları ile kapsülleşmiş olarak oluşur.


Nesne tabanli programlamaya giris

Özet

  • Sınıf, bir grup nesne tarafından paylaşılacak olan yapı ve davranışları tanımlar.

  • Belli bir sınıfın her nesnesi, sanki o sınıfın bir kalıp ile damgalanmış gibi sınıf tarafından tanımlanan yapı ve davranışı gösterirSınıf örnekleri

  • Sınıfın kod ve verilerine üye denir.


Nesne tabanli programlamaya giris

Özet

  • Sınıf tarafından tanımlanan veriye üye değişken denir

  • Bu veri üzerinde iş göre koda üye metot denir.

  • Sınıfın davranışları metotlar tarafından tanımlanır.


Nesne tabanli programlamaya giris

Özet

  • Miras, bir nesnenin diğer bir nesnenin özelliklerini kazanmasıdır.

  • Polimorfizm ise bir arabirim- çok metot kavramı ile açıklanır. Aynı metodun farklı alıcılara göre farklı davranması

    • Köpek – koklama

      • Koklama(kedi)  havlar, kovalar

      • Koklama (yiyecek)  salya akar, kaba koşar.


  • Login