OOP'ler Concepts in Java

Java'da oops kavramlarฤฑ

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

  1. 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.
  2. YapฤฑlandฤฑrฤฑlmฤฑลŸ Programlama Dilleri: Sฤฑrasฤฑz kontrol akฤฑลŸฤฑna sahiptir. ฤฐลŸlevlerin kullanฤฑmฤฑ kodun yeniden kullanฤฑlmasฤฑna olanak tanฤฑr.
  3. 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:

  1. mevduat
  2. Geri รงekmek
  3. 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)

YapฤฑlandฤฑrฤฑlmamฤฑลŸ Programlama

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.

Yapฤฑsal Programlama

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)
}
}

Nesne yรถnelimli programlama

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

Bu yazฤฑyฤฑ ลŸu ลŸekilde รถzetleyin: