# data[].attributes.attachment_link.title
2- bağlantı cümlesi ve VeriGetir MEtodu.PNG

# data[].attributes.attachment_link.title
1-ilk ayarlar tablo ve using mysql kodu.PNG

# data[].attributes.body
Forma bir textBox ve bir buton ekleyin(panelden).

" Harfleri Getir" butonuna basılınca, Textbox'a yazılan kelimedeki harf sayısı kadar formda otomatik olarak buton oluşturulacak ve ismin her harfi bu butonların içine yazılacak.

Butonların konumunu, boyutunu, rengini siz belirleyiniz.

Sesli harf olan butonlara tıklandığında arkaplanını kırmızı yapın.

# data[].attributes.body
kodu eklense çok iyi olur. Her butonun ismi farklı olması için, Buton1, Buton2 gibi...

# data[].attributes.body
Buton boyutunu ve konumunu istediğiniz şekilde ayarlayınız.

Üretilen sayı çiftse buton arkaplan rengi yeşil, yazısı siyah olsun.

Üretilen sayı tekse buton arkaplan rengi mavi, yazısı beyaz olsun.

EK SORU: Butonun renginin rastgele bir renk olmasını ilk forma eklendiğinde nasıl sağlarız? Beraber bakalım...

# data[].attributes.headline
Bonus sorularla birlikte tam çözümü ve proje dosyası ektedir.

# data[].attributes.subject
Bonus sorularla birlikte tam çözümü ve proje dosyası ektedir.

# data[].attributes.headline
Yani textbox, label, buton vb nesneleri toolboxtan sürükle bırak ile eklemek yerine kodla, çalışma anında oluşturmak gerekebilir. Bunun için kitaptaki sayfa 164'teki örneğe bakalım.

# data[].attributes.subject
Yani textbox, label, buton vb nesneleri toolboxtan sürükle bırak ile eklemek yerine kodla, çalışma anında oluşturmak gerekebilir. Bunun için kitaptaki sayfa 164'teki örneğe bakalım.

# data[].attributes.body
Yalnız kitaptaki örnekte 2.adımda yanlışlık vardır. Doğru kod aşağıdaki gibi buton, label ve textbox nesnelerini oluşturmaktır.

//Bunları GLOBAL tanımlamanız iyi olur.

Button btnGiris = new Button();

Label lblAdSoyad= new Label();

TextBox txtAdSoyad=new TextBox();

# data[].attributes.headline
Formda belirlediğimiz butonlara enter ve esc görevlerini vermek

# data[].attributes.subject
Formda belirlediğimiz butonlara enter ve esc görevlerini vermek

# data[].attributes.body
Form özelliklerinie girilir. Accept Buton - > Enter görevi verilmek istenen buton adı seçilir.

Form özelliklerine girilir. Cancel Buton - > ESC çıkış görevi verilmek istenen buton adı seçilir.

# data[].attributes.attachment_link.title
🎬 NESNE YÖNELİMLİ PROGRAMLAMA Sinema Sınıfı Sorusu

# data[].attributes.body
isim, yas alan ve propertylerini(özellik) oluşturun.

IsımGüncelle isminde, parametre almayan geriye değer döndürmeyen metot tanımlayın. Bu metot içinde, "Yeni isminizi giriniz:" sorusunu sorun ve yeni girilen isim bilgisine göre güncelleme yapın ve ekrana yeni ismini yazın.

İnsan sınıfından Hayvan isminde bir sınıf türetin. İçerisinde sadece cins isminde bir alan ve property'sini tanımlayın.

Main içerisinde iki sınıftan da birer nesne oluşturun. İsim, yaş bilgilerini atayın. Metotları çağırarak insan ve hayvan isimlerini güncelleyin.

# data[].attributes.headline
Yapıcı metotlar, nesneler ilk oluştuğu anda otomatik olarak çalıştırılır.

# data[].attributes.subject
Yapıcı metotlar, nesneler ilk oluştuğu anda otomatik olarak çalıştırılır.

# data[].attributes.body
Yapıcı metotlar genellikle sınıf içinde tanımlanan yerel değişkenlerin ilk değerlerini düzenlemek için kullanılır.

YAPICI METOTLAR SINIF ADI İLE AYNI OLMAK ZORUNDADIR!

YAPICI metodu doğuma, yıkıcı metodu ölüme benzetebiliriz.

