Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

javada class içindeki bir classın variableını çağırmak


Öne çıkan mesajlar

Mesaj tarihi:
Merhabalar
Bir proje üzerinde uğraşıyorum , minik bir yerde takıldım. Sorun şu:

Atmasyon bir örnek vereyim:

said:
class Araba

Renk renkleri;

Araba(Renk renkleri){
this.renkleri = renkleri;
}
// Şimdide renkleri diye bi class yapıyorum
class Renk {
String renk1;
String renk2;

Renk (String renk1 , String renk1){
this.renk1 = renk1;
this.renk2 = renk2;
}


Diyelim class düzenim böyleydi. Bir örnek yapayım:
said:

Renk renklerim = new Renk("mavi","sari");
Araba bmw = new Araba(renklerim);


Herşey iyi güzel peki ben bmw.renklerim.renk1 diyince java error veriyor. Böyle birşeyde nası class içinde classın primitive değerini çağırabilirim ?
Mesaj tarihi:
Volfied said:
bmw.renkleri.renk1 demen lazim

renklerim variable in adi, class daki Renk propertysinin ismi renkleri


Orada yanlışlık göremiyorum. renklerim burada instance oluyor bildiğim kadarıyla :p


Bunun dışında Public denedim yinede işe yaramdı :S
Mesaj tarihi:
denedin mi dedigim seyi peki?

bmw objesi Araba class inda
Renk class in var, Araba class inda "renkleri" adinca bir Renk variable i var

senin main functionin da "renklerim" diye bir Renk instance in var
ama bmw nin renklerim i diye bisii yok
bmw nin renkleri diye bir seyi var
eger typo yapmadiysan sorunun orda olmasi gerektigini dusunuyorum
Mesaj tarihi:
Volfied doğru demiş.

Benim dikkatimi çeken hatadan çok class ve nesnelerdeki mantık bozukluğu oldu. Syntax öğrenilir, asıl önemli olan nesne yönelimli programlamanın mantığı. Nesneler olabildiğince gerçek dünyadaki nesnelerle eşleştirilir.

Renk class'ından bir nesne deyince akla gelen bir renktir. Dolayısıyla renk class'ının tek bir rengi temsil etmesi, renkleri değişkeninin ise renk nesnelerinden oluşan bir liste yada dizi içermesi, nesne yönelimli programlamaya kat kat daha uygun olur.

Yani class ve değişken isimleri, temsil ettiği şeylerle uyumlu olmalı. Yukardaki kodda ise renkleri adındaki çoğul değişken, renk adında tekil bir nesne içeriyor. Tekil olan renk nesnesi de birden fazla renk içeriyor. Tekrar tekrar okumak zorunda kaldım mesela nesneler arasındaki bağı kurabilmek için.

Bu arada, java'da attribute'lara ulaşmak için getter/setter metodları kullanır. Bu yaptığın şekil mümkün tabii, ama nerdeyse hiç kullanılmaz. Encapsulation, getter, setter vb terimlerle ararsan detaylı bilgi bulabilirsin.
×
×
  • Yeni Oluştur...