Menu
Coddy logo textTech

this Anahtar Kelimesi

Coddy'nin Java Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 4 / 87.

this anahtar kelimesi, bir sınıfın mevcut örneğine atıfta bulunur. Aynı isme sahip alanlar ve parametreler arasında ayrım yapar.

this olmadan, parametre alanı gölgeler

public class Person {
    private String name;
    
    public Person(String name) {
        name = name;  // Parametreyi kendisine atar!
    }
}

Değerleri doğru bir şekilde atamak için this kullanımı

public class Person {
    private String name;
    
    public Person(String name) {
        this.name = name;  // Parametreyi alana atar
    }
    
    public String getName() {
        return this.name;
    }
}

Metotlarda this kullanımı

public class Person {
    private String name;
    private int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public String getDescription() {
        return this.name + " is " + this.age + " years old";
    }
}

this anahtar kelimesi her zaman geçerli nesneyi işaret eder. Parametre adları alan adlarıyla eşleştiğinde, karışıklığı ve hataları önlemek için bu gereklidir.

challenge icon

Görev

Orta

Alanlar ve parametreler arasındaki ayrımı yapmak için this anahtar kelimesini kullanarak Person sınıfını tamamlayın:

  • Parametreleri alanlara atamak için this kullanan bir yapıcı (constructor)
  • Alanlara erişmek için this kullanan getter metotları
  • "<name>, age <age>, from <city>" döndüren bir getDescription() metodu

Kendin dene

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        int age = Integer.parseInt(scanner.nextLine());
        String city = scanner.nextLine();
        
        Person person = new Person(name, age, city);
        
        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
        System.out.println("City: " + person.getCity());
        System.out.println(person.getDescription());
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Nesne Yönelimli Programlama bölümündeki tüm dersler