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();
}
}