Nesneye Yönelik Programlama 2024-2025 Final Soruları
Nesneye Yönelik Programlama 2024-2025 Final Soruları
#1. Bir sınıfa (class) ait metotların farklı şekillerde kullanılmasını sağlayan yöntemin ismi aşağıdakilerden hangisidir?
Cevap : B) Çok Biçimlilik (Polymorphism)
Açıklama : “Çok Biçimlilik” (Polimorfizm), Nesneye Yönelik Programlamanın temel direklerinden biridir. Bir metodun (örn: AlanHesapla()) farklı alt sınıflarda (kare, daire) farklı şekillerde uygulanabilmesini (override edilmesi) veya aynı sınıfta farklı parametrelerle (overload edilmesi) kullanılabilmesini ifade eder.
#2. Bir yazılım projesinin tasarımında, fonksiyonel ihtiyaçlarının belirlendiği ve kayıt altına alınarak dokümantasyonun yapıldığı diyagramın ismi aşağıdakilerden hangisidir?
Cevap : B) Kullanım Senaryosu Diyagramı
Açıklama : UML diyagramlarından “Kullanım Senaryosu Diyagramı” (Use Case Diagram), bir yazılım sisteminin sunması gereken “fonksiyonel ihtiyaçları” aktör (kullanıcı) ve sistem etkileşimi (“kullanım senaryoları”) açısından gösteren diyagramdır. Sistemin “ne yapması gerektiğini” tanımlar.
#3. C# dilinde sıfıra bölme işlemi sırasında oluşan hata aşağıdakilerden hangisinde verilmiştir?
Cevap : C) DivideByZeroException
Açıklama : Programlama dillerinde, bir sayının sıfıra bölünmeye çalışılması matematiksel bir tanımsızlık oluşturur. C# dilinde bu durum gerçekleştiğinde, sistem System.DivideByZeroException (Sıfıra Bölme Hatası) türünde bir istisna (hata) fırlatır.
#4. C# Programlama Dilinde genel hata sınıfı aşağıdakilerden hangisinde verilmiştir?
Cevap : E) Exception
Açıklama : C# dilinde (ve .NET çatısında), programın çalışması sırasında meydana gelen tüm hatalar veya anormal durumlar “istisna” (Exception) olarak adlandırılır. Tüm hata sınıfları (DivideByZeroException, NullReferenceException vb.) System.Exception adlı bu genel (temel) sınıftan türer.
#5. Aşağıda verilenlerden hangisi koleksiyon türlerine örnektir?
Cevap : D) HashSet
Açıklama : Koleksiyon (Collection) türleri, birden fazla veriyi bir arada tutan gelişmiş veri yapılarıdır. Array (Dizi) temel bir yapıdır. String ve Int ilkel/temel veri türleridir. HashSet, List, Dictionary gibi yapılar C#’taki gelişmiş koleksiyon türlerine örnektir. HashSet, matematiksel küme mantığıyla çalışan, tekrarsız elemanları tutan bir koleksiyondur.
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
Console.Write(13+3); Console.Write(“,”);
Console.Write(13-2); Console.Write(“,”);
Console.Write(13*3); Console.Write(“,”);
Console.Write(13/2); Console.Write(“,”);
Console.Write(13.0/2.0); Console.Write(“,”);
#6. Yukarda verilen kod bloğu çalıştırıldığında üretilen çıktı aşağıdakilerden hangisinde verilmiştir?
Cevap : E) 16, 11, 39, 6, 6.5
Açıklama : C#’ta işlemlerin sonuçları:<br>13 3 = 16<br>13 – 2 = 11<br>13 * 3 = 39<br>13 / 2 = İki tamsayının (int) bölünmesi tamsayı (int) sonucunu verir: 6<br>13.0 / 2.0 = İki ondalıklı sayının (double) bölünmesi ondalıklı (double) sonuç verir: 6.5.<br>Çıktı: 16,11,39,6,6.5.

