Recent Changes - Search:

Oktatás

* Programozás 2
  + feladatsor
  + C feladatsor
  + Python feladatsor
  + GitHub oldal

* Szkriptnyelvek
  + feladatsor
  + quick link

* levelezősök
  + Adator. prog.
  + feladatsor
  + quick link

teaching assets


Félévek

* 2024/25/1
* archívum


Linkek

* kalendárium
   - munkaszüneti napok '20
* tételsorok
* jegyzetek
* szakdolgozat / PhD
* ösztöndíjak
* certificates
* C lang.
* C++
* C#
* Clojure
* D lang.
* Java
* Nim
* Scala


[ edit | logout ]
[ sandbox | passwd ]

két saját objektum összehasonlítása

Vegyük az előző téglalapos példát. Legyen számunkra most két téglalap akkor egyenlő, ha azonos a területük.

public class Proba2 {

    public static void main(String[] args) {
        Teglalap t1 = new Teglalap(4, 10);
        Teglalap t2 = new Teglalap(5, 8);
        Teglalap t3 = new Teglalap(4, 20);

        // Számunkra most 2 téglalap akkor egyenlő,
        // ha azonos a területük.

        System.out.println(t1.equals(t2));    // true
        System.out.println(t1.equals(t3));    // false
    }

}

class Teglalap {

    private int a;
    private int b;

    public Teglalap(int a, int b) {
        this.a = a;
        this.b = b;
    }

    public int kerulet() {
        return 2*a + 2*b;
    }

    public int terulet() {
        return a*b;
    }

    @Override
    public String toString() {
        return String.format("Teglalap(a=%d, b=%d)", this.a, this.b);
    }

    @Override
    public boolean equals(Object other) {
        return (other instanceof Teglalap) && (this.terulet() == ((Teglalap)other).terulet());
    }

}

Ha az equals metódust felülírjuk, akkor a hashCode-ot is ajánlott felülírni. Ez akkor lényeges, ha az objektumainkat egy hash-ben (pl. HashSet, HashMap) akarjuk elhelyezni. Idézet a doksiból:

"Note that it is generally necessary to override the hashCode method whenever this method is overridden, so as to maintain the general contract for the hashCode method, which states that equal objects must have equal hash codes." (forrás)

Cloud City

  

Blogjaim, hobbi projektjeim

* The Ubuntu Incident
* Python Adventures
* @GitHub
* heroku
* extra
* haladó Python
* YouTube listák


Debrecen | la France


[ edit ]

Edit - History - Print *** Report - Recent Changes - Search
Page last modified on 2022 January 25, 19:03