Final 2022 20 soru

Nesneye Yönelik Programlama 2022 Final

Kaynak: https://lolonolo.com/2023/01/11/nesneye-yonelik-programlama-2022-final-sorulari/

📖 Konu özeti (sınav öncesi tekrar)

Nesneye Yönelik Programlama 2022 Final Soruları

20 soru
Şıkka dokun, anında açıklamasını gör — ya da çalışma modunda tüm cevapları aç.
Soru 1
Philippe Kruchten tarafından ortaya atılan 4+1 mimarl modellnde yer alan ve sistem bileşenlerinin fonksiyonlarının soyutlanmış olarak ele alındığı bölümün adı nedir?
DDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Kruchten'in 4+1 mimari görünüm modelinde Mantıksal Görünüm, sistemin işlevselliğini, yani bileşenlerin fonksiyonlarını soyutlanmış olarak (sınıflar, nesneler) ele alır. Fiziksel görünüm donanım dağılımını, süreç görünümü eşzamanlılığı, geliştirme görünümü ise modül düzenini gösterir.

Soru 2

” —– Tasarım Desenlerl, sınıf ve nesnelerin bir araya gelerek daha büyük tasarım oluşturmayı hedefledikleri desenlerdir.” Ifadesinde boş bırakılan yere aşağıdakilerden hangisi gelmelidir?
BDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Yapısal tasarım desenleri, sınıf ve nesnelerin bir araya gelerek daha büyük yapılar oluşturmasını konu alır; Adapter, Bridge, Decorator, Facade, Proxy bu gruptadır. Oluşturucu desenler ise nesne üretimiyle ilgilidir.

Soru 3
Bir yazılım projesinin teknik tasarımlarının standart bir formatta tanımladığı ve proje eklbl Içerisinde bir iletişim aracı olarak da kullanılan modelleme dill aşağıdakilerden hangisinde verilmiştir?
CDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

UML (Unified Modeling Language, Birleşik Modelleme Dili), yazılımın teknik tasarımını standart diyagramlarla tanımlayan ve proje ekibi içinde ortak bir iletişim aracı olarak kullanılan modelleme dilidir. XML ve HTML ise işaretleme dilleridir.

Soru 5
Yukarda verllen değişkenin tek seferde tūm elemanları silinmek istenirse aşağıdakl metotlardan hangisini kullanılır ?
DDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

C# koleksiyonlarında (ör. List) tüm elemanları tek seferde silmek için Clear() metodu kullanılır. Remove yalnızca belirtilen bir elemanı siler, Add ve AddRange ise eleman ekler.

Soru 6
.Net Core geliştirme ortamında “dotnet bulld” komutu ile ilgili aşağıdakı ifadelerden hangisl doğrudur?
CDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

dotnet build komutu mevcut projeyi ve bağımlılıklarını derler. Yeni proje için dotnet new, temizlemek için dotnet clean, bilgi için dotnet --info, yardım için dotnet --help kullanılır.

Soru 7
C# Programlama Dilinde arabirimlerde tanımlanan tüm üyelerin erişim seviyesi ne olmalıdır?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

C#'ta arabirim (interface) üyeleri, onu uygulayan sınıflar tarafından erişilip gerçekleştirilebilmeleri için public olmalıdır; varsayılan olarak da public kabul edilirler. Arabirimi uygulayan sınıf da bu üyeleri public olarak tanımlamalıdır.

Soru 8
Aşağıda verilenler Tasarım Desenlerinden hangisl yapısal tasarım desenl grubuna dahil değildir?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Adaptör, Köprü, Vekil ve Cephe yapısal tasarım desenleridir. Fabrika (Factory) ise nesne oluşturma işini üstlenen bir oluşturucu (creational) desendir.

Soru 9
Aşağıda verllen tasarım desenlerinden hanglsl Davranışsal Tasarım desenl grubuna alttır?
DDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Komut (Command) deseni, bir isteği nesne olarak kapsülleyerek nesneler arası iletişimi düzenler ve davranışsal desenler grubundadır. Vekil ve Cephe yapısal, Fabrika oluşturucu desendir; Arabirim ise bir tasarım deseni değildir.

Soru 10

C# Programlama Dilinde bir sınıftan yeni bir nesne türetmek Istenlyorsa hangi anahtar kellme kullanılır?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