#7. Yukarda verilen metot, f(9) değeri için çağrıldığında nihai sonuç değeri kaç olur?
Cevap : D) 34
Açıklama : Kod, return f(n-1) f(n-2) ifadesini içerir. Bu, Fibonacci dizisinin özyinelemeli tanımıdır. <br>f(0)=0, f(1)=1, f(2)=1, f(3)=2, f(4)=3, f(5)=5, f(6)=8, f(7)=13, f(8)=21.<br>f(9) = f(8) f(7) = 21 13 = 34.
#8. C# Programlama Dilinde double türündeki bir değişkenin boyutu kaç byte’tır?
Cevap : D) 8
Açıklama : C# veri türlerinde: int (tamsayı) 4 byte yer kaplar. double (çift duyarlıklı ondalıklı sayı) ise int’in iki katı, yani 8 byte yer kaplar.
#9. ……… benzer türdeki nesnelerin parça-bütün ilişkisi içinde bir ağaç yapısı ile oluşturmaya ve tek bir arayüzden ulaşılmasına olanak sağlar.
Yukarıda tanımı verilen tasarım deseni için boş bırakılan yere aşağıdakilerden hangi ifade gelmelidir?
Cevap : E) Bileşik (Composite)
Açıklama : “Bileşik” (Composite) tasarım deseni, nesneleri hiyerarşik bir “ağaç yapısı” (tree structure) içinde düzenlemeye yarar. Bu desen sayesinde, hem tekil nesneler (yapraklar) hem de bu nesneleri içeren gruplar (dallar/bileşikler) aynı arayüzü kullanarak (“parça-bütün” ilişkisi) yönetilebilir.
public class Okul
{
public Okul() {
Console.WriteLine(“Okul”) ;
}
}
#10. Yukarda verilen örnek C# kod bloğunda yer alan “public Okul()” nesneye yönelik programlada hangi kavramı ifade eder?
Cevap : D) Yapıcı (Constructor)
Açıklama : Nesneye yönelik programlamada, sınıf (class) ile aynı isme sahip olan ve new anahtar kelimesi ile o sınıftan bir nesne oluşturulduğunda otomatik olarak çalışan özel metoda “Yapıcı Metot” (Constructor) denir. public Okul() ifadesi, Okul sınıfının yapıcı metodudur.
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
#11. Arabirimler (Interfaces) ile ilgili aşağıdaki verilen ifadelerden hangisi yanıştır?
Cevap : C) Yapılarda (struct) arabirim kullanmak mümkün değildir.
Açıklama : C# dilinde, hem Sınıflar (Class) hem de Yapılar (Struct) arabirimleri (interface) uygulayabilir. Bir yapının (struct) arabirim kullanması mümkündür. Bu nedenle C şıkkındaki ifade yanlıştır.

#12. Yukarıda verilen IGenelIslemler arabiriminin, IDosyaIslem ve IGrafikIslem olarak yeniden yazılmasına karşılık gelen tasarım prensibi aşağıdakilerden hangisinde verilmiştir?
Cevap : A) Arabirim Ayırma Prensibi (Interface Segregation Principle)
Açıklama : SOLID prensiplerinden “I” harfine karşılık gelen “Arabirim Ayırma Prensibi”, büyük ve “şişman” arabirimlerin (IGenelIslemler gibi) bölünmesini savunur. Kodda, bu büyük arabirim, birbiriyle ilgisiz görevleri (dosya işlemleri ve grafik işlemleri) ayırarak iki küçük ve daha spesifik arabirime (IDosyaIslem, IGrafikIslem) bölünmüştür. Bu, tam olarak bu prensibin uygulanmasıdır.
#13.
I. Tekil (Singleton)
II. Fabrika (Factory)
III. Adaptör (Adapter)
IV. Gözlemci (Observer).
Yukarıda verilenlerden hangisi yada hangileri Oluşturucu (Creational) Tasarım Deseni kategorisine özgüdür?
Cevap : B) I ve II
Açıklama : Tasarım desenleri 3’e ayrılır: Oluşturucu (Creational): Nesne yaratma mekanizmalarıyla ilgilenir. Örnek: Tekil (Singleton), Fabrika (Factory). Yapısal (Structural): Örnek: Adaptör (Adapter). Davranışsal (Behavioral): Örnek: Gözlemci (Observer). Soruda Oluşturucu desenler sorulduğu için doğru cevap I ve II’dir.
#14. ……. takip edilmekte olan bir nesnede meydana gelen gelişmelerden diğer nesnelerin haberdar edildiği bir davranışsal tasarım desenidir.
Yukarıdaki ifadede boş bırakılan yere aşağıdakilerden hangisi gelmelidir?
Cevap : A) Gözlemci Tasarım Deseni
Açıklama : “Gözlemci” (Observer) tasarım deseni, bir nesnenin (Subject/Takip Edilen) durumunda bir değişiklik olduğunda, o nesneye abone olan/bağımlı olan diğer nesnelerin (Observers/Gözlemciler) otomatik olarak bilgilendirilmesini (haberdar edilmesini) sağlayan davranışsal bir desendir.
#15. C# programalma dili için verilen erişim denetleyicilerinin türetilmiş bir sınıfta erişim ile ilgili aşağıdakilerden hangisi vanıştır?
Cevap : A) private olan üyeler her yerden erişilir.
Açıklama : Erişim denetleyicilerinden private (özel), bir üyenin (metot veya değişken) sadece tanımlandığı sınıf içerisinden erişilebilir olmasını sağlar. Türetilmiş sınıflar veya dışarıdan herhangi bir kod bu üyeye erişemez. “Her yerden erişilir” ifadesi public için geçerlidir ve private için tamamen yanlıştır.
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
#16. Bridge (Köprü) Tasarım Deseninin temel kullanım amacı aşağıdakilerden hangisidir?
Cevap : E) İki ayrı sınıf hiyerarşisini birbirinden ayırarak bağımlılıkları azaltmayı amaçlar.
Açıklama : Bridge (Köprü) deseni, bir sınıfın “Soyutlama” (Abstraction) kısmını ve “Uygulama” (Implementation) kısmını iki ayrı hiyerarşi olarak ayırır. Bu sayede, bu iki hiyerarşi birbirine sıkı sıkıya bağlı olmadan, bağımsız olarak geliştirilebilir ve genişletilebilir.

