Nesne Yönelimli Programlama (OOP)
Veri ve metotlara sahip nesneleri kullanan paradigma (4 sütun).
Nesne Yönelimli Programlama (NYP), veri (öznitelikler) ve kod (metotlar) içeren bağımsız 'nesneler' etrafında kodu yapılandıran bir paradigmadır.
NYP'nin dört sütunu:
1. Kapsülleme: Veri ve metotları bir araya getirme, iç durumu gizleme
2. Soyutlama: Sadece temel özellikleri açığa çıkarma
3. Kalıtım: Sınıflar üst sınıflardan özellik/metot miras alır
4. Polimorfizm: Aynı arayüz, farklı uygulamalar
graph LR
Center["Nesne Yönelimli Programlama (OOP)"]:::main
Rel_functional_programming["functional-programming"]:::related -.-> Center
click Rel_functional_programming "/terms/functional-programming"
Rel_java["java"]:::related -.-> Center
click Rel_java "/terms/java"
Rel_stored_program_concept["stored-program-concept"]:::related -.-> Center
click Rel_stored_program_concept "/terms/stored-program-concept"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Bilgi testi
🧒 5 yaşındaki gibi açıkla
LEGO talimatlarını düşün. Bir sınıf, bir ev inşa etme talimatları gibidir. Bu talimatlara göre inşa ettiğin her ev bir nesnedir. Farklı evler parça paylaşabilir (kalıtım) ama farklı görünebilir (polimorfizm)!
🤓 Expert Deep Dive
SOLID ilkeleri iyi NYP tasarımına rehberlik eder. Kalıtım yerine kompozisyon kırılgan temel sınıf sorununu önler. Duck typing (Python) kalıtım olmadan polimorfizmi mümkün kılar.