logo

Java OOP Kavramları

  1. Nesne yönelimli programlama
  2. OOP'ların Prosedür odaklı programlama diline göre avantajı
  3. Nesne yönelimli ve Nesne tabanlı programlama dili arasındaki fark.

Bu sayfada OOP'ların temellerini öğreneceğiz. Nesneye Dayalı Programlama gibi birçok kavramı sağlayan bir paradigmadır. miras , bağlanma verileri , polimorfizm , vesaire.

başlangıç ilk nesne yönelimli programlama dili olarak kabul edilir. Her şeyin bir nesne olarak temsil edildiği programlama paradigması, gerçek anlamda nesne yönelimli programlama dili olarak bilinir.

sohbet ilk gerçek nesne yönelimli programlama dili olarak kabul edilir.

Popüler nesne yönelimli diller şunlardır: Java , C# , PHP , Python , C++ , vesaire.

Nesne yönelimli programlamanın temel amacı, örneğin nesne, sınıflar, soyutlama, kalıtım, polimorfizm vb. gibi gerçek dünya varlıklarını uygulamaktır.

java çoklu iş parçacığı

OOP'ler (Nesneye Yönelik Programlama Sistemi)

Nesne kalem, sandalye, masa, bilgisayar, saat vb. gibi gerçek dünyadaki bir varlık anlamına gelir. Nesne yönelimli programlama sınıfları ve nesneleri kullanarak bir program tasarlamaya yönelik bir metodoloji veya paradigmadır. Bazı kavramları sağlayarak yazılım geliştirmeyi ve bakımını basitleştirir:

Bu kavramların dışında Nesneye Dayalı tasarımda kullanılan başka terimler de vardır:

  • Kaplin
  • Uyum
  • Dernek
  • Toplama
  • Kompozisyon
Java OOP Kavramları

Nesne

Java Nesnesi

Durumu ve davranışı olan her varlık nesne olarak bilinir. Örneğin bir sandalye, kalem, masa, klavye, bisiklet vb. Fiziksel ya da mantıksal olabilir.

Bir Nesne bir sınıfın örneği olarak tanımlanabilir. Bir nesne bir adres içerir ve bellekte biraz yer kaplar. Nesneler birbirlerinin verilerinin veya kodlarının ayrıntılarını bilmeden iletişim kurabilir. Gerekli olan tek şey, kabul edilen mesajın türü ve nesnelerin döndürdüğü yanıtın türüdür.

Örnek: Köpek bir nesnedir çünkü rengi, adı, cinsi vb. durumlarının yanı sıra kuyruğunu sallama, havlama, yemek yeme vb. davranışları da vardır.

Sınıf

Nesnelerin toplanması sınıf denir. Mantıksal bir varlıktır.

Sınıf ayrıca tek bir nesne oluşturabileceğiniz bir plan olarak da tanımlanabilir. Sınıf herhangi bir yer tüketmez.

Miras

Bir nesne bir üst nesnenin tüm özelliklerini ve davranışlarını edindiğinde miras olarak bilinir. Kodun yeniden kullanılabilirliğini sağlar. Çalışma zamanı polimorfizmini elde etmek için kullanılır.

Java'da çok biçimlilik

Polimorfizm

Eğer bir görev farklı şekillerde gerçekleştirilir polimorfizm olarak bilinir. Örneğin: müşteriyi farklı şekilde ikna etmek, bir şey çizmek, örneğin şekil, üçgen, dikdörtgen vb.

Java'da, polimorfizm elde etmek için yöntem aşırı yüklemesini ve yöntemi geçersiz kılmayı kullanırız.

Başka bir örnek bir şey konuşmak olabilir; örneğin, bir kedi miyav konuşur, köpek havlar, vb.

Soyutlama

Dahili ayrıntıları gizleme ve işlevselliği gösterme soyutlama olarak bilinir. Mesela telefon görüşmesinin dahili işleyişini bilmiyoruz.

Java'da soyutlamayı gerçekleştirmek için soyut sınıf ve arayüz kullanırız.

Java OOP Kavramlarında Kapsülleme

Kapsülleme

Kodu ve verileri tek bir birime bağlamak (veya sarmak) kapsülleme olarak bilinir . Örneğin bir kapsül, farklı ilaçlarla sarılır.

Bir Java sınıfı kapsülleme örneğidir. Java fasulyesi tamamen kapsüllenmiş bir sınıftır çünkü burada tüm veri üyeleri özeldir.

Kaplin

Eşleşme, başka bir sınıfın bilgisine veya bilgisine veya bağımlılığına atıfta bulunur. Sınıfların birbirlerinden haberdar olmasıyla ortaya çıkar. Bir sınıf başka bir sınıfın detay bilgisine sahipse güçlü bağlantı vardır. Java'da bir sınıfın, yöntemin ve alanın görünürlük düzeyini görüntülemek için özel, korumalı ve genel değiştiriciler kullanırız. Somut bir uygulama olmadığından, daha zayıf bağlantı için arayüzleri kullanabilirsiniz.

Uyum

