Professional Documents
Culture Documents
Day 3
Day 3
2. Gün
Itero
Arkhé Köyü
Temmuz 2022
Sınıflar
Birim Testler
Konteynır Sınıfları
Listeler, Mapler ve Setler
Inheritance/Kalıtım
Veri Tipi Dönüştürme (Casting)
Metod Overridelama
Sınıflar
Birim Testler
Konteynır Sınıfları
Listeler, Mapler ve Setler
Inheritance/Kalıtım
Veri Tipi Dönüştürme (Casting)
Metod Overridelama
Önemli
Inheritance, OOP paradigmasının gücünü aldığı konsepttir.
Sayılar, karakterler gibi bilgileri int ve char veri tipleri ile temsil
edebiliyoruz ama ya programımızda araba gibi bir nesneyi temsil etmemiz
gerekirse?
Sayılar, karakterler gibi bilgileri int ve char veri tipleri ile temsil
edebiliyoruz ama ya programımızda araba gibi bir nesneyi temsil etmemiz
gerekirse?
İşte bu noktada sınıflar ve objeler, bizim için çok kullanışlı bir yazılım
aracı haline geliyor.
class Araba{
String color;
// Constructorlarin return tipi yoktur, ve erisim modlari
public olmalidir
public Araba(String color){
// this keyword’u ile parametre olan "color" degiskenine
degil attribute olana erisiriz
this.color = color;
}
}
toString
toString methodu, zorunlu olmasa da birçok sınıfa yazılan bir
fonksiyondur. toString metodu aracılığıyla yazılan class’ın insanlar
tarafından okunabilen bir string’e (yazı dizisine) dönüşümü sağlanır.
toString
toString methodu, zorunlu olmasa da birçok sınıfa yazılan bir
fonksiyondur. toString metodu aracılığıyla yazılan class’ın insanlar
tarafından okunabilen bir string’e (yazı dizisine) dönüşümü sağlanır.
equals
== operatörü sadece primitive tiplerin karşılaştırmasında istenen sonucu
verir. Bu yüzden objeleri karşılaştırmak için sınıfın içerisine bir equals
methodu yerleştirilir.
Yazdığımız kodu test etmek, kodu yazmak kadar önemli bir aşamadır.
Yazılan testler, genelde 3 tipe ayrılabilir:
Birim Testleri Kodun parçalarının tek tek ve birbirinden izole bir şekilde
test edilmesidir.
Yazdığımız kodu test etmek, kodu yazmak kadar önemli bir aşamadır.
Yazılan testler, genelde 3 tipe ayrılabilir:
Birim Testleri Kodun parçalarının tek tek ve birbirinden izole bir şekilde
test edilmesidir.
Entegrasyon Testleri Kodun dış sistemlerle iletişime geçen parçalarının test
edlmesidir
Yazdığımız kodu test etmek, kodu yazmak kadar önemli bir aşamadır.
Yazılan testler, genelde 3 tipe ayrılabilir:
Birim Testleri Kodun parçalarının tek tek ve birbirinden izole bir şekilde
test edilmesidir.
Entegrasyon Testleri Kodun dış sistemlerle iletişime geçen parçalarının test
edlmesidir
Sistem Testleri Programın bir bütün olarak, gerçek durumlar simüle
edilerek test edilmesidir.
Konteynır sınıfları, bir classın birden fazla instance’ını tek bir yerde
toplamamızı sağlayan sınıflara denir.
Konteynır sınıfları, bir classın birden fazla instance’ını tek bir yerde
toplamamızı sağlayan sınıflara denir.
Kus.java
class Kus{
public void ot(){
// Buraya kod yazilacak
}
}
Horoz.java Guvercin.java
class Horoz extends Kus{ class Guvercin extends Kus{
public void dovus(){ public void uc(){
// Buraya kod yazilacak // Buraya kod yazilacak
} }
} }
1 Eğer bir sınıfın constructor’ı boş ise, alt sınıflarını etkileyen herhangi
bir kısıtlama yoktur
1 Eğer bir sınıfın constructor’ı boş ise, alt sınıflarını etkileyen herhangi
bir kısıtlama yoktur
2 Ancak eğer constructor’ı parametre alıyorsa, o zaman alt sınıfların
constructorlarında ilk önce super() kullanarak üst sınıfın
constructorını çağırması gerekir.
1 Eğer bir sınıfın constructor’ı boş ise, alt sınıflarını etkileyen herhangi
bir kısıtlama yoktur
2 Ancak eğer constructor’ı parametre alıyorsa, o zaman alt sınıfların
constructorlarında ilk önce super() kullanarak üst sınıfın
constructorını çağırması gerekir.
Guvercin.java
Kus.java
class Guvercin extends Kus{
class Kus{
public Guvercin(String isim,
public Kus(String isim,
String renk, String adres){
String renk){
super(isim, renk);
// code
// code
}
}
}
}
Aynı üst sınıfa uzanan alt sınıf objeleri, tipi üst sınıf olan bir değişkene
atanabilir. Bu şekilde, farklı sınıfların objeleri aynı array altında toplanabilir.
Aynı üst sınıfa uzanan alt sınıf objeleri, tipi üst sınıf olan bir değişkene
atanabilir. Bu şekilde, farklı sınıfların objeleri aynı array altında toplanabilir.
Aynı üst sınıfa uzanan alt sınıf objeleri, tipi üst sınıf olan bir değişkene
atanabilir. Bu şekilde, farklı sınıfların objeleri aynı array altında toplanabilir.
class EPosta {
public void yolla(String mesaj, String adres){
// Code
}
Önemli
Overrideing Overridelama islemi, alt sınıflardan birinin üst sınıftaki bir
metodu tekrar implement etmesidir
Overloading Overloadlama islemi, aynı isimli ama farklı parametreler alan
fonksiyonlar oluşturmaktır