Wie können Klassen nicht-materialisierte Attribute haben, die nur über get/ set-Mehoden simuliert sind?
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
import java.util.IntSummaryStatistics;
import java.util.List;
public class Bilanz {
private List<Integer> einnahmen = List.of(5000, 6000, 4000);
private List<Integer> ausgaben = List.of(3500, 5500, 1000);
public int getBilanz() {
return einnahmen.stream().mapToInt(Integer::intValue).sum() - ausgaben.stream().mapToInt(Integer::intValue).sum();
}
public IntSummaryStatistics getEinnahmenStats() {
return einnahmen.stream().mapToInt(Integer::intValue).summaryStatistics();
}
public IntSummaryStatistics getAusgabenStats() {
return ausgaben.stream().mapToInt(Integer::intValue).summaryStatistics();
}
public static void main(String[] args) {
Bilanz bilanz = new Bilanz();
System.out.println("bilanz = " + bilanz.getBilanz());
System.out.println("einnahmen = " + bilanz.getEinnahmenStats());
System.out.println("ausgaben = " + bilanz.getAusgabenStats());
}
}
getBilanz, getEinnahmenStats, getAusgabenStats sind nur über Getter simulierte, nicht-materialisierte Attribute...einnahmen und ausgaben hingegen sind materialisierte Attribute. 🙂So ähnlich hätt ich's auch verstanden, nur bin ich bei der Geschwindigkeit nicht der Meinung, dass die in diese Kategorie fällt, denn diese ist tatsächlich eine Eigenschaft des Autos, lässt sich nicht aus anderen Eigenschaften berechnen oder ableiten. Nur der Spezialfall AnzahlRäder == 0 würde Geschwindigkeit = 0 ergeben, falls das Auto sich nicht gerade in der Luft oder auf rutschigem Untergrund befindet.getBilanz,getEinnahmenStats,getAusgabenStatssind nur über Getter simulierte, nicht-materialisierte Attribute...
einnahmenundausgabenhingegen sind materialisierte Attribute. 🙂
Anderes Beispiel, ein Auto hat Räder, Motor und ein Lenkrad, und außerdem das nicht-materialisierte Attribut Geschwindigkeit. 🙂
Weg / Zeit = Geschwindigkeit 🙂nur bin ich bei der Geschwindigkeit nicht der Meinung, dass die in diese Kategorie fällt,
Dann müssten wir aber beides ins Auto speichern, was mir bei der Zeit wenig sinnvoll erscheint 😉. Auf welchem Weg sich das Auto befindet, ist allerdings eine brauchbare Eigenschaft.Weg / Zeit = Geschwindigkeit 🙂
aber es stimmt allerdings, es kommt auf die Attribute (Eigenschaften) des Autos an. Ich muss allerdings betonen, dass auch mir der Begriff materialisiert neu ist und ich darum Vermutungen anstellen muss... bei Datenbanken gäbe es "eindeutige, zusammengesetzte und künstliche" Werte, vielleicht ist das hierbei so ähnlich. Aber nur vielleicht. 😀