Video: How to make a 2D Game in Unity 2024
Android uygulamalarınızda isimleri tekrar kullanırken düşünmek istediğiniz birkaç şey var.
bag1
ve
bag2
olmak üzere iki Java değişkeni bildirerek iki farklı
BagOfCheese
nesnesine başvurabilirsiniz. Bu iyi. Ancak bazen, yalnızca bir değişkene sahip olmak ve ikinci nesne için onu tekrar kullanmak, burada gösterildiği gibi de işe yarar.
pakedi com. allmycode. a09_03;
android ithalatı. destek. v7. Uygulamanın. AppCompatActivity;
android ithal etmek. işletim sistemi. Bundle;
android ithal etmek. widget. Metin görünümü;
import com. allmycode. a09_01. BagOfCheese;
public class MainActivity, AppCompatActivity'yi genişletir {
TextView textView;
@Override
korumalı void onCreate (savedInstanceState Paketle) {
süper. onCreate (savedInstanceState);
setContentView (R. düzeni activity_main);
textView = (Metin Görünümü) findViewById (R. id. Metin görünümü);
BagOfCheese bag = yeni BagOfCheese ();
çantası. tür = "Kaşar";
çantası. ağırlık = 2.43;
çantası. daysAged = 30;
çantası. isDomestic = true;
TextView'un. Metin ayarla("");
TextView'un. ekleme (torba tür + "," + çanta kilo "+" + "
torba daysAged +", "+ çanta.İdevi +" n ");
bag = yeni BagOfCheese ();
çantası. tür = "Mavi";
çantası. Ağırlık = 5.987;
çantası. daysAged = 90;
çantası. isDomestic = false;
TextView'un. ekleme (torba tür + "," + çanta kilo "+" + "
torba daysAged +", "+ çanta.İdevi +" n ");
}
}
Bu kodda, Java ikinci
bag = yeni BagOfCheese ()
ifadesini çalıştırdığında, eski nesne (kaşar içeren çanta) kayboldu. Çedar nesnesine atıfta bulunan torba (veya herhangi bir değişken olmayan), kodunuzun kaşar cismi ile herhangi bir şey yapmasının imkânı yoktur. Neyse ki, ikinci
bag = yeni BagOfCheese ()
bildirisine ulaştığınızda orijinal kaşar çantasıyla yapmak istediğiniz her şeyi yapmayı bitirdiniz. Bu durumda, çanta değişkeninin tekrar kullanılması kabul edilebilir.
Bir değişkeni yeniden kullandığınızda (yukarıdaki tek ve yalnızca
çanta
değişkeni gibi), bunu başlatma değil de bir atama ifadesi kullanarak yapabilirsiniz. Başka bir deyişle, kodunuzda ikinci kez
BagOfCheese bag
yazmazsınız. Bunu yaparsanız, Android Studio düzenleyicisinde hata mesajları görürsünüz.
Acımasız hassas olmak için, aslında, aynı kod bölümünde birden çok kez
BagOfCheese bag
yazabilirsiniz.
BagOfCheese
sınıfının hiçbiri
final
değildir. Başka bir deyişle, sınıfın kodu, değerleri
BagOfCheese
nesnesinin alanlarına yeniden atamanıza izin verir.Bu bilgiyi göz önünde bulundurarak, burada gösterildiği gibi, yukarıdaki kodu bir satır daha kısaltabilirsiniz.
pakedi com. allmycode. a09_04;
android ithal etmek. destek. v7. Uygulamanın. AppCompatActivity;
android ithal etmek. işletim sistemi. Bundle;
android ithal etmek. widget. Metin görünümü;
import com. allmycode. a09_01. BagOfCheese;
public class MainActivity, AppCompatActivity'yi genişletir {
TextView textView;
@Override
korumalı void onCreate (Bundle savedInstanceState) {
süper. onCreate (savedInstanceState);
setContentView (R. düzeni activity_main);
textView = (Metin Görünümü) findViewById (R. id. Metin görünümü);
BagOfCheese bag = yeni BagOfCheese ();
çantası. tür = "Kaşar";
çantası. ağırlık = 2.43;
çantası. daysAged = 30;
çantası. isDomestic = true;
TextView'un. Metin ayarla("");
TextView'un. ekleme (torba tür + "," + çanta kilo "+" + "
torba daysAged +", "+ çanta.İdevi +" n ");
// bag = yeni BagOfCheese ();
çantası. tür = "Mavi";
çantası. Ağırlık = 5.987;
çantası. daysAged = 90;
çantası. isDomestic = false;
TextView'un. ekleme (torba tür + "," + çanta kilo "+" + "
torba daysAged +", "+ çanta.İdevi +" n ");
}
}
Bu koddaki ikinci yapıcı çağrısı yorumlandığında,
çanta
değişkeni yeni bir nesneye işaret ettirmezsiniz. Bunun yerine, varolan nesnenin alanlarına yeni değerler atayarak tasarruflu olursunuz.
Bazı durumlarda, bir nesnenin alanlarını yeniden kullanmak yeni bir nesne oluşturmaktan daha verimli olabilir (yürütmek daha hızlı olabilir). Ancak, bir tercihiniz olduğunda, gerçek verileri yansıtan bir kod yazmak iyi bir fikirdir. Gerçek çantanın içeriği kaşar peynirinden mavi peynere değişmezse
BagOfCheese
nesnesinin tür alanını "
Kaşar
" dan "
Mavi" ye dönüştürmemeniz daha iyi olur
“.