Ata Aöf Nesne Tabanlı Programlama I 2025-2026 Final Soruları
https://lolonolo.com/2026/09/15/ata-aof-nesne-tabanli-programlama-1-2025-2026-final-sorulari/
Show More Show Less View Video Transcript
0:00
Herkese selam. Atağı Öf öğrencileri için
0:02
hayati önem taşıyan bir konuyu G#arp
0:04
programlama dilinin tam kalbini yani
0:06
sınıf ve nesne yapılarını didik didik
0:08
edeceğimiz yepyeni açıklayıcı
0:10
incelememize hoş geldiniz. Biliyorum
0:12
finaller kapıda. O yüzden bugün sadece
0:14
kuru kuruya ezber yapmayacağız. İşin
0:16
mantığını, felsefesini tamamen
0:18
oturtacağız. Hazırsanız hiç vakit
0:20
kaybetmeden dalalım. Lolanolo
0:22
platformuna hoş geldiniz. Bu dersimizde
0:24
nesne tabanlı programlama ı 2025-2026
0:28
konularını, çıkmış sorularını ve detaylı
0:30
açıklamalarını derinlemesini
0:31
inceliyoruz. Hızlıca yol haritamıza bir
0:33
göz atalım. Önce sınıf ve nesne
0:36
temelleriyle o büyük dijital
0:37
metropolimizi inşa etmeye başlayacağız.
0:40
Ardından erişim ve kapsülleme, diziler
0:42
ve koleksiyonlar, metotlar ve kalıtım,
0:44
string ve matematik metotları gelecek.
0:47
En sonunda da final sınavında hayat
0:48
kurtaracak o kritik ipuçlarını
0:50
paylaşacağım. 1. Bölüm, sınıf ve nesne
0:52
temelleri. Şöyle düşünün. Sıfırdan
0:55
devasa bir şehir, koca bir metropol inşa
0:58
ediyoruz. Temeli sağlam atmadan bina
1:00
dikemeyiz, değil mi? Nesne tabanlı
1:01
programlamanın bütün esprisi işte bu
1:03
temelde yatar. Mesela elinizde bir
1:05
binanın mimari çizimi yani bir mavi
1:07
kopya var. O kağıdın içindeki evde
1:09
yaşayamazsınız. O sadece bir plandır.
1:12
İşte C#arpt'taki sınıf yani klass tam
1:14
olarak bu kağıttır. Ortak nitelikleri
1:16
bir arada tutan bir şablon. Nesne yani
1:19
objeek ise o plana bakarak gerçekten
1:21
tuğla tula inşa ettiğiniz bellekte somut
1:23
olarak yer kaplayan o binanın ta
1:25
kendisidir. Peki bu kağıttaki planı
1:27
nasıl gerçeğe dönüştürüyoruz? Ekranda
1:29
gördüğünüz şu koda bakalım. İnsan Ali
1:32
eşittir new insan olur. Buradaki o
1:34
sihirli new kelimesi var ya işte o
1:36
kelime bizim inşaat ekibimiz. New
1:39
dediğiniz an o şablondan somut bir nesne
1:41
üretilir ve bellekte ona hemen bir yer
1:43
ayrılır. Üstelik bu nesne üretildiği
1:45
saniye sahneye sınıfımızla aynı adı
1:47
taşıyan yapıcı metot yani constructor
1:50
çıkar ve ilk ayarları otomatik yapar.
1:52
Peki inşa bitti. Bu binanın
1:54
özelliklerine nasıl ulaşacağız? Çok
1:56
basit. Kod ekranında harika bir aracımız
1:59
var. Nokta operatörü. Ali nokta
2:01
yazdığınız an nesneye ait tüm özellikler
2:03
elinizin altındadır. Geldik ikinci
2:05
bölüme. Erişim ve kapsülleme. Nesnemizi
2:08
inşa ettik. Binamız hazır. Peki kapıları
2:11
ardına kadar herkese açık mı
2:12
bırakacağız? Tabii ki hayır. Burada üç
2:14
ana güvenlik seviyemiz devreye giriyor.
2:16
Bir kere private dediğimiz şey o sınıfın
2:19
en karanlık sırrıdır. Sadece sınıfın
2:21
kendi içinden ulaşabilirsiniz. Dışarıdan
2:23
kimse elini kolunu sallayarak giremez.
2:26
Public ise tam tersi. halka açık bir
2:28
park gibi her yerden erişime açıktır.
2:31
Protecteda biraz daha viıp çalışır.
2:33
Sadece o sınıf ve ondan miras alan yani
2:36
ondan türeyen sınıfların içeri girmesine
2:38
izin verir. Sınav için şu altın kuralı
2:40
asla unutmayın. Erişim belirleyicisi ne
2:43
olursa olsun bir sınıfın içindeki
2:45
metotlar her zaman kendi private
2:47
alanlarına erişebilir. Bu detay hayat
2:49
kurtarır. Madem verilerimizi private
2:52
yapıp gizliyoruz bunlara nasıl kontrollü
2:54
ulaşacağız? İşte burada kapsülleme yani
2:57
encapsulation devreye giriyor. Private
2:59
alanlarımıza dışarıdan ulaşmak için
3:01
özellikler dediğimiz kontrollü kapılar
3:03
inşa ediyoruz. Bu kapıda iki tane koruma
3:05
var. Get içerideki değeri return ile
3:08
alıp güvenceli dışarıya verir. Set ise
3:10
dışarıdan gelen değeri value ile kontrol
3:13
edip içeriye yani bizim gizli alanımıza
3:15
yazar. Bir de çok karıştırılan küçük bir
3:17
detay var. Sınıfın içindeki alan adıyla
3:20
metot içindeki değişken adı aynı olursa
3:22
ne olur? işler fena karışır. İşte bunu
3:25
önlemek için dis anahtar kelimesini
3:27
kullanıyoruz. Kısaca hey benim sınıfıma
3:30
ait olan değişkenden bahsediyorum
3:31
demektir. 3üncü bölümümüz diziler ve
3:34
koleksiyonlar. Tekil binaları geçelim.
3:37
Şehri artık mahallelere ayırıyoruz.
3:39
Birden fazla veriyi gruplamak için
3:41
dizileri kullanırız. GP'ta dizi
3:44
tanımlamak bayağı kuralcıdır. int köşeli
3:46
parantez dizi eş new int köşeli parantez
3:49
4. Tür bildirimi ve o meşhur new
3:51
kelimesi yan yana olmak zorunda. Klasik
3:54
kural saymaya her zaman 0dan başlarız.
3:56
Yani 0ın indiz. Dizinin boyutunu
3:59
öğrenmek için lent özelliğine bakarız
4:01
ama diziler sabittir. Hani öyle
4:03
esnemezler. İşte tam bu noktada
4:05
koleksiyonlar hayat kurtarıyor. List
4:07
sınıfı aşırı esnektir. Mesela listenin
4:10
sonuna başka bir koleksiyon eklemek için
4:12
add range metodunu kullanırsınız. Eleman
4:14
sayısını da count ile ship öğrenirsiniz.
4:17
Farklı tipleri bir arada tutan o meşhur
4:19
array list yapısındaysa bir elemanı
4:21
uçurmak isterseniz remove metodunu
4:23
kullanmanız yeterli. Şimdi lütfen dikkat
4:26
kesilin. Burası sınavda banko karşınıza
4:28
çıkacak bir yer. Biraz yavaşlayalım. İki
4:31
özel koreksiyonumuz var. Stack ve Q.
4:33
Stack yapısını mutfakta üst üste
4:35
dizilmiş tabaklar gibi düşünün. En son
4:37
koyduğunuz tabağı her zaman ilk
4:38
alırsınız, değil mi? İşte buna son giren
4:41
ilk çıkar. Yani lefo diyoruz. Q ise
4:43
bildiğiniz banka kuyruğudur. Kuyruğa ilk
4:46
kim girdiyse işlemi ilk o halleder ve
4:48
çıkar. Buna da ilk giren ilk çıkar. Yani
4:51
Fifo diyoruz. Sınavda şu detayı
4:53
yakalayın. Bu banka kuyruğunu başındaki
4:55
ilk elemanı silmek ve almak için her
4:57
zaman DQ metodunu kullanırız. Bölüm 4.
5:01
Metotlar ve Kalıkım. Geldik kod yazarken
5:03
hepimizin sık sık düştüğü o meşhur
5:05
tuzağa parametreleri referansla
5:07
aktarmak. Ref ve out. İkisi de aynı iş
5:10
yapıyor gibi durur ama kuralları taban
5:12
tabana zıttır. Bakın eğer ref ile bir
5:14
değişken gönderiyorsanız o değişkene
5:16
metottan önce mutlaka ama mutlaka bir
5:18
değer atanmış olması şarttır. Boş
5:21
gönderemezsiniz. Ama out kelimesini
5:23
kullanıyorsanız baştan bir değeri
5:24
olmasına hiç gerek yok. Tek kural o
5:26
değerin metot içerisinde mutlaka
5:28
atanmasıdır. Yani önceden değer
5:30
atandığından eminseniz ikisi birbirinin
5:32
yerine geçebilir ama bu temel kural
5:34
farkını sakın kaçırmayın. Hızlıca nesne
5:36
tabanlı programlamanın bel kemiği olan
5:38
üç temel kavrama daha bakalım. Bir
5:40
metodu aynı ismi verip farklı
5:42
parametrelerle tekrar tekrar tanımlamaya
5:44
aşırı yükleme yani overloading diyoruz.
5:47
Adı aynı ama yetenekleri farklı. Öyle
5:49
düşünün. Peki bir sınıftan başka bir
5:51
sınıf türetmek yani onun mirasına konmak
5:54
istersek ne yapıyoruz? Tabii ki kalıtım
5:56
kullanıyoruz ve bunu da iki nokta üst
5:58
üste işaretiyle yapıyoruz. Son olarak
6:00
programın başından sonuna kadar beton
6:02
gibi sabit kalacak veriler var. Bunlar
6:04
için const anahtar kelimesini
6:06
kullanırız. Yalnız dikkat sabitlerin
6:08
değeri derleme zamanında bilinmeli ve
6:10
tanımlandığı an hemen atanmalıdır. 5.
6:13
bölümümüz string ve matematik işlemleri.
6:16
Metinlerle uğraşırken bu hazır metotlar
6:18
sizin en yakın arkadaşınız olacak.
6:20
Mesela substring bir metni istediğiniz
6:22
yerinden makasla kesmek gibidir. Tek
6:24
parametre verirseniz o indisten başlar.
6:26
Ta sonuna kadar keser alır. İki
6:28
parametre verirseniz şuradan başla şu
6:30
kadar karakter al demiş olursunuz.
6:32
Trimse o metnin sağında solunda kalan
6:34
insanın sinirini bozan görünmez
6:35
boşlukları tertemiz yapar. İşin içine
6:38
sayılar girince de o meşhur mat sınıfı
6:40
sahneye çıkar. SQRT ile karekök
6:42
hesaplar. Abs ile mutlak değer alır.
6:44
Round ile küsüratlı sayıları yuvarlar.
6:46
Sin ile de sinüs değerini tek satırda
6:48
bulup geçersiniz. Ve geldik son bölüme.
6:51
Bölüm 6. Final sınavı ipuçları.
6:54
Öğrendiğimiz onca teoriyi sınav
6:56
kağıdında nasıl puana çevireceğimize bir
6:58
bakalım. O karmaşık kod okuma sorularını
7:01
gördüğünüzde hiç panik yapmayın.
7:02
Zihninizde şu üç adımlı listeyi
7:04
canlandırın. Adım 1. Ekranda bir döngü
7:07
ve sayaç varsa o sayacın gerçekten artıp
7:10
artmadığına çok iyi bakın. Bazen sonsuz
7:12
döngü koyup sizi gafil avlarlar. Adım 2.
7:16
İnanılmaz dikkatli olun. Yeşil renkle
7:18
veya çift slash ile yazılmış yorum
7:20
satırlarına kesinlikle aldanmayın. O
7:22
satırlar sadece nottur. Kod olarak
7:24
çalışmaz. Gözünüz orada takılıp yanlış
7:26
hesap yapmasın. Derleyici onu zaten
7:28
görmezden gelecek. Adım 3. Küçücük söz
7:32
dizimi yani sintaks sembollerini gözden
7:34
kaçırmayın. Semboller demişken çoktan
7:37
seçmeli sorularda Charp'ın dilini
7:38
hızlıca çözmek için şu üç temel
7:41
eşleşmeyi kafanıza kazıyın. Nokta
7:43
işareti bir nesnenin üyesine ulaşmak
7:45
içindir. O nesnemizin kapıudur. İki
7:48
nokta üst üste işareti gördüğünüzde
7:50
aklınıza hemen kalıtım gelecek.
7:53
Atalardan gelen o mirası temsil eder ve
7:55
virgül işareti çok boyutlu diziler yani
7:58
matriksler tanımlarken köşeli parantezin
8:00
içindeki boyut sayısını belirlemek için
8:02
kullanılır. Sınavda bu küçük söz dizimi
8:04
kuralları inanın size çok rahat puan
8:07
kazandıracak. Videoda incelediğimiz bu
8:09
dersin ve yıla ait çıkmış soruları
8:11
kendiniz deneme sınavı formatında
8:13
çözmek, eksiklerinizi kapatmak ve
8:15
kendinizi detaylıca test etmek için
8:17
lolonolo.com adresini ziyaret edebilir,
8:20
videonun altındaki açıklama kısmında yer
8:22
alan bağlantıya tıklayabilirsiniz.
8:23
Hepinize finallerde bol şans ve üstün
8:25
başarılar diliyorum. Lütfen
8:27
ezberlemeyin. Yapının mantığını
8:29
kavramaya odaklanın. Bir sonraki
8:30
incelememizde görüşmek üzere. Kendinize
8:33
çok iyi bakın.
Jobs & Education