Hatırlayalım; aslında sınıflar gerçek dünyanın bir şablonu idi. Nesneler ise o sınıfın üyeleri. İşte bir insan doğduğunda aslında Insan sınıfından bir nesne(insan1) türetilmiştir gibi düşünebiliriz. Doğduğu anda da artık adı, cinsiyeti, uyruğu, boyu vb. belli olmuştur. İşte burada sanki yapıcı metot çalışarak değişkenlerin ilk değerleri belirlenmiştir diyebiliriz :)

# data[].attributes.headline
Chatgpt vb. yapay zeka araçlarını kullanmak serbest :)

# data[].attributes.subject
Chatgpt vb. yapay zeka araçlarını kullanmak serbest :)

# data[].attributes.headline
Ekran çıktısı şekildeki gibi olan programı, verilen adımlara göre kodlayınız.

# data[].attributes.subject
Ekran çıktısı şekildeki gibi olan programı, verilen adımlara göre kodlayınız.

# data[].attributes.body
masaNo(int), fiyat(double), caySayisi(int) alanlarını oluşturun.

MasaAc adında geriye değer döndürmeyen, parametre almayan bir metot tanımlayınız. Metodun içinde hangi masaya oturulduğunu kullanıcıya sorunuz ve ilgili değişkene atayınız.

->"Masa siparişe açıldı" şeklinde ekrana bilgi mesajını yazdırınız.

FiyatHesapla adında geriye değer döndürmeyen, parametre almayan metot tanımlayınız.

->Bu metot içinde kaç çay sipariş verildiğini sorunuz; ona göre fiyatı hesaplayınız. (1 çay=20TL)

-> Ekrana " ..... çay içildi. Ödemeniz ....TL'dir" şeklinde yazınız.

OdemeYap isminde geriye değer döndürmeyen, 1 parametre alan metodu tanımlayınız.

-Bu metot parametre olarak aldığı müşterinin ödediği parayı ekrana " ...... TL ödediniz şeklinde" yazsın.

-> Eğer Müşterinin verdiği para hesaptan az ise ekrana "Ödemeniz yetersiz. ..... TL eksik!" mesajını yazsın.

-> Müşteri fazla para verdiyse veya tam ödeme yaptıysa "Para üstünüz .....TL'dir. İyi günler dileriz." diye ekrana yazsın.

-> Müşterinin kaç TL ödeyeceği ana programda sorulmadır.

Ana programda sırasıyla MasaAc, FiyatHesapla, müşteriden ödeyeceği tutarı alınız ve OdemeYap metotlarını çağırınız.

# data[].attributes.body
ad, iban, bakiye, yatanPara, cekilenPara alanlarını oluşturun.

HesapAc adında geriye değer döndürmeyen, parametre almayan bir metot tanımlayınız. Bu metodun işlevi, kullanıcıya sorulan ad, iban ve bakiye bilgilerine göre ilgili alanlara değerleri atamaktır. ( Metodun içinde ad, iban ve bakiye bilgilerini kullanıcıya sorunuz.) "Girilen bilgilere göre müşterinizin hesabı açıldı" şeklinde ekrana bilgi mesajını yazdırınız.

ParaYatir adında geriye değer döndürmeyen, 1 parametre alan metodu tanımlayınız. Bu metodun işlevi, parametre olarak gelen, yatırılan para miktarını bakiyeye eklemek ve "Hesaba ...... tutarında para yatırıldı." mesajını ekrana vermektir.

ParaCek isminde geriye değer döndürmeyen, 1 parametre alan metodu tanımlayınız. Bu metodun görevi, parametre olarak gelen, çekilen para miktarını bakiyeden çıkarmak ve "Hesaptan ...... tutarında para çekildi." mesajını ekrana vermektir.

-> Burada metot içinde çekilecek paranın bakiyeden fazla olup olmadığı kontrol edilmelidir. Eğer çekilecek para bakiyeden fazla ise ekrana "Bakiye yetersiz. " mesajını yazsın.

HesapYaz isminde bir metot tanımlayınız. Bu metot tüm bilgileri ekrana yazsın. (Ad, iban, bakiye .... şeklinde)

Ana programda sırasıyla HesapAc, ParaYatir, HesapYaz, ParaCek, HesapYaz metotlarını çağırınız. Ekran çıktılarında satır aralarına ----- koyarak daha okunaklı yapabilirsiniz.

# data[].attributes.body
Personel sınıfı oluşturun.

ad, meslek, maas değişkenlerini tanımlayın. (alanlar)

BilgiSor metodu tanımlayın. Bu metot kullanıcıya adını, mesleğini, maaşını sorsun ve sınıf değişkenlerine atasın.

BilgiYaz metodu tanımlayın. Bu metot kullanıcının tüm bilgilerini(adınız, mesleğiniz, maaşınız) ekrana yazsın.

