Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Nesne Yönelimli Programlama Özellikleri

Nesne yönelimli programlama (NYP; İng. object-oriented programming, OOP), programları modellemenin yollarından biridir. Bir programlama kavramı olarak nesneler, 1960’larda Simula programlama dilinde ortaya çıktı. Bu nesneler, Alan Kay’in nesnelerin birbirine mesaj ilettiği programlama mimarisini etkiledi. Kay, 1967’de bu mimariyi tanımlamak için nesne yönelimli programlama terimini ortaya attı. NYP’nin ne olduğuna dair birbiriyle çelişen pek çok tanım vardır; bu tanımların bazılarına göre Rust nesne yönelimlidir, bazılarına göreyse değildir.

Bu bölümde, yaygın olarak nesne yönelimli kabul edilen bazı karakteristikleri ve bu karakteristiklerin deyimsel Rust’ta nasıl karşılık bulduğunu inceleyeceğiz. Ardından nesne yönelimli bir tasarım desenini Rust’ta nasıl uygulayacağınızı gösterecek, bu yolun ödünleşimlerini (trade-offs) de Rust’ın güçlü yönlerinden yararlanan bir çözümle karşılaştırarak tartışacağız.

Not: Rust çok paradigmalı (multi-paradigm) bir dildir: veriyi struct ve enum ile, davranışı ise impl blokları ve trait’lerle modeller. Klasik sınıf tabanlı kalıtım (class inheritance) yerine bileşim (composition), trait sınırları (trait bounds), trait nesneleri (dyn Trait) ve cebirsel veri türleri (enum) kullanarak hem çalışma zamanı esnekliğini hem de derleme zamanı tür ve sahiplik güvenliğini bir arada sunar.