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


Odinn

Öne çıkan mesajlar

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 ?
Link to comment
Sosyal ağlarda paylaş

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
Link to comment
Sosyal ağlarda paylaş

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.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...