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ı.

Slides:



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

Yazılım Geliştirme ve Java
Saatte V km hız ile giden bir aracın t zamanda aldığı yolu bulan metodu yazınız. Metodu kullanacak bir program yazınız. ( yol=hız*zaman, x=V*t) — Metot.
SCANNER SINIFI ve KLAVYEDEN VERİ OKUNMASI
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
Değişkenler ve bellek Değişkenler
P 6. Ünite stack veri tipini anlatmaktadır. p Bu ünitede stack laerin örnek uygulamalarından bahsedilmektedir. p Bu sunumda N-Queens problemini çözmek.
Java Uygulamaları Konsol Uygulaması.
SINIFLAR Yılmaz Kılıçaslan.
Programlama-II (Java ile Bilgisayar Programlama)
Nesneye Dayalı Programlama
Bölüm 4 – Kontrol İfadeleri:1.kısım
EDUTIME Java Day 4 Serdar TÜRKEL.
P p 8. Ünitede yinelemeli programlamanın teknikleri anlatılmaktadır. p p Gördüğünüz gibi, yinelemeli programlama bir problemin içinde problemin küçük parçalarını.
Tam İkili Ağaçlar 9. Ünite ağaçlardan bahseder.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
NESNEYE DAYALI MODELLEME VE TASARIM
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.
Nesneye Yönelik Programlama Dr. Pelin GÖRGEL
SINIFLAR GİRİŞ Yılmaz Kılıçaslan.
NESNEYE YÖNELİK PROGRAMLAMA
DİZİLER.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
DELEGATE OOP-UYG.
Erişim Denetimi, Fonksiyon
C# Metot Overloading (Aşırı yükleme)
Sorular? Öneriler?. Referanslar Referanslar (Tekrar) Eğer aşağıdaki gibi yazarsak ne olur: int x; double y; char c; ???
JAVADA PROGRAM DENET İ M İ VE OPERATÖRLER. int a ; a=4 ; // do ğ ru bir atama 4=a ; // yanlış bir atama!
İSİM UZAYLARI (NAMESPACE)
NESNEYE DAYALI PROGRAMLAMA
JAVA İ LE PROGRAMLAMAYA G İ R İ Ş Ekim Dr. Galip Aydın.
.Net teknolojisi ve C# Yasin Gedik Dokuz Eylül Üniversitesi (4. Sınıf) Microsoft Danışman Öğrenci
Görsel C# Programlama Güz 2009 (6. Hafta).
Java Sınıf ve Nesne Kavramı UML Gösterimi
Nesneye Dayalı Programlama
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
Ses Kontrol Metodlar ile ilgili son birkaç söz Tekrar: Programlama için başlıca 3 model.
JAVA İLE PROGRAMLAMAYA GİRİŞ
ÇOK BİÇİMLİLİK POLYMORPHISM
Önceki Dersi Hatırlama !!
P Koleksiyon sınıfı bir grup öğeyi tutabilen bir veri tipidir. p Java da, koleksiyon sınıfları öğeleri ekleme,çıkarma,inceleme metodlarıyla birlikte bir.
Kalıtım.
JAVA’DA DÖNGÜLER.
Numaralandırmalar(Enumaration)
Kalıtım , Sınıf Asli Ergün.
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
Nesneye Dayalı Programlama
JAVA’DA DİZİLER Dr.Galip AYDIN.
Sınıflar ve Nesneler Sınıf: bir nesnenin şablonunu, kalıbını, şeklini, davranışını, kalıtımını değişkenleri, metodları ve ebeveynleri vasıtasıyla tanımlar.
Trees, Vectors, Iterators. ADT Abstract Data Type (ADT) vs implementation -Soyut Veri Türleri - Uygulamaları.
P Önemli bir konu: önşartlar and hedefşartlar. p Bir metodun neyi netice vereceğinin belirlenmesinin yöntemleridirler. Önşartlar ve Hedefşartlar Java Kullanarak.
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.
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
JAVA PROGRAMLAMA ORNEKLER
Görsel C# ile Windows Programlama
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; }
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
BİLGİSAYAR programlama II
Hafta2 Rekürsif Algoritmalar
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#
Veri Tipleri 12/4/2018.
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
Bölüm 10: Kayıtlar – Records (structs)
Kurucular(Yapıcılar), Yıkıcılar
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
Sunum transkripti:

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ı destekleyen oldukça yeni bir programlama yaklaşımı. p Bu sunumda nesneye dayalı programlamaya giriş yapılacak Nesneye Dayalı Programlama Java Kullanarak Veri Yapıları ve Veri Yapıları ve Diğer Nesneler Diğer Nesneler

