Eclipse'de otomatik olarak alıcılar ve ayarlayıcılar oluşturmanın bir yolu var mı?


256

Yeni bir Androidproje ( Java) üzerinde çalışıyorum ve çok sayıda değişken içeren bir nesne oluşturdum. Hepsi için alıcılar ve ayarlayıcılar eklemeyi planladığımdan, merak ediyordum: Eclipsebelirli bir sınıftaki alıcıları ve ayarlayıcıları otomatik olarak oluşturmak için bir kısayol var mı?


1
Bana bir sapık gibi geliyor ... Ben sadece IDE olmadan tüm Java programlama yapmak için kullanılır, bu yüzden Eclipse kullanmak benim için nispeten yeni.
Phil

3
@krio - Tüm dünya Java dev için Eclipse kullanmıyor. İşlerimin çoğunu IntelliJ'de yaptım ve Eclipse'de çalışmaya başladıktan sonra kendimi böyle birçok soru sordum.
vcsjones

1
@Phil, vcsjones - özür dilerim ama bunu kontrol et, - google.com.au/… - Sanırım stackoverflow araştırmanın önemli olduğunu söylüyor
TeaCupApp

2
en hızlı yolu: ctrl + 3 ggas
dellasavia

1
@Konstantin, onları aynı sınıfta kullanmaktan kaçınmak istediğini söyler, bu yüzden this.getCount()sadece başvurabileceğiniz zaman aramayın this.mCount. Daha maliyetli bir işlem olsa da, alıcılar ve ayarlayıcılar aracılığıyla diğer nesnelerin değişkenlerine erişim sağlamak daha temiz bir yaklaşımdır.
Phil

Yanıtlar:


357

İstediğiniz sınıfın kaynak kodu penceresinde bağlam menüsünü açın (yani sağ tıklama). Ardından Sourcealt menüyü seçin ; bu menüden seçim yapmak Generate Getters and Setters...bir sihirbaz penceresinin görünmesine neden olur.

Source -> Generate Getters and Setters...

Alıcı ve ayarlayıcı oluşturmak istediğiniz değişkenleri seçin ve tıklayın OK.


Yalnızca 'Eleman Yorumu Oluştur' vardır, Harf ve Ayarlayıcı yoktur. Eclipse 4.4.0, PDT eklentisi yüklü kullanıyorum. Bu arada bu kullanılabilir - mikeangstadt.name/projects/getter-setter-gen .
Xdg

Eclipse Mars.2 Sürümü (4.5.2) üzerinde harika çalışıyor. Teşekkürler.
this.user3272243

Bana bir milyon yıllık tedium'u kurtardığın için teşekkürler!
Jay Edwards

11
Bu alt menüye SHIFT+ ALT+ klavye kısayoluyla da erişebilir Sve ardından tuşuna basarak Getters and Setters Oluştur seçeneklerini açabilirsiniz R.
Rosa

Buradaki cevabımın nasıl bu kadar popüler olduğu komik, ama bu günlerde sadece aşağıda başkalarının belirttiği gibi Lombok'u kullanırım .
Hagai Cibulski

70

Eclipse Juno'da, varsayılan olarak ALT + ÜST KRKT + S, R alıcı / ayarlayıcı iletişim kutusunu açar. 4 tuşun hepsine basmanız gerektiğini unutmayın.


5
SHIFT kısmını dışarıda bırakıp sadece ALT + S, R de yapabilirsiniz.
Jason Wheeler

2
Dışarı terk edemez SHIFTEclipse Kepler içinde
yellavon

SHIFTEclipse Oxygen içinde bırakabilirsiniz .
Jake Reece

Sen dışarıda bırakın cannnot SHIFTEclipse 2018-12 yılında.
Nefis

69

Right click -> Source -> Generate setters and getters

Ama daha kullanışlı yapmak için hep bu harita ALT + SHIFT+ GdanWindows -> Preferences -> General -> Keys


2
Gerçekten kullanışlı! Aynı anahtar eşlemesini kullanıyorum.
Ángel Carlos del Pozo Muela

41

Diğer tüm cevaplar sadece IDE seviyesine odaklanmaktadır, bunlar alıcılar ve ayarlayıcılar oluşturmanın en etkili ve zarif yolu değildir. Onlarca özelliğiniz varsa, ilgili alıcılar ve ayarlayıcılar yöntemleri sınıf kodunuzu çok ayrıntılı hale getirecektir.

