Nesne Tanımı class

advertisement
Mobil Uygulama Geliştirme
2.Hafta
Öğr. Gör. Ali
DURDU
Java
Java, Sun Microsystems mühendislerinden James
Gosling tarafından geliştirilmeye başlanmış açık
kodlu, nesneye yönelik, zeminden bağımsız, yüksek
verimli, çok işlevli, yüksek seviye, adım adım işletilen
(yorumlanan-interpreted) bir dildir.
Java
uygulamaları
bilgisayar
mimarisine
bağlı
olmadan herhangi bir Java Virtual Machine (JVM)'de
çalışabilen tipik byte koddur.
Java Programı Nasıl Çalışır
•
•
•
•
•
Java kodunu programcı yazar.
Kod java derleyicisi ile derlenir.
Bytecode adı verilen sanal makine kodu oluşur.
Bytecode java sanal makinesi tarafından işletilir.
Java sanal makinesi her platform için farklı olarak bulunmaktadır.
Bazı temel ifadeler
•
JDK (Java Development Kit) : Java geliştiricilerine yönelik Oracle
ürünüdür. Java yazılım geliştirilmesi için gerekli tüm ekipmanların
bulunduğu paketi içerir. Bunlardan bazıları;
o
Java : Yorumlayıcı ve başlatıcıdır.
o
Javac: Kaynak kodunu bytecode’ a çevirir.
o
Jar: İlgili sınıfların kütüphanelerini tek bir jar dosyanına çevirir. Arşivleme
işlevi sunar.
o
Jconsole : Java izleme ve yönetim konsolu
JDK içerisinden bunlar gibi pek çok bileşen bulunmaktadır.
•
JVM(Java Virtual Machine): Java sanal makinesi bytecode’a
dönüştürülmüş kodları işler ve bulunduğu platforma uygun olarak
çalıştırır.
JDK’yı Elde Etme
•
•
JDK Oracle tarafından ücretsiz olarak dağıtılmaktadır.
JDK indirmek için www.oracle.com adresine girerek Downloads
sekmesinden Java for Developers seçeneğini tıklamalıyız.
Jdk Download seçeneğini tıklayınız.
JDK’yı Elde Etme
Eclipse
Java uygulaması geliştirebilmek için en popüler ve Google’da önerdiği Eclipse
IDE’si ihtiyacımızı rahatlıkla karşılamaktadır.
http://www.eclipse.org/downloads/ adresinden Eclipse’i ücretsiz olarak
indirebilirsiniz.
Basit bir JAVA programını derlemek
Öncelikle çalışma alanınızın konumunu seçiniz.
Basit bir JAVA programını derlemek
Yeni bir proje açmak için File > New > Java Project seçeneğini seçiniz.
Basit bir JAVA programını derlemek
Yeni bir proje açmak için File > New > Java Project seçeneğini seçiniz.
Basit bir JAVA programını derlemek
Açılan pencereden proje
adınızı belirleyin.
Yüklediğiniz JRE sürümünü
seçmeyi unutmayınız.
'add project to build path'
seçeneğini işaretlerseniz
yeni eklenecek class'lar
projenizin yoluna eklenmiş
olacaktır. Bunu yapmanız
önerilir.
Next tuşundan sonra son
olarak finish tuşu ile yeni
bir java projesi oluşturmuş
olursunuz.
Basit bir JAVA programını derlemek
Yeni bir sınıf ekleyerek
ilk sınıfımızı oluşturuyoruz.
Basit bir JAVA programını derlemek
Açılan pencereden sınıfımızın adını
yazarak devam ediyoruz. Finish tuşu
ile yeni sınıfımız oluşmuş olacaktır.
Yukarıdaki kodu yazarak programımızı
Run tuşu ile derleyebiliriz. İlk programımız
çalışmış ve konsolda sonucu görebiliriz.
IDE Ortamı
IDE Ortamı
Kırmızı çizgili yer kaynak dosyaları göstericidir.
Mavi çizgili yer renklendirmeli editör ile kodların yazıldığı kısımdır.
Siyah çizgili yer kodun bir haritasını sunar.
Yeşil çizgili yer konsol ve hata ekranlarının bulunduğu kısımdır.
Kaynak Klasörlerin Anlamları
src: Kaynak kodlar src adlı klasörde tutulur.
lib: Harici java kütüphanelerinin projeye eklenmesi için kullanılan jar
dosyalarının saklandığı yerdir.
Lib klasörü altında bir jar dosyasını proyeje eklemek için dosyaya sağ tıklayıp
Buid Path > Add to Built Path seçeneğini seçmeliyiz.
Java Programının Temel Yapısı
Kod
İşlev
package javaapp;
Birinci kısım ihtiyaç olan
komutları barındıran paketlerin
çağrılmasıdır.
public class ilkclass{
…
…
…
}
İkinci kısım sınıf tanımıdır.
Tüm kodlar sınıflar içerisinde
yazılır.
public static void main(main(String[] args){
…
…
…
}
Üçüncü kısım ise ana program
kısmıdır. Ana programın adı
main olmak zorundadır.
Projenin ilk başlangıç noktası
burasıdır.
Java Programı Genel Kurallar
Her java programı en az bir sınıf içerir.
Sınıfların ve fonksiyonların başlangıçı { ile yapılır ve } ile kapatılır.
Her { } arasında yazılan kodlar bir grup oluşturur.
Her komut ; ile sonlanır.
Büyük küçük harf duyarlılığı vardır.
Çok satırlı açıklama satırı /* ile başlar */ ile biter. Tek satırlı açıklama satırı
için // kulanılır.
Değişken tanımlarında ilk karekter sayı ile başlayamaz.
Komut ve özel anlam içeren ifadeler değişken adı olarak verilemez.
İşlem Operatörleri
operatör
sembolü
kullanlışı
işlem sonucu
tekli negatif alma
–
–a
a’nın negatifini alır
son artım
++
a++
önce a’nın değerini al, kullan, sonra
1artır.
ön artım
++
++a
önce a’nın değerini 1 artır, sonra
kullan.
son azaltım
––
a––
önce a’nın değerini al, kullan, sonra
1son azaltım azalt.
ön azaltım
––
––a
önce a’nın değerini 1 azalt, sonra
kullan.
Aritmetiksel İşlem Operatörleri
Operatör
Sembolü
Kullanılışı
İşlem Sonucu
çarpma
*
a*b
a ile b’nin çarpımı
bölme
/
a/b
a’nın b’ye bölümü
kalan
%
a%b
a’nın b’ye
bölümünden kalan
toplama
+
a+b
a’nın b ile toplanması
çıkarma
–
a-b
b’nin a’dan
çıkarılması
Atama Operatörleri
Operatör
Sembolü
Kullanılışı
İşlem Sonucu
Atama
=
x=y
y’nin değerini x’e ata
Topla-ata
+=
x+=y
x + y’nin değerini x’e
ata
Çıkar-ata
–=
x–=y
x – y’nin değerini x’e
ata
Çarp-ata
*=
x*=y
x * y’nin değerini x’e
ata
Böl-ata
/=
x/=y
x / y’nin değerini x’e
ata
Kalanını ata
%=
x%=y
x % y’nin değerini x’e
ata
Operatörlerde Öncelik Sırası
birleşme
öncelik
operatör
sırası
operatörün adı ve işlevi
soldan sağa
1
*, /, %
çarpma, bölme, modüler işlem (multiplicative operators)
soldan sağa
2
+, -
toplama, çıkarma (additive operators)
soldan sağa
3
<, >, >=,<=
i̇lişkisel operatörler (relational operators)
soldan sağa
4
==, !=
eşitlik, eşitsizlik kontrolü (comparisons for equality and inequality)
soldan sağa
5
&
bit düzeyinde ve (bitwise and)
soldan sağa
6
|
bit düzeyinde veya (bitwise or)
soldan sağa
7
&&
mantıksal ve (logical and)
soldan sağa
8
||
mantıksal veya (logical or)
sağdan sola
9
?:
koşul operatörü (conditional operator)
sağdan sola
10
= +=-=*=
/=%=>>=<<=
|&= ^=
atama operatörü (assignment operator)
Değişken Türleri
Integer : Tamsayı tipinde sayıları tanımlar.
int a=6;
float,double: Ondalık sayıları tanımlar.
float x,y,z; u;
x=3; y=5; z=6;
u=1.4453;
char: Ascii kodunu depolar.
char c ='a';
boolean: Mantısal doğru veya yanlış bilgisini saklar.
boolean b= false;
Karar İfadeleri
if Deyimi
Programın çalışma sırasını belirli bir şartın sağlanma durumunda bir
yöne sağlanmama durumunda ise diğer yöne yönlendiren ifadelerdir.
if (şart) {
Komut 1;
}
else {
Komut 2;
}
? Operatörü ile if kullanımı
Şart ? Komut 1: Komut2;
Karar İfadeleri
Switch Case
Programın çalışma sırasını belirli bir şartın sağlanma durumunda bir
yöne sağlanmama durumunda ise diğer yöne yönlendiren ifadelerdir.
switch (durum) {
case 1: Komut 1;
break;
case 2: Komut 2;
break;
case 3: Komut 3;
break;
default: Komut 4;
break;
}
Döngüler
While
Programın çalışmasını belirli bir şart sağlanıncaya kadar komutları
tekrar işletmek için kullanılan ifadelerdir.
while(şart)
{
Komut 1;
Komut 2;
…
Komut n;
}
Döngüler
for
Programın çalışmasını belirli bir şart sağlanıncaya kadar komutları
tekrar işletmek için kullanılan ifadelerdir.
for (ifade1;ifade2;ifade3) {
Komut 1;
Komut 2;
…
Komut n;
}
Döngüler
break
Bir döngü tekrar ederken kullanıldığı yerde döngüyü kırarak
programın işleyişini döngü dışına çıkartır.
for (ifade1;ifade2;ifade3) {
Komut 1;
Komut 2;
…
Komut n;
if (sart) break;
}
Döngüler
continue
Bir döngü tekrar ederken kullanıldığı yerde peşinden gelen
satırlardaki kodları işlemeden programın işleyişini döngü başına çıkartır.
for (ifade1;ifade2;ifade3) {
if (sart) continue;
Komut 1;
Komut 2;
…
Komut n;
}
Diziler – Tek Boyutlu
Aynı türden verileri içeren bir veri kümesi barındırır. Her bir elemanın indisi
vardır. Bu indisler üzerinden elemanlara erişilebilir.
Tip DiziAdı[ ] = new Tip [ Eleman Sayısı ];
int [ ] a= new int [5] ;
Diziler – Çok Boyutlu
Ad Soyad
Ödeme1
Ödeme2
Ödeme3
Ali DURDU
700
600
650
Osman KARA
900
800
700
Sezai ŞENER
300
400
350
Asım AK
500
450
470
Yasin ER
600
500
480
tür [,] degisken=new tür[satir,sutun];
int [,] odemeler=new int [5,4];
Nesne Yönelimli Programlama
Nesne:
Nesne
türetildiği
sınıfın
özelliklerini
(property)
ve
metotlarını(function) içeren bir bileşendir. Nesnenin yapısı sınıfdır. Sınıfın
özelliklerine üyeler denir.
Nesnenin 4 temel özelliği vardır.
1-Soyutlama(Abstract): Bir işlevi yerine getirecek nesnenin özelliklerini
genelleştirmektir. Örneğin bir araba düşünürsek binlerce çeşit araba vardır.
Fakat arabaların standart özellikleri vardır. Mesela rengi, kapı adedi,
maksimum hızı, yolcu adedi vs. Bunlar her araba için olabilecek özelliklerdir.
Soyutlama bir nesnenin bilgisayarda tanıtılması anlamında kullanılabilr.
2-Sarmalama(Encapsulation): Sınıfı oluşturan özellikleri ve işlevleri bu
sınıfı kullanacak olan kullanıcılardan gizlenmesidir.
3-Miras Alma(Inheritance): Nesneye yönelik programlamada, bir nesne,
genellikle bir nesne sınıfına ait bir örnektir. Bir sınıf başka bir sınıftan kalıtım
alabilir. Yani çocuğumuzun özelliklerinin bize benzemesi bir kalıtım alma
meselesidir. Sınıflarda türetildikleri sınıfların özelliklerini alırlar.
Nesne Yönelimli Programlama
4-Çok Biçimlilik(Polymorphism):
Farklı nesnelerin, aynı mesaja (olaya ya da uyarıma) farklı şekillerde cevap
verebilme yeteneğidir. Her nesne sınıfı, kendi metotlarını paketlediği için
ve bu metotlar programın kalan kısmı için gizli olduğundan, farklı sınıflar
aynı isimde bazı metotlara sahip olabilirler.
Nesne Tanımı
class Sınıfİsmi {
Özellik Tanımları;
Metod Tanımları;
}
Nesne Yönelimli Programlama
class Daire
{
public double yariCap;
public double alan()
{
return 3.14159 * yariCap * yariCap;
}
public double cevre()
{
return 2 * 3.14159 * yariCap;
}
}
Nesne Yönelimli Programlama
Sınıftan nesne türetme
Daire d = new Daire();
Metotlara Erişim
d.cevre();
d.alan();
Özelliklere Erişim
d.yariCap;
Nesne Yönelimli Programlama
Miras Alma
class sınıfadı extends miras_alınacak_sınıfadı
{
özellikler….
metotlar…
}
Nesne Yönelimli Programlama
Miras Alma
class Kamyon extends Arac
{
public teker_sayisi;
public motor_gucu;
}
Download