BeyazEsya
Picopat
- Katılım
- 1 Mayıs 2021
- Mesajlar
- 184
Daha fazla
- Cinsiyet
- Erkek
- Meslek
- Öğrenci
Kullanıcıların bilgisini tutugun bir sınıfın olsun. Bu sınıfta ismi tutan 1 adet string degişkenimiz olsun. Sen bu değişkenleri bu şekilde atarsan her kullanıcı oluşturdugunda yani nesne oluşturdugunda adları aynı olur.Merhaba, Java öğreniyorum ve kafam takılan bir soru var. Bunları cevaplayabilirseniz çok mutlu olurum.
Nesne değişkenleri (nitelikler) tanımlanırken neden varsayılan değer tanımlanma anında atanmaz da constructor ile atanır?
Eki Görüntüle 1016934
class User {
public string name= "Ahmet";
}
User emre = User();
//emre.name = Ahmet olmuş oldu!
class User{
public string name;
public User(string name) {
this.name = name;
}
}
User emre = User("Emre");
//emre.name -> Emre olmuş oldu!
class User{
public int id;
public String firstname;
public String lastname;
public String age;
}
void main() {
List<User> users = new ArrayList<User>();
//1. yöntem
User user1 = new User();
user1.id = 1;
user1.firstname = "User1";
user1.lastname = "last";
user1.age = 20;
users.add(user1);
//2. yöntem
users.add(new User(1, "ad", "soyad", 22));
//Constructor kullanmazsan 1. yöntemle eklersn. Düşünsene onlarca nesne ekledigini :D
}
Şunu buldum bir de:Constructor'da dışarıdan alacağınız değerlerin ilk atamaları için kullanılabilir. Varsayılan değerler için bu şekilde kullanma da bir sakınca görmüyorum. C#'da ben de bu şekilde kullanıyorum. (çok yakın diller)
Kullanıcıların bilgisini tutugun bir sınıfın olsun. Bu sınıfta ismi tutan 1 adet string degişkenimiz olsun. Sen bu değişkenleri bu şekilde atarsan her kullanıcı oluşturdugunda yani nesne oluşturdugunda adları aynı olur.Merhaba, Java öğreniyorum ve kafam takılan bir soru var. Bunları cevaplayabilirseniz çok mutlu olurum.
Nesne değişkenleri (nitelikler) tanımlanırken neden varsayılan değer tanımlanma anında atanmaz da constructor ile atanır?
Eki Görüntüle 1016934
class User {
public string name= "Ahmet";
}
User emre = User();
//emre.name = Ahmet olmuş oldu!
class User{
public string name;
public User(string name) {
this.name = name;
}
}
User emre = User("Emre");
//emre.name -> Emre olmuş oldu!
class User{
public int id;
public String firstname;
public String lastname;
public String age;
}
void main() {
List<User> users = new ArrayList<User>();
//1. yöntem
User user1 = new User();
user1.id = 1;
user1.firstname = "User1";
user1.lastname = "last";
user1.age = 20;
users.add(user1);
//2. yöntem
users.add(new User(1, "ad", "soyad", 22));
//Constructor kullanmazsan 1. yöntemle eklersn. Düşünsene onlarca nesne ekledigini :D
}
Sağ olun,☺ ben tek taraflı düşündüm. Ben parametreyi atamayı hesaba katmadim çünkü constructor içerisinde de varsayilan deger olarakKullanıcıların bilgisini tutugun bir sınıfın olsun. Bu sınıfta ismi tutan 1 adet string degişkenimiz olsun. Sen bu değişkenleri bu şekilde atarsan her kullanıcı oluşturdugunda yani nesne oluşturdugunda adları aynı olur.
Java:class User { public string name= "Ahmet"; } User emre = User(); //emre.name = Ahmet olmuş oldu!
Fakat constructor yardımı ile atama yaparsan nesne oluşturdugunda degişkenlere değerleri atabiliyorsun.
Java:class User{ public string name; public User(string name) { this.name = name; } } User emre = User("Emre"); //emre.name -> Emre olmuş oldu!
Sen şimdi dersin ki emre.name = "Emre" Yaparım. Fakat bu işler basit projelerde pek önemli olmasada karmaşık projelerde bu tip kullanımlar seni yavaşlatır. ve hataya sürükler.
Daha farklı kod yazalım. farkı iyi görürsün.
Java:class User{ public int id; public String firstname; public String lastname; public String age; } void main() { List<User> users = new ArrayList<User>(); //1. yöntem User user1 = new User(); user1.id = 1; user1.firstname = "User1"; user1.lastname = "last"; user1.age = 20; users.add(user1); //2. yöntem users.add(new User(1, "ad", "soyad", 22)); //Constructor kullanmazsan 1. yöntemle eklersn. Düşünsene onlarca nesne ekledigini :D }
this.hp = 177;
yapılabilir. Ben bu şekilde düşününce arada bir fark yoktu. Fakat bir de sizin bahsettiğiniz isin diğer tarafı var: parametre ile veriyi almak.Son yöntem çok iyiydi , teşekkür ederizKullanıcıların bilgisini tutugun bir sınıfın olsun. Bu sınıfta ismi tutan 1 adet string degişkenimiz olsun. Sen bu değişkenleri bu şekilde atarsan her kullanıcı oluşturdugunda yani nesne oluşturdugunda adları aynı olur.
Java:class User { public string name= "Ahmet"; } User emre = User(); //emre.name = Ahmet olmuş oldu!
Fakat constructor yardımı ile atama yaparsan nesne oluşturdugunda degişkenlere değerleri atabiliyorsun.
Java:class User{ public string name; public User(string name) { this.name = name; } } User emre = User("Emre"); //emre.name -> Emre olmuş oldu!
Sen şimdi dersin ki emre.name = "Emre" Yaparım. Fakat bu işler basit projelerde pek önemli olmasada karmaşık projelerde bu tip kullanımlar seni yavaşlatır. ve hataya sürükler.
Daha farklı kod yazalım. farkı iyi görürsün.
Java:class User{ public int id; public String firstname; public String lastname; public String age; } void main() { List<User> users = new ArrayList<User>(); //1. yöntem User user1 = new User(); user1.id = 1; user1.firstname = "User1"; user1.lastname = "last"; user1.age = 20; users.add(user1); //2. yöntem users.add(new User(1, "ad", "soyad", 22)); //Constructor kullanmazsan 1. yöntemle eklersn. Düşünsene onlarca nesne ekledigini :D }
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.