Bu nesne nedir ? p Bu sorunun hiçbir gerçek cevabı yok ama biz ona “düşünen kep” diyeceğiz. p Plan; ona ne tür işlemler yapılabileceğini size söyleyerek düşünen bir kep tanımlamaktır.

Nesnenin Yuvalarını Kullanma p Herbirinin üzerine bir cümle yazarak iki yuvaya(yeşil ve kırmızı) da bir parça kağıt yerleştirebilirsiniz. p Yeşil düğmeye basabilirsiniz ve düşünen kep yeşil yuvanın kağıdındaki cümleyi konuşacaktır. p Ve kırmızı düğme için de aynı şey söz konusu

Örneğin

Şu test çok basitti!

Örneğin Daha sıkı çalışmalıyım !

Düşünen Kep Uygulaması p sınıf denilen bir veri tipi kullanarak düşünen kepi uygulayabiliriz. public class ThinkingCap {... }

Düşünen Kep Uygulaması p Sınıf yesilKelimeler ve kirmiziKelimeler diye iki bilesene sahip olacak. Bu bileşenler iki yuvaya yerleştirilen bilgileri tutacak stringler olacak. p Sınıf kullanmak iki özelliğe izin verir... public class ThinkingCap { String greenWords; String redWords;... }

Düşünen Kep Uygulaması Œİki bileşen private durum değişkenleri ile tanımlanmıştır. Bu hiç kimsenin doğrudan bu bilgiye ulaşmamasını temin eder. Tek erişim class için sağlanan metodlarladır. public class ThinkingCap { private char greenWords; private char redWords;... }

Düşünen Kep Uygulaması Bir sınıfta, classı işleten metodlar da listelenmiştir. class ThinkingCap { private char greenWords; private char redWords;... } Düşünen kepin metodlarının uygulaması buraya gelecek.

Düşünen Kep Uygulaması public class ThinkingCap { private char greenWords; private char redWords; public void slots(String newGreen, String newRed)... public void pushGreen( )... public void pushRed( )... } Düşünen kepimizin en az 3 tane metodu var:

Düşünen Kep Uygulaması package edu.colorado.simulations; public class ThinkingCap { private char greenWords; private char redWords; public void slots(String newGreen, String newRed)... public void pushGreen( )... public void pushRed( )... } Burada da görüldüğü gibi, yeni bir sınıfın kodları genelde bir Java paketine konur. Bu ThinkingCap.java ve ThinkingCap.class dosyaları edu/colorado/simulations dosyasının altında olacak anlamına gelir

Düşünen Kepi Kullanma p Düşünen kepi kullanmak isteyen bir program ThinkingCap sınıfını ithal edebilir. import edu.colorado.simulations.ThinkingCap;...