Uyum, iyi tanımlanmış tek bir görevi gerçekleştiren bileşenin seviyesini ifade eder. İyi tanımlanmış tek bir görev, son derece uyumlu bir yöntemle gerçekleştirilir. Zayıf tutarlı yöntem, görevi ayrı parçalara bölecektir. Java.io paketi oldukça uyumlu bir pakettir çünkü G/Ç ile ilgili sınıflara ve arayüze sahiptir. Bununla birlikte, java.util paketi ilgisiz sınıflara ve arayüzlere sahip olduğundan zayıf bir şekilde birbirine bağlı bir pakettir.

Dernek

Dernek nesneler arasındaki ilişkiyi temsil eder. Burada bir nesne bir nesneyle veya birden fazla nesneyle ilişkilendirilebilir. Nesneler arasında dört tür ilişki olabilir:

  • Bire bir
  • Bir'den Çoğa
  • Çoktan Bire ve
  • Çoktan Çoğa

Gerçek zamanlı örneklerle ilişkiyi anlayalım. Örneğin, Bir ülkenin bir başbakanı (bire bir) olabilir ve bir başbakanın birçok bakanı (bire bir) olabilir. Ayrıca, birçok milletvekilinin bir başbakanı olabilir (çoktan bire) ve birçok bakanın birçok dairesi olabilir (çoktan çoğa).

Dernek tek yönlü veya çift yönlü olabilir.

Toplama

Toplama, Birlikteliğe ulaşmanın bir yoludur. Toplama, bir nesnenin kendi durumunun bir parçası olarak diğer nesneleri içerdiği ilişkiyi temsil eder. Nesneler arasındaki zayıf ilişkiyi temsil eder. Aynı zamanda şu şekilde de adlandırılır: var-a Java'da ilişki. Mesela miras temsil eder is-a ilişki. Nesneleri yeniden kullanmanın başka bir yoludur.

Kompozisyon

Kompozisyon aynı zamanda İlişkilendirmeye ulaşmanın bir yoludur. Kompozisyon, bir nesnenin kendi durumunun bir parçası olarak diğer nesneleri içerdiği ilişkiyi temsil eder. İçeren nesne ile bağımlı nesne arasında güçlü bir ilişki vardır. İçeren nesnelerin bağımsız bir varlığa sahip olmadığı durumdur. Ana nesneyi silerseniz tüm alt nesneler de otomatik olarak silinir.


OOP'ların Prosedür odaklı programlama diline göre avantajı

1) OOP'ler geliştirme ve bakımı kolaylaştırır, oysa prosedür odaklı bir programlama dilinde, proje boyutu arttıkça kodun büyümesi durumunda yönetimi kolay değildir.

2) OOP'ler veri gizlemeyi sağlarken, prosedür odaklı bir programlama dilinde küresel verilere her yerden erişilebilir.

kurt vs tilki
Küresel Veriler

Şekil: Prosedür Odaklı Programlamada Veri Gösterimi


Nesne Verileri

Şekil: Nesneye Yönelik Programlamada Veri Temsili

3) OOP'ler, gerçek dünyadaki olayı çok daha etkili bir şekilde simüle etme yeteneği sağlar. Nesneye Dayalı Programlama dilini kullanırsak gerçek kelime probleminin çözümünü sağlayabiliriz.


Nesne yönelimli programlama dili ile nesne tabanlı programlama dili arasındaki fark nedir?

Nesne tabanlı programlama dili, Kalıtım dışındaki OOP'ların tüm özelliklerini takip eder. JavaScript ve VBScript, nesne tabanlı programlama dillerine örnektir.



Biliyor musunuz?
  • Ana yöntemi aşırı yükleyebilir miyiz?
  • Bir Java Oluşturucusu bir değer döndürür ama ne?
  • Main metodu olmadan program oluşturabilir miyiz?
  • Bu anahtar kelimeyi kullanmanın altı yolu nedir?
  • Java'da çoklu kalıtım neden desteklenmiyor?
  • Toplama neden kullanılır?
  • Statik yöntemi geçersiz kılabilir miyiz?
  • Kovaryant dönüş türü nedir?
  • Java süper anahtar sözcüğünün üç kullanımı nelerdir?
  • Örnek başlatıcı bloğunu neden kullanmalısınız?
  • Boş bir son değişkenin kullanımı nedir?
  • İşaretçi veya etiketli arayüz nedir?
  • Çalışma zamanı polimorfizmi veya dinamik yöntem gönderimi nedir?
  • Statik ve dinamik bağlama arasındaki fark nedir?
  • Java'da downcasting nasıl mümkündür?
  • Özel bir inşaatçının amacı nedir?
  • Nesne klonlama nedir?
OOP Kavramlarında ne öğreneceğiz?
  • OOP'lerin Avantajı
  • Adlandırma kuralı
  • Nesne ve sınıf
  • Yöntem aşırı yükleme
  • Oluşturucu
  • statik anahtar kelime
  • altı kullanımlı bu anahtar kelime
  • Miras
  • Toplama
  • Yöntemi Geçersiz Kılma
  • Kovaryant Dönüş Türü
  • süper anahtar kelime
  • Örnek Başlatıcı bloğu
  • son anahtar kelime
  • Soyut sınıf
  • Arayüz
  • Çalışma Zamanı Polimorfizmi
  • Statik ve Dinamik Bağlama
  • Instanceof operatörüyle downcasting
  • Paket
  • Erişim Değiştiricileri
  • Kapsülleme
  • Nesne Klonlama