Programlamaya yeni başlamış genç bir arkadaşımız farklı bir forumda ufak, tefek sorular sorup duruyordu. Yönlendirme ve bakış açısı kazanması adına programlamın temelinden bir örnek yazdıydım. Burada bu tür soru soran çok arkadaşımız var ve varolacaktırda. Onların program yazmaya bakış açısına katkıda bulunması temennisi ile buradada paylaşayım.
----------------
Amaç : Düşünme ve aktarım gücüne katkıda bulunmak
Tavsiyem öncelikle object oriented prensiplerini öğrenmeniz yönündedir.
Inheritance(kalıtım),
Polymorphism(Çok şekillik),
Encapsulation(kapsülleme) ve Encapsulation altındaki access modifier(erişim denetleyici anahtarları)
public,
private,
protected gibi terimlere aşina olmak gerek.
Sonra fonksiyonlar üzerine kod yazmayı ve kodu sınıflara ayırmaya başladığınızda bu terimlerin mükemmel faydasını görürsünüz.
Gerçek hayatta düşündüğünüz her nesneyi, programlama diline çevirirken yazdığınız kod hem okunabilir hemde oldukça anlamlı olacaktır.
Basit bir örnek vereyim;
Kalem bizim nesnemiz olsun.
Nesne = Class(Sınıf) yani
Kalem diye bir sınıf yaratalım.
Kalem'i(kurşun kalem) oluşturan özellikler nelerdir. grafit (karbonla karıştırılmış kil) ve ahşap.
Kalem ne işe yarar :
yazmak için kullanılır.
Kalem sınıfını oluşturalım.
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
public class Kalem(){
private String grafit;
private String ahsap;
public Kalem(String grafit, String ahsap){
this.grafit = grafit;
this.ahsap = ahsap;
}
public String getGrafit(){
return grafit;
}
public void setGrafit(String grafit){
this. grafit = grafit;
}
public String getAhsap(){
return ahsap;
}
public void setAhsap(String ahsap){
this.ahsap = ahsap;
}
}
Şuanda kalem sınıfımızı oluşturduk. Geçelim ikinci kısıma ne tür davranış gösterecek kalemimiz.
yazmak eylemini gerçekleştirecek.
yazmak Kalem sınıfı için bir metod(fonksiyon)'dur.
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
public void yazmak(){
System.out.println("Kalem yazı yazıyor..");
}
Şimdi metodumuzu sınıfımızın içine ekleyelim.
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
public class Kalem(){
private String grafit;
private String ahsap;
public Kalem(String grafit, String ahsap){
this.grafit = grafit;
this.ahsap = ahsap;
}
public String getGrafit(){
return grafit;
}
public void setGrafit(String grafit){
this. grafit = grafit;
}
public String getAhsap(){
return ahsap;
}
public void setAhsap(String ahsap){
this.ahsap = ahsap;
}
public void yazmak(){
System.out.println("Kalem yazı yazıyor..");
}
}
Kodumuzu çalıştırmak için bir main sınıf yazalım.
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
public class TestApp(){
public static main void (String[] args){
//new operatörü varolan cansız bir sınıfı, canlı hale getirir. Programlamada buna instance denir. Yani yeni bir obje yaratmış oluyorsunuz. Biz aşağıdaki kodda Kalem sınıfını yaratmış olduk.
//Kalem sınıfının constructor'ı iki parametre alıyor String, o yüzden constructor'ına iki String değer verdim
Kalem kalem = new Kalem("grafit maddesi", "ahsap maddesi");
//yazmak metodunu çağırarak, kalem sınıfının yazma becerisini kullandım.
kalem.yazmak();
//Metod çağrıldığında konsol ekranına -> "Kalem yazı yazıyor.." yazacaktır.
}
}
Olayı dahada açarsak ;
Mesela senin dolma kalemin, kurşun kalemin ve tükenmez kalemin olsun. Sen bu kalemler için bir yazılım yapcaksın. buradada object oriented prensiplerinden kalıtım ve çok şekillikten yararlanman gerekecek. Onuda daha müsait bir zaman diliminde yazarım.