ATA-AÖF Nesne Tabanlı Programlama I Çıkmış Sorular
Atatürk Üniversitesi ATA-AÖF Nesne Tabanlı Programlama I dersinin vize, final ve bütünleme sınavlarına hazırlanmak için 64 soruluk havuz: çıkmış sınav sorularını cevaplarıyla çöz, yanlış yaptıklarını tekrar et, yolda sesli dinle.
Nesne Tabanlı Programlama I konu özeti
Ders, C# diliyle nesne tabanlı programlamanın temellerini anlatır: sınıf ve nesne kavramları, erişim belirleyicileri, kalıtım, çok biçimlilik, kapsülleme, metotlar, diziler ve koleksiyonlar ile sık kullanılan hazır sınıflar işlenir.
Sınıf ve nesne
- Sınıf, ortak özellikli nesneler için veri ve işlemleri bir araya getiren şablondur; class anahtar sözcüğüyle tanımlanır.
- Nesne, sınıftan new ile üretilir; örnek yazım: Insan Ali = new Insan();
- Sınıf yalnızca tanımlandığında bellekte yer ayrılmaz; yer nesne oluşturulunca ayrılır.
- Nesnenin üyelerine nokta (.) ile ulaşılır; IntelliSense üyeleri listeler.
- Partial sözcüğü, sınıf tanımının birden çok dosyaya bölünmesini sağlar.
- Sınıf içinde alan adı ile yerel değişken adı çakışırsa this ile alana ulaşılır.
Erişim belirleyicileri
- Geniş erişimden dara sıralama: public, internal, protected, private.
- Public her yerden, internal aynı projeden, protected türetilmiş sınıflardan, private yalnızca sınıf içinden erişilir.
- Protected internal: aynı projedeki her sınıfa ve başka projedeki türetilmiş sınıflara açıktır; başka projedeki türetilmemiş sınıflara kapalıdır.
- Tek derlemeli çözümde internal ile public aynı kapsamı verir.
- Private üyeye başka sınıflar doğrudan ulaşamaz, ancak aynı sınıfın metotları bütün alanlara erişebilir.
- Sınıf bildiriminde static, public, abstract, sealed kullanılır; extern sınıf değiştiricisi sayılmaz.
Kalıtım ve çok biçimlilik
- Kalıtım, ata sınıfın özellik ve metotlarının alt sınıfa aktarılmasıdır.
- C#'ta iki nokta ile yazılır; B:A ifadesinde B türeyen, A temel sınıftır.
- Çok biçimlilikte devralınan metot, türeyen sınıfta override edilerek farklı çalışır; temel sınıfta virtual kullanılır.
- Soyut sınıflar gereksiz ayrıntıyı gizleyip yalnızca gerekli temel işlevleri gösterir.
Kapsülleme, özellik ve alanlar
- Kapsülleme, alanları private yapıp erişimi public özellik veya metotlarla denetlemektir.
- Property içinde get (okuma) ve set (yazma) blokları bulunur; okuma öncesi işlemler get bloğuna yazılır.
- Get bloğunda alan return ile döndürülür; set bloğunda gelen değer value ile alana atanır.
- readonly alanlar yalnızca tanımlamada veya yapıcı metotta değer alır.
- Sabitler const ile tanımlanır, tanımlanırken değer almak zorundadır ve sonradan değişmez.
Metotlar ve static
- Yapıcı metot sınıfla aynı adı taşır, dönüş tipi yazılmaz ve new sırasında otomatik çalışır.
- Yazılmazsa derleyici parametresiz bir yapıcı üretir; farklı parametreli birden çok yapıcı yazılabilir.
- Aşırı yükleme: aynı adlı metotlar farklı sayıda veya türde parametreyle tanımlanır; yalnızca dönüş tipi farkı yetmez.
- ref'te değişkenin önceden değer taşıması gerekir, out'ta gerekmez.
- Static üyeler sınıfa aittir, nesne üretmeden kullanılır ve bellekte tek kopyadır.
- Static bir veri türü değil değiştiricidir; parametre türü olamaz.
Diziler ve koleksiyonlar
- Dizi tanımı: int[] dizi = new int[4]; indisler 0'dan başlar.
- Eleman sayısı Length ile bulunur; çok boyutlu dizide köşeli parantez içindeki virgül boyutu belirler.
- Diziye değer atamak için SetValue kullanılır.
- Stack LIFO çalışır; Pop() üsttekini okuyup çıkarır, Peek() yalnızca okur.
- Queue'da Dequeue() baştaki elemanı siler ve döndürür; TrimToSize() kapasiteyi eleman sayısına çeker.
- ArrayList'te Remove() nesneyi, RemoveAt() indisteki elemanı siler; List aynı türden veri tutar ve AddRange ile sona eleman eklenir.
- GetKey(index) verilen sıradaki anahtarı döndürür.
Hazır sınıflar ve diğer konular
- Math sınıfında Sqrt, Abs, Round, Sin bulunur; Trim ise string metodudur ve baş/son boşlukları siler.
- Substring(20) verilen indisten metnin sonuna kadar olan kısmı verir.
- DateTime.Now sistemin o anki tarih ve saatini verir.
- String'in varsayılan değeri null'dır: default(string).
- Enum'un varsayılan veri türü int'tir.
- Sabit adı rakamla başlayamaz ve +, -, / gibi işaret içeremez.
- Visual Studio'da görünmeyen pencereler Görünüm (View) menüsünden açılır.
Önemli kavramlar
- Sınıf
- Nesnelerin sahip olacağı veri ve işlemleri belirleyen şablondur.
- Nesne
- Sınıftan new ile üretilen ve bellekte yer kaplayan somut örnektir.
- Kapsülleme
- Alanların gizlenip yalnızca özellik veya metotlarla denetimli erişim sağlanmasıdır.
- Kalıtım
- Bir sınıfın üyelerinin başka bir sınıfa aktarılmasıdır.
- Çok biçimlilik
- Aynı adlı metodun türeyen sınıflarda farklı davranmasıdır.
- Yapıcı metot
- Nesne oluşturulurken otomatik çalışan, başlangıç değerlerini veren metottur.
- Aşırı yükleme
- Aynı adlı metodun farklı parametrelerle birden çok kez tanımlanmasıdır.
- Property
- Private alana get ve set blokları aracılığıyla güvenli erişim sağlayan yapıdır.
- this
- Geçerli nesneyi temsil eden ve alanlara ulaşmayı sağlayan anahtar sözcüktür.
- const
- Değeri derleme sırasında belli olan ve değiştirilemeyen sabiti tanımlar.
- Partial
- Bir sınıf tanımının birden fazla dosyaya bölünmesini sağlar.
Sınav ipuçları
- Stack LIFO, Queue FIFO çalışır; Pop ve Dequeue hem çıkarır hem döndürür, Peek yalnızca okur.
- Dizide eleman sayısı Length, List'te Count'tur; Capacity ise yeniden boyutlanmadan alınabilecek sayıdır.
- Remove nesneyi, RemoveAt indisi kullanarak siler; Trim string metodudur, Math metodu değildir.
- Kalıtımda iki nokta işaretinin solu türeyen, sağı temel sınıftır.
- Private erişim sınıfın dışına kapalıdır, içine değil; sınıf içindeki metotlar tüm alanlara ulaşır.
Hangi sınavların soruları var?
Nesne Tabanlı Programlama I örnek sorular
Aşağıdaki sorular dersin konularından derlenmiştir; cevabı görmek için "Cevabı gör"e dokunun. Tüm soruları uygulamada çözebilirsiniz.
1. Bir değişkene veya metoda yalnızca tanımlı olduğu sınıfın içinden ulaşılması isteniyorsa hangi erişim türü seçilmelidir?
- Properties
- New
- Private
- Void
- Public
Cevabı gör
Doğru cevap: C) Private
Yalnızca tanımlandığı sınıfın içinden erişilebilen ve dışa kapalı olan erişim türü Private'tır.
2. Sınıfın içinden alanlara ulaşmak için alan adının başına hangi sözcük konmalıdır?
- Class
- Bu
- Property
- This
- Field
Cevabı gör
Doğru cevap: D) This
this anahtar sözcüğü, o an çalışılan sınıf örneğini temsil eder ve sınıfın kendi alanlarına ulaşmayı sağlar.
3. Visual Studio.Net 2019 ilk açıldığında ekranda görünmeyen pencereleri göstermek için hangi menüden yararlanılır?
- Dosya (File)
- Pencere (Window)
- Düzen (Edit)
- Görünüm (View)
- Çalıştır (Build)
Cevabı gör
Doğru cevap: D) Görünüm (View)
Visual Studio'da başlangıçta görünmeyen pencereler Görünüm (View) menüsünden açılır.
4. Nesne yönelimli programlamada yalnızca gerekli temel bilgileri sunup gereksiz ayrıntıları gizlemeye yarayan kavram aşağıdakilerden hangisidir?
- Kısmi sınıflar
- Mühürlü sınıflar
- Statik sınıflar
- İç içe sınıflar
- Soyut sınıflar
Cevabı gör
Doğru cevap: E) Soyut sınıflar
Soyutlama ve soyut sınıflar, ayrıntıları gizleyip yalnızca gerekli temel işlevleri göstererek karmaşıklığı azaltır.
5. Bir sınıftan yeni bir nesne üretmek için hangi anahtar sözcük kullanılır?
- Class
- New
- Value
- This
- Return
Cevabı gör
Doğru cevap: B) New
C# dilinde bir sınıftan nesne (instance) oluşturmak için new anahtar sözcüğü kullanılır.
6. Aşağıdaki sıralamalardan hangisi erişim belirleyicilerini geniş erişimden dar erişime doğru dizmiştir?
- Public -> internal -> protected -> private
- Public -> private -> protected -> internal
- Protected -> internal -> public -> private
- Public -> protected -> internal -> private
- Public -> internal -> private -> protected
Cevabı gör
Doğru cevap: A) Public -> internal -> protected -> private
Erişim genişliği şöyledir: Public her yerden, Internal aynı projeden, Protected türetilmiş sınıflardan, Private ise yalnızca sınıfın içinden erişilir.
7. C#'ta sınıf bildirimine, istenirse bir dizi sınıf değiştiricisi eklenebilir; aynı değiştirici bildirimde birden çok kez yazılırsa derleyici hata verir. Aşağıdakilerden hangisi bu sınıf değiştiricileri arasında yer almaz?
- Static
- Public
- Abstract
- External
- Sealed
Cevabı gör
Doğru cevap: D) External
Static, public, abstract ve sealed sınıf bildirimlerinde kullanılan değiştiricilerdir. Extern ise çoğunlukla metot bildirimlerinde (ör. DllImport ile) kullanılır ve sınıf değiştiricisi sayılmaz.
8. Protected internal olarak tanımlanmış bir özelliğe veya metoda aşağıdaki durumların hangisinde erişilemez?
- Farklı proje içinden - türetilmiş sınıftan
- Farklı proje içinden - diğer sınıflardan
- Aynı proje içinden - türetilmiş sınıftan
- Aynı proje içinden - tanımlandığı sınıftan
- Aynı proje içinden - diğer sınıflardan
Cevabı gör
Doğru cevap: B) Farklı proje içinden - diğer sınıflardan
Protected internal, aynı projedeki tüm sınıflara veya başka projede de olsa türetilmiş sınıflara erişim verir. Bu koşulu karşılamayan tek durum, başka projede olup türetilmemiş sınıflardır.
9. C# dilinde B sınıfının A sınıfını miras aldığını, yani ondan türetildiğini ifade eden yazım aşağıdakilerden hangisidir?
- A-B
- A:B
- B:A
- A;B
- B;A
Cevabı gör
Doğru cevap: C) B:A
C#'ta kalıtım için iki nokta (:) işareti kullanılır. İşaretin solundaki sınıf türeyen, sağındaki sınıf ise temel sınıftır; bu nedenle B:A yazımı doğrudur.
10. Bir sınıfın özelliklerinden bir kısmını veya tamamını başka sınıflarda kullanabilmeye ne ad verilir?
- Çok biçimlilik
- Sınıf
- Kapsülleme
- Örnekleme
- Kalıtım
Cevabı gör
Doğru cevap: E) Kalıtım
Kalıtım, bir sınıfın (ata sınıf) özellik ve metotlarının başka bir sınıfa (alt sınıf) aktarılmasıdır.
Bu dersi alan bölümler
Nasıl çalışmalı?
Önce "Vize (hepsi)" ya da "Final (hepsi)" ile geçmiş yılların sorularını çözün; aynı konular sınavlarda sık tekrarlanır. Yanlış yaptığınız sorular "Yanlışlar" bölümünde birikir, sınavdan önce onları yeniden çözün. Yolda ya da ev işi yaparken "Sesli Dinle" ile soruları ve cevaplarını dinleyebilirsiniz.
Sık sorulan sorular
ATA-AÖF Nesne Tabanlı Programlama I çıkmış sorular nerede?
Mobil Defter'de ATA-AÖF Nesne Tabanlı Programlama I dersinin vize, final ve bütünleme hazırlığı için 64 sorusu var (2025-26 Final, 2024-25 Final). Soruları cevaplarıyla test olarak çözebilir, yanlışlarını ayrıca tekrar edebilir ve sesli dinleyebilirsin.
ATA-AÖF Nesne Tabanlı Programlama I vize soruları ve final soruları ayrı çözülebilir mi?
Evet. Uygulamada "Final (hepsi)" düğmeleriyle yalnız o sınavın sorularını, yıl düğmeleriyle de tek bir yılın sınavını çözebilirsin.
ATA-AÖF Nesne Tabanlı Programlama I çıkmış sorular PDF olarak indirilebilir mi?
Ayrı bir PDF dosyası yerine uygulamadaki "Kağıda yazdır" düğmesi dersin bütün sorularını ve cevap anahtarını yazdırılabilir sayfa olarak hazırlar; telefonda ya da bilgisayarda "PDF olarak kaydet" seçeneğiyle PDF yapabilirsin.
ATA-AÖF Nesne Tabanlı Programlama I ders notları ve konu özeti var mı?
Evet. Bu sayfada dersin konu özeti var; uygulamadaki "Konu özeti" düğmesiyle özetin tamamını okuyabilir ya da sesli dinleyebilirsin.
ATA-AÖF Nesne Tabanlı Programlama I soruları ücretli mi?
Hayır, ücretsiz. Ad, cep telefonu ve bölümünle bir dakikada üye olup bütün sorulara, yanlışlar listesine ve sesli dinlemeye erişebilirsin.
2. sınıf Güz diğer dersler
- ATATÜRK İLK. ve İNKILAP TAR. I 2 0 0 2 3 ORT2002 ATATÜRK İLK. ve İNKILAP TAR. II 2 çıkmış sorular
- Atatürk İlkeleri ve İnkılap Tarihi I çıkmış sorular
- Borçlar Hukuku çıkmış sorular
- Davranış Bilimleri çıkmış sorular
- Görsel Programlama I çıkmış sorular
- Harita Bilgisi ve Coğrafi Bilgi Sistemleri çıkmış sorular
- Hayat ve Hayat Dışı Sigortalar çıkmış sorular
- İdare Hukuku çıkmış sorular
- İktisada Giriş çıkmış sorular
- İletişim ve Halkla İlişkiler çıkmış sorular
- İmar Hukuku çıkmış sorular
- İnsan Davranışı ve Sosyal Çevre I çıkmış sorular
- İnternet Programcılığı I çıkmış sorular
- İstatistiğe Giriş çıkmış sorular