OOP'ye Giriş
Coddy'nin Java Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 2 / 87.
Nesne Yönelimli Programlama (OOP), veri ve davranış içeren nesneleri kullanarak kodu yapılandırmanın bir yoludur.
Bir sınıf bir taslaktır
public class Animal {
String name;
public Animal(String name) {
this.name = name;
}
public String makeSound() {
return this.name + " makes a sound!";
}
}Bir nesne, şablondan oluşturulmuş bir örnektir.
Animal dog = new Animal("Buddy");
System.out.println(dog.makeSound());Çıktı:
Buddy makes a sound!OOP, gerçek dünyadaki nesneleri nesne olarak modellemenize olanak tanır. Her nesnenin verileri (alanlar) ve eylemleri (metotlar) vardır. OOP'nin dört temel taşı Kapsülleme (Encapsulation), Kalıtım (Inheritance), Çok Biçimlilik (Polymorphism) ve Soyutlamadır (Abstraction).
Görev
KolayOOP'nin temellerini gösteren bir Animal sınıfı oluşturun:
- Bir
namealanı (String) - İsmi ayarlayan bir yapıcı (constructor)
"<name> makes a sound!"döndüren birmakeSound()metodu
Kopya kağıdı
Nesne Yönelimli Programlama (OOP), verileri ve davranışları içeren nesneleri kullanarak kodu yapılandırır.
Bir sınıf (class), nesneler oluşturmak için bir taslaktır:
public class Animal {
String name;
public Animal(String name) {
this.name = name;
}
public String makeSound() {
return this.name + " makes a sound!";
}
}Bir nesne (object), bir sınıftan oluşturulan bir örnektir:
Animal dog = new Animal("Buddy");
System.out.println(dog.makeSound());Nesnelerin verileri (alanlar) ve eylemleri (metotlar) vardır. OOP'nin dört temel ilkesi Kapsülleme (Encapsulation), Kalıtım (Inheritance), Çok Biçimlilik (Polymorphism) ve Soyutlama'dır (Abstraction).
Kendin dene
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
Animal animal = new Animal(name);
System.out.println("Animal name: " + animal.name);
System.out.println(animal.makeSound());
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Nesne Yönelimli Programlama bölümündeki tüm dersler
1OOP Temelleri
Harici DosyalarOOP'ye GirişSınıflar ve Nesnelerthis Anahtar KelimesiMetotlarAlanlar (Öznitelikler)Yapıcı MetotYapıcı Metot Aşırı YüklemeÖzet - Basit Hesap Makinesi4Kalıtım
Temel Kalıtım (extends)super Anahtar KelimesiMetot Geçersiz Kılma (@Override)Yapıcı Metot ZincirlemeObject SınıfıTekli ve Çok Seviyeli KalıtımNeden Çoklu Sınıf Kalıtımı Yok?Özet - Çalışan Hiyerarşisi7Özel Metotlar ve Object Sınıfı
toString() Metoduequals() ve hashCode()clone() MetoducompareTo() ve ComparableComparator ArayüzüÖzet - Özel Sıralama2Erişim Belirleyiciler ve Kapsülleme
Erişim Seviyelerine Genel BakışGetter ve Setter MetotlarıBilgi Gizlemefinal Anahtar KelimesiÖzet - Banka Hesabı Yöneticisi5Polimorfizm
Metot Aşırı Yükleme TemelleriMetot Geçersiz Kılma (Çalışma Zamanı)Upcasting ve Downcastinginstanceof OperatörüSoyut Sınıflar ve MetotlarÖzet - Şekil Hesaplayıcı8İleri Düzey OOP Kavramları
Kompozisyon vs KalıtımAgregasyon vs KompozisyonDahili, Yuvalanmış ve Anonim SınıflarEnum'lar ve Enum MetotlarıRecords (Java 16+)Sealed Classes (Java 17+)11Tasarım Kalıpları Bölüm 1
Tasarım Kalıplarına GirişSingleton KalıbıFactory KalıbıBuilder KalıbıObserver KalıbıStrategy Kalıbı14Final Meydan Okumaları
E-Öğrenme PlatformuBankacılık SistemiOyun Karakteri GeliştirmeAraç Kiralama Servisi3Sınıf Özellikleri ve Statik Üyeler
Instance ve Statik DeğişkenlerStatik MetotlarStatik BloklarSabitler (static final)Özet - Sayaç ve Utility6Arayüzler ve Soyut Sınıflar
Arayüzlere GirişArayüzleri UygulamaÇoklu Arayüz UygulamaArayüzlerde Default ve StaticSoyut Sınıflar ve ArayüzlerFonksiyonel ArayüzlerÖzet - Ödeme Sistemi9Generics
Generics'e GirişGeneric SınıflarGeneric MetotlarSınırlandırılmış Tip ParametreleriWildcard'lar (?, extends, super)Özet - Generic Container12Tasarım Kalıpları Bölüm 2
Komut KalıbıAdaptör KalıbıDekoratör KalıbıŞablon Metot KalıbıDurum KalıbıKompozit KalıbıYineleyici Kalıbı