Liigu peamise sisu juurde

Meetod

Meetod ilma parameetriteta

Python

Pythonis on meetodi esimene parameeter alati self. See tähistab objekti, mille poole pöördutakse. Selle kaudu saab näiteks objekti muutujate poole pöörduda.

class Student:
def get_name(self) -> str:
return self.name

Java

Javas märgitakse meetodi nime ette nähtavus ja tagastatav andmetüüp. Javas saab objekti poole pöörduda this märksõnaga.

class Student {
private String name = "Name";
public String getName() {
return this.name
}
}

Parameetriga meetod

Python

class Student:

def set_name(self, name: str):
self.name = name

Java

Kui meetod midagi ei tagasta, märgitakse tagastatavaks andmetüübiks void

class Student {
private String name = "Name";
public void setName(String name) {
this.name = name;
}
}

Vaikeväärtusega parameetrid

Python

class Student:
def get_grades(self, only_passed_grades=True):
if not only_passed_grades:
return self.grades
return list(filter(lambda grade: grade > 0,
self.grades))

Java

Javas vaikeväärtust ei saa parameetrile anda. Selle asemel saab meetodit üle laadida (overload).
Tavaliselt meetodi implementatsioon tehakse kõige detailsemate parameetritega meetodi puhul. Ülejäänud sama nimega meetodid kutsuvad seda kõige detailsemat välja ning annavad kaasa vaikeväärtused.

class Student {
public List<Integer> getGrades(boolean onlyPassedGrades) {
if (!onlyPassedGrades) {
return grades;
}
return grades.stream().filter(grade -> grade > 0).toList();
}
}