Menu
Coddy logo textTech

מילת המפתח this

חלק מהיחידה תכנות מונחה עצמים במסלול ה-Java של Coddy. שיעור 4 מתוך 87.

מילת המפתח this מתייחסת למופע הנוכחי של מחלקה. היא מבדילה בין שדות לפרמטרים בעלי אותו שם.

ללא this, הפרמטר מסתיר את השדה

public class Person {
    private String name;
    
    public Person(String name) {
        name = name;  // מקצה את הפרמטר לעצמו!
    }
}

שימוש ב־this כדי להקצות ערכים בצורה נכונה

public class Person {
    private String name;
    
    public Person(String name) {
        this.name = name;  // מקצה את הפרמטר לשדה
    }
    
    public String getName() {
        return this.name;
    }
}

שימוש ב-this במתודות

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 תמיד מצביעה על האובייקט הנוכחי. היא חיונית כאשר שמות הפרמטרים זהים לשמות השדות, ומונעת בלבול ובאגים.

challenge icon

אתגר

בינוני

השלימו את המחלקה Person באמצעות מילת המפתח this כדי להבחין בין שדות לפרמטרים:

  • בנאי שמשתמש ב-this כדי להציב את הפרמטרים בשדות
  • מתודות Getter שמשתמשות ב-this כדי לגשת לשדות
  • מתודת getDescription() שמחזירה "<name>, age <age>, from <city>"

נסו בעצמכם

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 iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר Java אונליין