ZamHesapla metodu tanımlayın. Bu metot mesleğiniz nedir diye sorsun. Gelen cevap mühendis ise maaşa 30000, cevap işçi ise maaşa 10000 zam yapsın.

Ana programda sırasıyla BilgiSor, ZamHesapla ve BilgiYaz metotlarını çağırın.

# data[].attributes.body
Dikdortgen sınıfı oluşturun.

AlanHesapla ve CevreHesapla isminde iki metot tanımlayın.

Bu metotlar parametre olarak gelen 2 kenar bilgisine göre dikdörtgenin alanını ve çevresini hesaplasın. (Geriye değer döndüren, parametre alan metot)

Ana programda kullanıcıdan kenar bilgilerini girmesini isteyin.

Ana programda metotları çağırarak dikdörtgenin alanını ve çevresini konsol ekranında gösterin.

# data[].attributes.headline
2. Parametre Almayan Metot Şeklinde tanımlayınız.

# data[].attributes.subject
2. Parametre Almayan Metot Şeklinde tanımlayınız.

# data[].attributes.body
Geriye değer döndüren, parametre alan Topla, Cikar, Carp, Bol isminde 4 adet ayrı ayrı metot tanımlayınız.

Bu metotların görevi iki sayıyı toplamak, çıkarmak, çarpmak ve bölmek.

Ana programda kullanıcıdan 2 sayı girmesini isteyiniz. Bu metotları çağırarak sayıların toplamını, farkını, çarpımını, bölümünü ekrana yazdırınız.

# data[].attributes.headline
1. Parametre Alan Metot şeklinde tanımlayınız. 

# data[].attributes.subject
1. Parametre Alan Metot şeklinde tanımlayınız. 

# data[].attributes.body
CepNo ve mesaj olarak 2 parametre alacak.

Bu metot sadece ekrana hangi numaradan ne mesajı geldiğini yazacak.

Metodu ana programda çağırınız ve console ekranında sonucu gözlemleyiniz.

# data[].attributes.headline
3. Parametre Alan ve Geriye Değer Döndüren Metot

# data[].attributes.subject
3. Parametre Alan ve Geriye Değer Döndüren Metot

# data[].attributes.headline
1. Geriye Değer Döndürmeyen Metot ( Void )

# data[].attributes.subject
1. Geriye Değer Döndürmeyen Metot ( Void )

# data[].attributes.headline
Alan; sınıf içinde oluşturulmuş değişkendir.

# data[].attributes.subject
Alan; sınıf içinde oluşturulmuş değişkendir.

# data[].attributes.body
değişkenin başına public ekleyerek, baş harfini büyük yap.

get ve set kısmını program otomatik tamamlıyor, tab tab yap

# data[].attributes.headline
ASLINDA BİZ FORM EKRANINDA PROPERTY KULLANMIŞTIK. NASIL MI?

# data[].attributes.subject
ASLINDA BİZ FORM EKRANINDA PROPERTY KULLANMIŞTIK. NASIL MI?

# data[].attributes.body
textBox1. Text = "Merhaba" derken --> textBox1 nesne adı, .Text ise onun property'si(özelliğidir).

# data[].attributes.body
Bina isminde bir sınıf oluşturun.

2 alan(değişken) tanımlayın. (private olarak)

Bu 2 değişkenin Özelliklerini oluşturun. (Property)

Bu sınıftan bir nesne oluşturun. ( MAINDE!!!)

Kullanıcıya bilgileri sorarak, aldığınız bilgilere göre sınıf değişkenlerine atama yapın.

En son bina özelliklerini alt alta konsol ekranında yazdırın.

# data[].attributes.headline
Peki, araba bilgilerini kullanıcıdan almamız gerekirse...

# data[].attributes.subject
Peki, araba bilgilerini kullanıcıdan almamız gerekirse...

# data[].attributes.body
CepTelefonu isminde bir sınıf oluşturun.

5 alan(değişken) tanımlayın.

Bu sınıftan bir nesne oluşturun.

Kullanıcıya bilgileri sorarak, aldığınız bilgilere göre sınıf değişkenlerine atama yapın.

En son telefon özelliklerini alt alta konsol ekranında yazdırın.

# data[].attributes.body
Araba isminde bir sınıf(class) oluşturun.

Bu sınıfın içerisine 4 değişken oluşturun.

Bu sınıftan bir nesne oluşturun.

Bu nesnenin 4 özelliğini tanımlayın.

Bu 4 özelliğini Console ekranında yazdırın.