#17. Şekilde verildiği üzere, istekler bir dizi seri boyunca iletilmesine olanak sağlanan bir tasarım deseni hangisidir?
Cevap : A) Sorumluluklar Zinciri (Chain Of Responsibility)
Açıklama : “Sorumluluklar Zinciri” (Chain of Responsibility) tasarım deseni, bir isteği (request) işleyebilecek bir dizi (zincir) nesne oluşturmaya dayanır. İstek zincire girer ve bir nesne tarafından işlenene veya zincirin sonuna ulaşana kadar nesneler arasında seri boyunca iletilir.
#18. Aşağıda verilenlerden hangisi bir Tasarım Deseni kategorisidir?
Cevap : C) Davraışsal (Behavioral)
Açıklama : Tasarım Desenleri (Design Patterns) üç ana kategoriye ayrılır: 1) Oluşturucu (Creational), 2) Yapısal (Structural) ve 3) Davranışsal (Behavioral). Diğer şıklar bu kategorilerin altındaki spesifik desen isimleridir.

#19. Yukarda görseli verilen UML diyagramının ismi aşağıdakilerden hangisidir?
Cevap : B) Kullanım Senaryosu Diyagramı
Açıklama : Görselde, bir “Kullanıcı” (Actor – Çöp Adam simgesi) ile sistemin sunduğu “Ürünleri Listele”, “Ürün Detayı” ve “Ürün Karşılaştır” (Use Case – Elips simgeleri) fonksiyonel eylemleri arasındaki ilişki gösterilmektedir. Bu, UML’de “Kullanım Senaryosu Diyagramı” (Use Case Diagram) olarak adlandırılır.
#20. Aşağıdakilerden hangisi Nesneye Yönelik Tasarım Prensiplerinden (SOLID prensipleri) biri değildir?
Cevap : C) Kaynak Kod Yönetim Prensibi
Açıklama : SOLID, Nesneye Yönelik Programlamanın 5 temel prensibinin baş harflerinden oluşur: Single Responsibility (Tek Sorumluluk), Open/Close (Açık/Kapalı), Liskov Substitution (Liskov İkame), Interface Segregation (Arabirim Ayırma) ve Dependency Inversion (Bağımlılığı Tersine Çevirme). “Kaynak Kod Yönetim Prensibi” diye bir SOLID prensibi yoktur.
Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.
SONUÇ
Nesneye Yönelik Programlama 2024-2025 Final Soruları
Nesneye Yönelik Programlama 2024-2025 Final Soruları
Nesneye Yönelik Programlama 2024-2025 Final Soruları
Nesneye Yönelik Programlama: C# Dili, Tasarım Desenleri ve UML |
|
|
|
| @lolonolo_com |
|---|
Nesneye Yönelik Programlama 2024-2025 Final Soruları
Nesneye Yönelik Programlama 2024-2025 Final Soruları |
|
|---|---|
|
|
| @lolonolo_com |
Nesneye Yönelik Programlama 2024-2025 Final Soruları
![]() |
![]() |
Nesneye Yönelik Programlama 2024-2025 Final Soruları


