Sınıf nedir, nesne nasıl oluşturulur java ile android studio kullanılarak anlatılmaktadır.
Sınıflar, Java'da Nesne Yönelimli Programlama (OOP - Object-Oriented Programming) temelini oluşturan en önemli yapı taşlarından biridir. Sınıflar, gerçek dünyadaki varlıkları veya kavramları modellemek için kullanılır.
1. Sınıf (Class) Nedir?
Sınıf, bir nesnenin özelliklerini (değişkenler) ve davranışlarını (metodlar) tanımlayan bir şablondur. Sınıflar, nesnelerin nasıl oluşturulacağını ve nasıl davranacağını belirler. Örneğin, bir Araba
sınıfı, arabaların özelliklerini (renk, model, hız) ve davranışlarını (hızlan, dur, çalıştır) tanımlayabilir.
2. Sınıfın Yapısı
Bir sınıf genellikle aşağıdaki bileşenlerden oluşur:
Sınıf Adı: Sınıfın adı, büyük harfle başlar ve PascalCase kuralına uyar (örneğin, Araba
).
Değişkenler (Fields/Properties): Sınıfın özelliklerini tanımlar (örneğin, renk
, model
).
Metodlar (Methods): Sınıfın davranışlarını tanımlar (örneğin, hizlan()
, dur()
).
Constructor (Yapıcı Metod): Nesne oluşturulurken çalışan özel bir metoddur.
3. Sınıf Örneği: Araba Sınıfı
Şimdi basit bir Araba
sınıfı oluşturalım.
Örnek:
public class Araba {
// Değişkenler (Fields)
String renk;
String model;
int hiz;
// Constructor (Yapıcı Metod)
public Araba(String renk, String model) {
this.renk = renk;
this.model = model;
this.hiz = 0; // Araba başlangıçta duruyor
}
// Metodlar (Methods)
public void hizlan(int artis) {
hiz += artis;
System.out.println(model + " hızlandı. Yeni hız: " + hiz + " km/s");
}
public void dur() {
hiz = 0;
System.out.println(model + " durdu.");
}
public void bilgileriGoster() {
System.out.println("Araba Modeli: " + model);
System.out.println("Araba Rengi: " + renk);
System.out.println("Araba Hızı: " + hiz + " km/s");
}
}
4. Nesne (Object) Oluşturma
Sınıf, bir şablondur. Bu şablonu kullanarak nesneler oluşturabiliriz. Nesne, sınıfın bir örneğidir.
Örnek:
public class Main {
public static void main(String[] args) {
// Araba sınıfından bir nesne oluşturma
Araba araba1 = new Araba("Kırmızı", "Toyota Corolla");
// Nesnenin metodlarını çağırma
araba1.bilgileriGoster();
araba1.hizlan(50);
araba1.dur();
}
}
Çıktı
Araba Modeli: Toyota Corolla
Araba Rengi: Kırmızı
Araba Hızı: 0 km/s
Toyota Corolla hızlandı. Yeni hız: 50 km/s
Toyota Corolla durdu.
5. Constructor (Yapıcı Metod) Nedir?
- Constructor, bir nesne oluşturulurken otomatik olarak çağrılan özel bir metoddur.
- Nesnenin başlangıç durumunu ayarlamak için kullanılır.
- Constructor'ın adı, sınıf adıyla aynı olmalıdır ve geriye değer döndürmez (
void
bile değil).
Örnek:
public Araba(String renk, String model) {
this.renk = renk;
this.model = model;
this.hiz = 0;
}
6. this Anahtar Kelimesi
this
anahtar kelimesi, sınıfın mevcut örneğini (nesnesini) ifade eder.- Genellikle parametre adları ile sınıf değişkenleri aynı olduğunda kullanılır.
Örnek:
public Araba(String renk, String model) {
this.renk = renk; // this.renk, sınıfın değişkenini; renk ise parametreyi ifade eder.
this.model = model;
}
7. Getter ve Setter Metodları
Sınıf değişkenlerine erişimi kontrol etmek ve bu değişkenleri güvenli bir şekilde değiştirmek için getter ve setter metodları kullanılır.
Örnek:
public class Araba {
private String renk; // private: Sadece sınıf içinden erişilebilir
// Getter metodu
public String getRenk() {
return renk;
}
// Setter metodu
public void setRenk(String renk) {
this.renk = renk;
}
}
Kullanımı:
Araba araba1 = new Araba("Mavi", "BMW");
araba1.setRenk("Siyah"); // Renk değiştirildi
System.out.println("Araba Rengi: " + araba1.getRenk()); // Siyah
8. Kalıtım (Inheritance)
Kalıtım, bir sınıfın başka bir sınıftan özelliklerini ve davranışlarını miras almasıdır. Bu, kodun yeniden kullanılabilirliğini artırır.
Örnek:
public class Arac {
protected String marka; // protected: Alt sınıflardan erişilebilir
public Arac(String marka) {
this.marka = marka;
}
public void calistir() {
System.out.println(marka + " çalıştı!");
}
}
public class Araba extends Arac {
public Araba(String marka) {
super(marka); // Üst sınıfın constructor'ını çağırır
}
public void hizlan() {
System.out.println(marka + " hızlanıyor!");
}
}
Kullanımı:
Araba araba1 = new Araba("Toyota");
araba1.calistir(); // Toyota çalıştı!
araba1.hizlan(); // Toyota hızlanıyor!
Özetle
- Sınıf: Nesnelerin şablonudur.
- Nesne: Sınıfın bir örneğidir.
- Constructor: Nesne oluşturulurken çalışan özel bir metoddur.
- Getter/Setter: Değişkenlere erişimi kontrol eder.
- Static: Sınıfa ait değişkenler ve metodlar.
- Kalıtım: Bir sınıfın başka bir sınıftan özelliklerini miras alması.
Uygulama: Aşağıdaki tarife uygun sınıfları yazınız.
- Sekil sınıfı oluştur
- genislik ve yukseklik tanımla
- 2 parametreli yapıcı metod oluştur
- alan metodu tanımla (genislik * yukselik)
- toString() metodu tanımla (Şekil alanı: 20)
- Dikdortgen alt sınıfı tanımla
- Ucgen altı sınıfı tanımla
- alan metodunu değiştir (yarısı)
- Kare adlı Dikdörtgenin alt sınıfı oluştur
- 1 parametreli yapıcı metod oluştur