Tekil Mesaj gösterimi
Alt 29 Mart 2014, 01:03   #1
Çevrimdışı
YazılımMimarı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Temel object oriented programlama (hayatın içinden örnek ile)




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 grafitString ahsap){
this.grafit grafit;
this.ahsap ahsap;
}

public 
String getGrafit(){
return 
grafit;
}

public 
void setGrafit(String grafit){
thisgrafit 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 grafitString ahsap){
this.grafit grafit;
this.ahsap ahsap;
}

public 
String getGrafit(){
return 
grafit;
}

public 
void setGrafit(String grafit){
thisgrafit 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.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet sohbet