SORU
31 AĞUSTOS 2008, Pazar


Yapı Java nesneleri gibi

Tamamen nesneler gibi bir yapı oluşturmak için Java yolu aykırı değil mi?

class SomeData1 {
    public int x;
    public int y;
}

Set ve mutators gibi Java ile bir sınıf görüyorum.

class SomeData2 {
    int getX();
    void setX(int x);

    int getY();
    void setY(int y);

    private int x;
    private int y;
}

İlk örnek sınıf notationally uygundur.

// a function in a class
public int f(SomeData1 d) {
    return (3 * d.x) / d.y;
}

Bu kadar uygundur.

// a function in a class
public int f(SomeData2 d) {
    return (3 * d.getX()) / d.getY();
}

CEVAP
19 Aralık 2011, PAZARTESİ


Birçok kişi Java Sun Java ile Kodlama Kurallarına aşina değil gibi görünüyor oldukça uygun sınıf ortak örnek değişken kullanmak olduğunu söylüyorlar "Java destekleniyorsa", "" davranış yoktur. yapı Yapı, aslında bir

İnsanlar alıcıları ve ayarlayıcıları Java yolu olabilir, eğer Java kalbi gibi. Bu kadar değil. Eğer Sun Java izlerseniz Kodlama Kuralları, uygun durumlarda ortak örnek değişkenleri kullanarak, aslında gereksiz alıcıları ve ayarlayıcıları ile yığılan daha iyi kod yazıyorsun.

1999 Java Kodu Kurallarıve hala değişmedi.

10.1 Örneği ve Sınıf Değişkenleri Erişim Sağlayan

Herhangi bir örnek veya sınıf değişkeni kamu iyi bir neden olmadan yapmayın. Genellikle, örnek değişkenleri yöntem çağrıları bir yan etkisi olur açıkça belirlenmiş veya genellikle kazanılmış olması gerekmez.

Uygun ortak örnek değişkenleri bir örnek sınıf aslında bir veri yapısı, davranışı ile durumdur. *Eğer bir sınıf eğer Java yapı destekleniyorsa) yerine bir yapı kullanmış olsaydı, başka bir deyişle, uygun sınıfın örnek değişkenleri ortak olun.*

http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-137265.html#177

http://en.wikipedia.org/wiki/Plain_old_data_structure

http://docs.oracle.com/javase/1.3/docs/guide/collections/designfaq.html#28

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fuse

    Fuse

    21 Kasım 2005
  • sWooZie

    sWooZie

    9 ŞUBAT 2006
  • Thehalopianoplayer

    Thehalopiano

    4 ŞUBAT 2011