Otomatik olarak getters ve setters oluşturmak için kullandığım en iyi yol, java projenizde proje lombok ek açıklamalarını kullanmaktır , lombok.jar, java kodunu derlediğinizde getter ve setter yöntemini üretecektir.

Sadece sınıf özniteliklerine / değişkenlere adlandırma ve tanımlara odaklanın, gerisini lombok halleder. Bu, kodunuzu korumak için kolaydır.

Örneğin, agedeğişken için alıcı ve ayarlayıcı yöntemi eklemek istiyorsanız, yalnızca iki lombok ek açıklaması eklersiniz:

@Getter @Setter 
public int age = 10;

Bu, aşağıdaki gibi koda eşittir:

private int age = 10;
public int getAge() {
    return age;
}
public void setAge(int age) {
    this.age = age;
}

Lombok hakkında daha fazla bilgiyi burada bulabilirsiniz: Project Lombok


1
Bu kadar! Çok teşekkür ederim! Aslında, cevabınız en üstte olmalıdır, çünkü lombok, bir tane üretmek veya yazmak için gereken tüm ortak Java kodunu görmekten kaçınmak için tek gerçek çözümdür. Teşekkürler!
Stefan Endrullis

2
Lombok Projesi (ya da en azından fikir) Java 11'in bir parçası olmalıdır.
Kotlin'i Pojo

31

Harf ve Ayarlayıcı Oluşturmanın Yolları -

1) + + tuşlarına basın , sonra 2) Sağ tıklayın -> Kaynak -> Harf ve Ayarlayıcı Oluştur 3) Kaynak menüsüne gidin -> Harf ve Ayarlayıcı Oluştur 4) Windows menüsüne gidin -> Tercihler -> Genel -> Tuşlar (Yaz Oluştur Metin alanında Getters & Setters) 5) Alanın hata ampulüne tıklayın -> alıcı ve ayarlayıcı oluştur ... 6) + tuşuna basın ve metin alanına alıcılar ve ayarlayıcılar yazın, ardından Getters & Setters Oluştur seçeneğini belirleyinAltShiftSR




Ctrl3

eğer Mac OS basın Alt + cmd + ardından getters & Setters seçmek S


2
1'in bu şekilde biraz daha kolay olduğunu düşünüyorum: 1) Alt + ÜstKrktr + S tuşlarına, ardından R
Paco Abato 29:15

1
Ctrl-3 tuşlarına basıldıktan hemen sonra "getter" yazılması listede eksik. Her komut, görünüm ve benzeri için işe yaradığından, belirli kısayollardan hatırlanması çok daha kolaydır.
Bananeweizen

@ Bananeweizen - Teşekkürler
Deepak Gupta

11

Sağ tıklama-> alıcılar ve ayarlayıcılar oluşturma işi iyi yapar, ancak pencerelerde tutulmada bir klavye kısayolu oluşturmak istiyorsanız, aşağıdaki adımları takip edebilirsiniz:

  1. Pencere> Tercihler'e gidin
  2. Genel> Tuşlar'a gidin
  3. "Quick Assist - Alan için alıcı / ayarlayıcı oluştur" listesi
  4. Aşağıdaki "Ciltleme" metin alanında istediğiniz tuşları basılı tutun (benim durumumda ALT + ÜST KRKT + G kullanıyorum)
  5. Uygula ve Tamam'a basın
  6. Şimdi Java düzenleyicinizde, alıcı / ayarlayıcı yöntemleri oluşturmak istediğiniz alanı seçin ve 4. Adımda ayarladığınız kısayola basın. Yöntemleri oluşturmak için bu pencerede Tamam'a basın.

Bu yardımcı olur umarım!


9

Elbette.

İletişim menüsünden açmak için Kaynak menüsünden veya seçilen alan veya türdeki bağlam menüsünden Getters and Setters Oluşturun veya bir metin seçimini kullanın. Harf ve Ayarlayıcı Oluştur iletişim kutusu, seçilen türdeki tüm alanlar için alıcıları ve ayarlayıcıları gösterir. Yöntemler, türün alanlarına göre gruplandırılır.

Bir göz atın yardım belgelerine daha fazla bilgi için.


