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

Java Class Attribute


Seele

Öne çıkan mesajlar

giderek isinmaktayim javaya. simdi söyle bir sorum var bir classim var attributelar. get set ile olayi hallediroyurum.

simdi söyle bir sorunum var bir attribute kendi basina bir obejckt yapmak mantiklimi. Cünkü var olan bir attribute daha fazla özellige ihtiyaci var. bir bakima attribute under attribute. Yeni bir klas yaratip refenenz versem yanlis bir yöntem kullanmis olmam degil mi.
Link to comment
Sosyal ağlarda paylaş

SpiderS_DangeR said:

Tek attributeü olan bir class yaratıp o classın objesini de farklı bir classın attributeü olarak mı kullanmaktan bahsediyosun, tam olarak anlamadım da fds

evet bir classim var bir cok attribute var. bu classtan sadece obje olarak bir tane ihtiyacam var (singleton). ama attributen bir tanesine String int vs atamakla yetmiyor. o attribute bir cok alt özelligi olmasi ve ayni zamanda array seklide olmasi lazim.
Link to comment
Sosyal ağlarda paylaş

bi attribute'nin nasıl çok fazla özelliği olması lazım?
tek attribute ile birden çok şey tutmak istiyorsan başka bir class yapıp, o class tipinden attribute tanımlarsın

sonra static yapıp, objeni private veya protected'e koyacaksın, sadece constructor ile initialize yapılmasına izin vereceksin.
Link to comment
Sosyal ağlarda paylaş

senko said:

bi attribute'nin nasıl çok fazla özelliği olması lazım?
tek attribute ile birden çok şey tutmak istiyorsan başka bir class yapıp, o class tipinden attribute tanımlarsın


iste ben bir class daha yaratmiyim belki daha güzel bir cözümü vardir diye düsündüm. artik o attribute class obje olarak atiyim.
Link to comment
Sosyal ağlarda paylaş

Classlar arası ilişkiye bağlı.

Mesela atıyorum bi araba ve kişi classların var. Kişilerin birer arabaları var ve arabaların da renkleri var. Rengi RGB olarak belirtiyosun diyelim.

Kişi arabanın sahibi olduğu için, arabayı kişi classına ait bi property olarak girebilirsin. Ama herkes araba sahibi olmak zorunda değil, ya da araba bi başka kişiye deverdilebilir. O yüzden burda en mantıklısı bi araba objesine referans tutmak olur.

Arabanın rengini tutarken de ister 3 elemanlı bi short dizisi olarak, ister bi class yazıp ondan obje türeterek tutabilirsin. Ama ayrı bi class yapmak en basitinden renkler arası karşılaştırmalar yapmanı kolaylaştırır, == operatörünü overload edersin.

Renk classını yazarken de attribute'ları short int olarak verirsin en basitinden.

Dolayısı ile noldu, kişi classından araba classına bi referans tuttun ve bu referansın gösterdiği objede de tekil renk objeleri tanımladın referans vermeden.

Edit: Yani özetle, int, string gibi atomik şeyleri ayrı bi class olarak tanımlamaya gerek yok ama bi attribute içinde birden fazla attribute gerekecekse onu class yapmak daha mantıklı. Referans verip vermeme olayı için ise hangi classın hnagisine sahip olduğuna ve classları tekrar kullanman gerekip gerekmeyeceğine göre karar vereceksin.
Link to comment
Sosyal ağlarda paylaş

Deacon said:

Ben dedigin seyi anladim ve gayet legit bir sey. Software eng. konusunda pek iyi degilim ama bi class'ta baska bir class'a referans tutmanin neresi yanlis olabilir ki?


yanlis degil biliyorum ama bir functionu 10 programci kodlar hepsi ayni isi görür ama icinlerinden biri daha elegant, okunakli ve OOP kurallarina uyarak yapar.
Link to comment
Sosyal ağlarda paylaş

oldum olası sevemedim ben zaten operatör overloadingleri, hadi java c#'ta bi derece uygulanabilir oluyor da
c ve c++'ta ölüm hakikaten kullanmak

overload edene kadar bi member function gerekirse friend function yapıştırmak daha kolayıma geliyor herzaman
Link to comment
Sosyal ağlarda paylaş

Seele said:

SpiderS_DangeR said:

Tek attributeü olan bir class yaratıp o classın objesini de farklı bir classın attributeü olarak mı kullanmaktan bahsediyosun, tam olarak anlamadım da fds

evet bir classim var bir cok attribute var. bu classtan sadece obje olarak bir tane ihtiyacam var (singleton). ama attributen bir tanesine String int vs atamakla yetmiyor. o attribute bir cok alt özelligi olmasi ve ayni zamanda array seklide olmasi lazim.


Anladığım kadarıyla kendi class'ın içindeki field'lerde String ya da primitif tip (int, boolean vs) dışında bir tip kullanmanın iyi bir design olup olmadığını soruyorsun. Tabii ki field tipi olarak her türlü class'ı ve interface'i kullanabilirsin ve gerektiği yerlerde kullanmalısın.

Her şey String ve primitif tiplerden oluşsa nesne yöneliminin pek de bir anlamı kalmıyor.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...