OOP'ler Concepts in Java
OOPS nedir?
Nesneye Yรถnelik Programlama Sistemi (OOP'ler) ABS prensiplerine dayanan bir programlama kavramฤฑdฤฑr.tracNesne yรถnelimli programlamanฤฑn temel kavramฤฑ, nesneler oluลturmak, bunlarฤฑ program boyunca yeniden kullanmak ve sonuรง elde etmek iรงin bu nesneleri manipรผle etmektir. Kapsรผlleme, kalฤฑtฤฑm ve polimorfizm gibi kavramlarฤฑ iรงerir. Kullanฤฑcฤฑlarฤฑn istedikleri nesneleri oluลturmalarฤฑna ve bu nesneleri iลlemek iรงin yรถntemler oluลturmalarฤฑna olanak tanฤฑr.
โNesneye Yรถnelik Programlamaโ anlamฤฑna gelen OOP, modern programlama dillerinde popรผler olarak bilinen ve yaygฤฑn olarak kullanฤฑlan bir kavramdฤฑr. Java.
OOP'ler Concepts in Java รrneklerle
Aลaฤฤฑda genel OOP kavramlarฤฑ verilmiลtir: Java:
1) Sฤฑnฤฑf
MKS sฤฑnฤฑf OOP'lerin temel kavramlarฤฑndan biridir ve benzer varlฤฑklarฤฑn bir grubudur. Sadece mantฤฑksal bir bileลendir ve fiziksel bir varlฤฑk deฤildir. OOP'lerden birini anlayalฤฑm Concepts รถrneฤin โPahalฤฑ Arabalarโ adฤฑnda bir sฤฑnฤฑfฤฑnฤฑz varsa Mercedes, BMW, Toyota vb. nesnelere sahip olabilir. รzellikleri(verileri) bu arabalarฤฑn fiyatฤฑ veya hฤฑzฤฑ olabilir. Bu arabalarla yapฤฑlabilecek yรถntemler arasฤฑnda sรผrรผล, geri vites, frenleme vb. sayฤฑlabilir.
2) Nesne
Bir nesne bir sฤฑnฤฑfฤฑn รถrneฤi olarak tanฤฑmlanabilir ve bir programda bir sฤฑnฤฑfฤฑn birden รงok รถrneฤi olabilir. Bir Nesne aลaฤฤฑdakilerden biridir Java Hem veriyi hem de veri รผzerinde iลlem yapan fonksiyonu iรงeren OOPs kavramlarฤฑ. รrneฤin โ sandalye, bisiklet, kalem, kalem, masa, araba, vb.
3) Miras
miras Temellerden biridir Concepts Bir nesnenin ana nesnenin รถzelliklerini ve davranฤฑลlarฤฑnฤฑ edindiฤi OOP'lerin sayฤฑsฤฑ. ฤฐki sฤฑnฤฑf arasฤฑnda ebeveyn-รงocuk iliลkisi yaratฤฑyor. Herhangi bir yazฤฑlฤฑmฤฑn dรผzenlenmesi ve yapฤฑsฤฑ iรงin saฤlam ve doฤal bir mekanizma sunar.
4) Polimorfizm
Polimorfizm OOP kavramlarฤฑndan birine atฤฑfta bulunur Java bu, bir deฤiลkenin, nesnenin veya iลlevin birden fazla biรงim alabilme yeteneฤidir. รrneฤin ฤฐngilizce'de fiil koลmak ile kullanฤฑrsanฤฑz farklฤฑ bir anlamฤฑ vardฤฑr dizรผstรผ bilgisayar, ayak yarฤฑลฤฑ, ve iล. Burada anlamฤฑnฤฑ anlฤฑyoruz koลmak onunla birlikte kullanฤฑlan diฤer kelimelere dayanmaktadฤฑr. Aynฤฑ ลey Polimorfizm iรงin de geรงerliydi.
5) Abstracyon
Abstracyon OOP'lardan biridir Concepts in Java arka plan ayrฤฑntฤฑlarฤฑnฤฑ eklemeden temel รถzellikleri temsil etme eylemidir. Belirli bir uygulama iรงin uygun olan yeni bir veri tรผrรผ oluลturma tekniฤidir. OOP'lerden birini anlayalฤฑm Concepts รrneฤin, araba kullanฤฑrken onun iรง iลleyiลiyle ilgilenmenize gerek yok. Burada sadece direksiyon simidi, Diลliler, gaz pedalฤฑ vb. gibi parรงalarla ilgilenmeniz gerekiyor.
6) Kapsรผlleme
Encapsulation iyi biridir Java OOP'nin sarmalama kavramlarฤฑping Veri ve kod. Bu nesne yรถnelimli programlama (OOP) kavramฤฑnda, bir sฤฑnฤฑfฤฑn deฤiลkenleri her zaman diฤer sฤฑnฤฑflardan gizlidir. Sadece bulunduklarฤฑ sฤฑnฤฑfฤฑn metotlarฤฑ kullanฤฑlarak eriลilebilirler. รrneฤin, okulda bir รถฤrenci, bir sฤฑnฤฑf olmadan var olamaz.
7) Dernek
Dernek iki nesne arasฤฑndaki iliลkidir. OOP'lardan biridir Concepts in Java nesneler arasฤฑndaki รงeลitliliฤi tanฤฑmlar. Bu OOP konseptinde tรผm nesnelerin ayrฤฑ yaลam dรถngรผleri vardฤฑr ve bir sahibi yoktur. รrneฤin, birรงok รถฤrenci bir รถฤretmenle iliลki kurabilirken, bir รถฤrenci birden fazla รถฤretmenle de iliลki kurabilir.
8) Toplama
Bu teknikte tรผm nesnelerin ayrฤฑ yaลam dรถngรผleri vardฤฑr. Ancak alt nesnenin baลka bir ana nesneye ait olamayacak ลekilde bir mรผlkiyeti vardฤฑr. รrneฤin sฤฑnฤฑfฤฑ/nesneleri, bรถlรผmรผ ve รถฤretmeni dรผลรผnรผn. Burada tek bir รถฤretmen birden fazla bรถlรผme ait olamaz ancak bรถlรผmรผ silsek bile รถฤretmen nesnesi asla yok edilmeyecektir.
9) Kompozisyon
Kompozisyon, toplamanฤฑn รถzel bir ลeklidir. Buna โรถlรผmโ iliลkisi de denir. Alt nesnelerin kendi yaลam dรถngรผleri yoktur, dolayฤฑsฤฑyla ana nesne silindiฤinde tรผm alt nesneler de otomatik olarak silinir. Bunun iรงin Ev ve odalar รถrneฤini ele alalฤฑm. Herhangi bir evin birkaรง odasฤฑ olabilir. Bir oda iki farklฤฑ evin parรงasฤฑ olamaz. Yani evi silerseniz oda da silinecektir.
OOP'lerin (Nesneye Yรถnelik Programlama Sistemi) Avantajlarฤฑ:
- OOP'ler Concepts in Java programlar iรงin anlaลฤฑlmasฤฑ kolay ve net bir modรผler yapฤฑ sunar.
- Nesneye Dayalฤฑ Programlar iรงin oluลturulan nesneler baลka programlarda yeniden kullanฤฑlabilir. Bรถylece รถnemli geliลtirme maliyetlerinden tasarruf saฤlar.
- Bรผyรผk programlarฤฑn yazฤฑlmasฤฑ zordur, ancak geliลtirme ve tasarฤฑm ekibi OOPS kavramlarฤฑnฤฑ takip ederse minimum kusurla daha iyi tasarฤฑm yapabilirler.
- Her nesne baฤฤฑmsฤฑz olarak var olduฤundan programฤฑn modรผlerliฤini artฤฑrฤฑr.
Bir รrnek Yardฤฑmฤฑyla OOPS'un Diฤer Programlama Stilleriyle Karลฤฑlaลtฤฑrฤฑlmasฤฑ
รrnekle nasฤฑl olduฤunu anlayalฤฑm Java OOP'ler Concepts diฤer programlama yaklaลฤฑmlarฤฑndan farklฤฑdฤฑr.
Programlama dilleri 3 ana tรผre ayrฤฑlabilir
- Yapฤฑlandฤฑrฤฑlmamฤฑล Programlama Dilleri: Tรผm programlama dilleri arasฤฑnda en ilkel olanฤฑ, sฤฑralฤฑ kontrol akฤฑลฤฑna sahip olanฤฑdฤฑr. Code Program boyunca tekrarlanฤฑr.
- Yapฤฑlandฤฑrฤฑlmฤฑล Programlama Dilleri: Sฤฑrasฤฑz kontrol akฤฑลฤฑna sahiptir. ฤฐลlevlerin kullanฤฑmฤฑ kodun yeniden kullanฤฑlmasฤฑna olanak tanฤฑr.
- Nesneye Yรถnelik Programlama Dilleri: Veri ve Eylemi Bir Arada Birleลtirir.
Tฤฑkla okuyun videoya eriลilemiyorsa
Bu 3 tรผrรผ bir รถrnekle anlayalฤฑm.
Aลaฤฤฑdaki iลlevlere sahip bir Bankacฤฑlฤฑk Yazฤฑlฤฑmฤฑ oluลturmak istediฤinizi varsayalฤฑm:
- mevduat
- Geri รงekmek
- Bakiyeyi Gรถster
Yapฤฑlandฤฑrฤฑlmamฤฑล Programlama Dilleri
Tรผm programlama dillerinin en eskisi yapฤฑlandฤฑrฤฑlmamฤฑล programlama diliydi. Yapฤฑlandฤฑrฤฑlmamฤฑล Programlama dilindeki รงok basit bir bankacฤฑlฤฑk uygulamasฤฑ kodu, hesap bakiyesi iรงin bir hesap numarasฤฑ ve diฤeri olmak รผzere iki deฤiลkene sahip olacaktฤฑr.
int account_number=20; int account_balance=100;
Diyelim ki 100 dolar depozito yatฤฑrฤฑldฤฑ.
account_balance=account_balance+100
Daha sonra hesap bakiyesini gรถrรผntรผlemeniz gerekir.
printf(โAccount Number=%d,account_number) printf(โAccount Balance=%d,account_balance)
ลimdi 50 dolar miktarฤฑ รงekildi.
account_balance=account_balance-50
Yine hesap bakiyenizi gรถrรผntรผlemeniz gerekiyor.
printf(โAccount Number=%d,account_number) printf(โAccount Balance=%d,account_balance)
Daha sonraki herhangi bir para yatฤฑrma veya รงekme iลlemi iรงin aynฤฑ satฤฑrlarฤฑ tekrar tekrar kodlayacaksฤฑnฤฑz.
Yapฤฑsal Programlama
Yapฤฑsal programlamanฤฑn geliลiyle birlikte koddaki tekrarlanan satฤฑrlar, iลlevler veya yรถntemler gibi yapฤฑlara yerleลtirildi. Gerektiฤinde fonksiyona basit bir รงaฤrฤฑ yapฤฑlฤฑr.
Nesne yรถnelimli programlama
Programฤฑmฤฑzda verilerle ilgileniyoruz veya veriler รผzerinde belirli iลlemler gerรงekleลtiriyoruz. Aslฤฑnda, verilere sahip olmak ve bu veriler รผzerinde belirli iลlemler gerรงekleลtirmek herhangi bir yazฤฑlฤฑm programฤฑndaki รงok temel bir รถzelliktir. Yazฤฑlฤฑm Programlama Uzmanlarฤฑ, Veri ve OperaBu nedenle, yaygฤฑn olarak OOPS olarak adlandฤฑrฤฑlan Nesne Yรถnelimli Programlamanฤฑn doฤuลu. Nesne Yรถnelimli Programlama dillerindeki aynฤฑ kod, aynฤฑ verilere ve bu veriler รผzerinde gerรงekleลtirilen bazฤฑ eylemlere sahip olacaktฤฑr.
Class Account{
int account_number;
int account_balance;
public void showdata(){
system.out.println(โAccount Numberโ+account_number)
System.out.println(โAccount Balanceโ+ account_balance)
}
}
Veri ve eylemi birleลtirerek yapฤฑsal programlamaya gรถre birรงok avantaj elde edeceฤiz,
- Abstracyon
- Encapsulation
- miras
- Polimorfizm
Bunlar sonraki eฤitimlerde daha ayrฤฑntฤฑlฤฑ olarak ele alฤฑnacaktฤฑr