8

Evet. Kodu sağ tıkladığınızda bir menü açılır; orada "Kaynak", "Getters ve Setters Oluştur" ve yanında benim sistemde Alt + Shift + S ve R kısayolları görebilirsiniz.

Benzer şekilde, o ana menüdeki diğer alt menülere gidebilir, uygun kısayolu yazarak ana bağlam menüsü yerine alt menüye gidersiniz ve menüden seçim yapabilir veya listeden seçmek için başka bir harf yazabilirsiniz.



7

Önce özel alanı oluşturmayı tercih ederim

private String field;

Eclipse, imleci yeni değişkeninizin üzerine getirerek değişkeni otomatik olarak vurgulayacaktır, Ctrl + 1 tuşlarına basın. Ardından, alıcı ve ayarlayıcı oluştur menüsünü verecektir.

Ctrl + 1 tuşlarına basıyorum çünkü bir sonraki istediğinizi düşündüğümde biraz daha akıllı.


5

Alt + ÜstKrktr + S + R ... tuşlarına basın ve yalnızca hangi alanları Getters veya Setters veya her ikisini birden oluşturmak istediğinizi seçin


5
  • Tüm değişkenler için ALT + ÜST KARAKTER + S Sonra R ve tümünü seçmek için ALT + A tuşlarına basın

  • Değişken üzerindeki Tek değişkenli Nokta imleci için CTRL + 1 tuşlarına basın ve önerilerden ikinci seçeneği seçin

ScreenShot


Teşekkür ederim, aradığım şey buydu.
Şems Nahid



3

** Eclipse Ide'de

hem ayarlayıcıları hem de alıcıları oluşturmak için -> alt + shift + s + r sonra Alt A sonra Tamam'a tıklayın;

sadece alıcılar oluşturmak için -> alt + üst karakter + s + r sonra g tuşuna basın sonra ok düğmesine tıklayın;

sadece ayarlayıcılar oluşturmak için -> alt + üst karakter + s + r sonra l tuşuna basın sonra ok düğmesine tıklayın; **


2

Alıcı ve ayarlayıcıları oluşturmak istediğiniz mülkü sağ tıklayın ve seçin

Source -> Generate Getters and Setters...

2

1) Windows-> Tercihler-> Genel-> Tuşlar'a gidin

2) seçin command" Alıcılar ve ayarlayıcılar üret "

3) Binding, kullanmak istediğiniz kısayola basın ( Alt + Üst Karakter + G gibi )

4) tıklayın uygulamak ve gitmek iyidir


1
  1. Sınıf dosyasını Eclipse'de açın
  2. Sınıf adına çift tıklayın veya vurgulayın
  3. Ardından Kaynak -> Kod Ekle'ye gidin
  4. Getter ve Setter'ı tıklayın

Alıcı / ayarlayıcı yöntemlerinin oluşturulacağı alanları seçmek için bir açılır pencere açar. Alanları seçin ve "Oluştur" düğmesine tıklayın. resim açıklamasını buraya girinresim açıklamasını buraya girin


1

Pojos'unuz için Project Lombok veya daha iyi Kotlin kullanın.

(Ayrıca, özgeçmişinize Kotlin eklemek için;))

Bu :

public class BaseVO {
    protected Long id;

    @Override
    public boolean equals(Object obj) {
        if (obj == null || id == null)
            return false;

        if (obj instanceof BaseVO)
            return ((BaseVO) obj).getId().equals(id);

        return false; 
    }

    @Override
    public int hashCode() {
        return id == null ? null : id.hashCode();
    }
    // getter setter here
}

public class Subclass extends BaseVO {
    protected String name;
    protected String category;
    // getter setter here
}

şöyle olur:

open class BaseVO(var id: Long? = null) {

    override fun hashCode(): Int {
        if (id != null)
            return id.hashCode()

        return super.hashCode()
    }

    override fun equals(other: Any?): Boolean {
        if (id == null || other == null || other !is BaseVO)
            return false

        return id.hashCode() == other.id?.hashCode()
    }
}

@Suppress("unused")
class Subclass(
        var name: String? = null,
        var category: String? = null
) : BaseVO()

Veya Kotlin'in "veri" sınıflarını kullanın. Sonunda daha az kod satırı yazıyorsunuz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.