Düşünen Kepi Kullanma p Sadece eğlence için örnek progaram student ve fan diye iki tane ThinkingCap değişkeni tanımlayacak. import edu.colorado.simulations.ThinkingCap; public class Example { public static void main( ) { ThinkingCap student; ThinkingCap fan;

Düşünen Kepi Kullanma p Değişkenler, referans değişkenlerine örnek verilebilir. Referans değişkenleri new operatörü ile oluşturduğumuz ThinkingCap nesnelerine referans gösterme yeteneğine sahiptirler. import edu.colorado.simulations.ThinkingCap ; public class Example { public static void main( ) { ThinkingCap student; ThinkingCap fan; student = new ThinkingCap( ); fan = new ThinkingCap( );

Düşünen Kepi Kullanma p ThinkingCap nesneleri oluşturulunca metodları aktifleştirebiliriz student düşünen kepi için slots gibi.. import edu.colorado.simulations.ThinkingCap ; public class Example { public static void main( ) { ThinkingCap student; ThinkingCap fan; student = new ThinkingCap( ); fan = new ThinkingCap( ); student. slots( "Hello", "Bye");

Düşünen Kepi Kullanma p ThinkingCap ler oluşturulunca metodları aktifleştirebiliriz student düşünen kepi için slots gibi.. import edu.colorado.simulations.ThinkingCap; public class Example { public static void main(String[ ] args) { ThinkingCap student; ThinkingCap fan; student = new ThinkingCap( ); fan = new ThinkingCap( ); student. slots( "Hello", "Bye");

Düşünen Kepi Kullanma ŒMetodu aktifleştirme değişken adıyla başlayan 4 bölümden oluşur. student. slots( "Hello", "Bye"); Değişkenin adı

Düşünen Kepi Kullanma Değişken adını bir nokta takip eder. student. slots( "Hello", "Bye"); Bir nokta

Düşünen Kep Uygulaması ŽNoktadan sonra aktifleştireceğiniz metodun adı gelir. student. slots( "Hello", "Bye"); Metodun adı

Düşünen Kepi Kullanma Son olarak, metod için değişkenler. Bu örnekte ilk değişken (newGreen)"Hell o" ve ikinci bağımsız değişken (newRed) "Bye". student. slots( "Hello", "Bye"); Bağımsız değişkenler

Quiz student’ın pushGreen metodunu nasıl aktifleştirebilirsiniz ? Bu noktada student’ın pushGreen metodunun çıktısı ne olur? public static void main(String[ ] args) { ThinkingCap student; ThinkingCap fan; student = new ThinkingCap( ); fan = new ThinkingCap( ); student. slots( "Hello", "Bye");

Quiz pushGreen metodunun hiç bağımsız değişkeni olmadığına dikkat ediniz. Bu noktada, student.pushGreen’i aktifleştirince Hello yazacaktır. public static void main(String[ ] args) { ThinkingCap student; ThinkingCap fan; student = new ThinkingCap( ); fan = new ThinkingCap( ); student. slots( "Hello", "Bye"); student.pushGreen( );

Quiz Programı takip et ve bana tam çıktının ne olacağını söyle. public static void main(String[ ] args) { ThinkingCap student; ThinkingCap fan; student = new ThinkingCap( ); fan = new ThinkingCap( ); student. slots( "Hello", "Bye"); fan. slots( "Go Cougars!", "Boo!"); student. pushGreen( ); fan. pushGreen( ); student. pushRed( );...

Quiz Hello Go Cougars! Bye public static void main(String[ ] args) { ThinkingCap student; ThinkingCap fan; student = new ThinkingCap( ); fan = new ThinkingCap( ); student. slots( "Hello", "Bye"); fan. slots( "Go Cougars!", "Boo!"); student. pushGreen( ); fan. pushGreen( ); student. pushRed( );...

Nesneler hakkında bildikleriniz ü Sınıf = Veri + Metodlar. ü Bir sınıfın nasıl yazılacağını ve yeni sınıfı bir paketin içine koymayı biliyorsunuz. ü Bir sınıfı, bu sınıfı kullanan bir programa nasıl ithal edeceğinizi biliyorsunuz. ü Metodları nasıl aktifleştirebileceğinizi biliyorsunuz. ü Fakat hala bir sınıfın metodlarının uygulayamasını nasıl yazacağınızı öğrenmeye ihtiyacınız var.

Düşünen Kep Uygulaması public class ThinkingCap { private String greenWords; private String redWords; public void slots(String newGreen, String newRed)... public void pushGreen( )... public void pushRed( )... } Slots ın gövdesine bakacağız, kendi iki bağımsız değişkenini iki private durum değişkenine kopyalayacak

Düşünen Kep Uygulaması public void slots(String newGreen, String newRed) { greenWords = newGreen; redWords = newRed; } Metodun uygulaması, parametre listesinden sonra olur. Bir metodun uygulaması için bir özellik vardır..

Düşünen Kep Uygulaması public void slots(String newGreen, String newRed) { greenWords = newGreen; redWords = newRed; } Metodun gövdesinin içinde, sınıfın durum değişkenleri ve diğer metodlarının hepsine erişilebilir.

Düşünen Kep Uygulaması ? Metodun gövdesinin içinde, sınıfın durum değişkenleri ve diğer metodlarının hepsine erişilebilir. public void slots(String newGreen, String newRed) { greenWords = newGreen; redWords = newRed; } Ama, bunlar kimin durum değişkenleri? student.greenWords student.redWords mi yoksa fan.greenWords fan.redWords mi?

Düşünen Kep Uygulaması Metodun gövdesinin içinde, sınıfın durum değişkenleri ve diğer metodlarının hepsine erişilebilir. public void slots(String newGreen, String newRed) { greenWords = newGreen; redWords = newRed; } student.slots’ı aktifleştirirsek: student.greenWords student.redWords

Düşünen Kep Uygulaması public void slots(String newGreen, String newRed) { greenWords = newGreen; redWords = newRed; } fan.slots’ı aktifleştirirsek: fan.greenWords fan.redWords Metodun gövdesinin içinde, sınıfın durum değişkenleri ve diğer metodlarının hepsine erişilebilir.

Düşünen Kep Uygulaması public void pushGreen( ) { System.out.println(greenWords); } İşte yeşil kelimeleri yazdıran pushGreen metodunun uygulaması:

Düşünen Kep Uygulaması İşte yeşil kelimeleri yazdıran pushGreen metodunun uygulaması: Bu metod uygulamsının, greenWords durum değişkenlerini nasıl kullandığına dikkat ediniz. public void pushGreen( ) { System.out.println(greenWords); }

Ortak Bir Desen p Sık sık, bir veya daha fazla metod veriyi durum değişkeninin içine yerleştirecektir. public class ThinkingCap { private String greenWords; private String redWords;... } p...böylece, diğer metodlar o veriyi kullanabilir. slots pushGreen & pushRed

p Snıfların durum değişkenleri ve metodları vardır. Bir nesne veri tipi sınıf olan bir değişkendir. p Yani bir sınıf tipi nasıl tanımlanır,metodları nasıl uygulanır,sınıf tipi nasıl kullanılır biliyor olmalısınız. p Sık sık, bir sınıf tipinin netodları bilgiyi durum değişkenlerinin içine koyar veya durum değişkenlerinin içindeki bilgiyi kullanır. p İleride Nesneye Dayalı Programlamanın daha fazla özelliğini göreceğiz. Özet

SON Presentation copyright 1999, Addison Wesley Longman For use with Data Structures and Other Objects Using Java by Michael Main Some artwork in the presentation is used with permission from Presentation Task Force (copyright New Vision Technologies Inc.) and Corel Gallery Clipart Catalog (copyright Corel Corporation, 3G Graphics Inc., Archive Arts, Cartesia Software, Image Club Graphics Inc., One Mile Up Inc., TechPool Studios, Totem Graphics Inc.). Students and instructors who use Data Structures and Other Objects Using Java are welcome to use this presentation however they see fit, so long as this copyright notice remains intact.