C#'ta bir sınıftan nesne oluşturmak için new anahtar kelimesi kullanılır: Ogrenci ogr = new Ogrenci();. class sınıfı tanımlamak, struct yapı tanımlamak için kullanılır.

Soru 11
C# Programlama Dilinde genel hata sınıfı aşağıdakilerden hangisinde verilmiştir?
CDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

C#'ta tüm hata sınıflarının temel (genel) sınıfı System.Exception'dır; catch (Exception ex) her türlü hatayı yakalar. DivideByZeroException gibi özel hata sınıfları bu sınıftan türetilmiştir.

Soru 12
C# Programlama Dilinde double türündeki bir değişkenin boyutu kaç byte’tır?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

C#'ta double 64 bitlik çift duyarlıklı ondalıklı sayı tipidir; 64 bit = 8 byte eder. float ise 4 byte, decimal 16 byte'tır.

Soru 13
Aşağıda verilen metot tanımlarından hangisi yanlıştır?
ADoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Metot tanımında her parametre tip ve adıyla birlikte yazılmalıdır. int topla(int, b) ifadesinde ilk parametrenin adı, ikinci parametrenin tipi eksiktir; doğrusu int topla(int a, int b) olmalıdır. Diğer tanımlar geçerlidir.

Soru 14
Aşağıda verllen Tasarım Desenlerinden hangisl Oluşturucu (Creation) sınıfına alt değildir?
CDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Tekil (Singleton), Yapıcı (Builder), Fabrika (Factory) ve Soyut Fabrika (Abstract Factory) nesne oluşturmayla ilgili oluşturucu desenlerdir. Vekil (Proxy) ise yapısal bir tasarım desenidir.

Soru 15
Aşağıdakilerden hangisi Nesneye Yönelik Tasarım prensiplerinden (SOLID prensiplerl) biri değildir?
ADoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

SOLID prensipleri; Tek Sorumluluk, Açık/Kapalı, Liskov İkame, Arabirim Ayırma ve Bağımlılığı Tersine Çevirme prensipleridir. "Kaynak Kod Yönetim Prensibi" bunlardan biri değildir.

Soru 16
C# dilinde bir yığın için ayrılan bellek alanı dolduğunda oluşan hata aşağıdakilerden hangisinde verilmiştir?
DDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Çağrı yığını (stack) için ayrılan bellek alanı dolduğunda, örneğin sonsuz özyinelemeli bir metotta, StackOverflowException oluşur. DivideByZeroException sıfıra bölme, ArithmeticException genel aritmetik hatalar içindir.

Soru 17

|- Sınıflar (class) referans türündedirler
II – Yapılar (struct) değer türündedirler.
III – Sınıf (class) ve yapı (struct) arasında bir fark yoktur.
C# programlama dilinde sınıf (class) ve yapı (struct) lle ilgili yukarıda verllen Ifadelerden hangisi ya da hangileri doğrudur?
ADoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

C#'ta sınıflar (class) referans tipi, yapılar (struct) ise değer tipidir. Bu yüzden aralarında önemli farklar vardır (bellekte saklanma, kopyalama davranışı, kalıtım); III yanlıştır, I ve II doğrudur.

Soru 18
Yukarda verllen kod bloğu çalıştırıldığında üretilen çıktı aşağıdakilerden hangisinde verilmiştir?
BDoğru cevap
Soru 19
Tasarım Desenleri kaç ana kategoride toplanmıştır?
BDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Tasarım desenleri (Gang of Four) üç ana kategoride toplanır: oluşturucu (creational), yapısal (structural) ve davranışsal (behavioral).

Soru 20
Nesneye yönelik programlamanın tasarım Ilkelerinden biri olan, Tek Sorumluluk Prensibl (Single Responsibility Principle) lle amaçlanan ana hedef nedir?
BDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Tek Sorumluluk Prensibi'nin amacı, bir sınıfın yalnızca tek bir sorumluluğu olmasıdır. Böylece sınıfın değişmesi için tek bir neden olur, kod daha anlaşılır ve bakımı kolay hale gelir.

Soru 21
C# Programlama Dilinde bir arabirim tanımlamak Istenirse hangl anahtar kelime kullanılır?
ADoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

C#'ta arabirim interface anahtar kelimesiyle tanımlanır: interface IHareket { void Git(); }. final Java'ya ait bir anahtar kelimedir, new ise nesne oluşturmak için kullanılır.