ein Objekt aus einer anderen Klasse machen, wenn ich diese KlasseHat innerhalb einer Methode betrachtet Zusammensetzung
import java.util.Scanner;
public class SimpleCalc {
private int x;
private int y;
private Scanner scan;
public SimpleCalc() {
scan = new Scanner(System.in);
System.out.print("Please Enter The First Number: ");
this.x = scan.nextInt();
System.out.print("Please Enter The Second Number: ");
this.y = scan.nextInt();
}
}
Diese Klasse verwendet Zusammensetzung Konzept, weil es „Scan“ Objekt aus einer anderen Klasse „Scanner“ hat.
Aber was, wenn ich erklärte die „Scan“ Objekt innerhalb einer Methode wie folgt aus:
public SimpleCalc() {
Scanner scan = new Scanner(System.in);
System.out.print("Please Enter The First Number: ");
this.x = scan.nextInt();
System.out.print("Please Enter The Second Number: ");
this.y = scan.nextInt();
}
Heißt das als Zusammensetzung Konzept?
In anderer Weise: Gilt das Kompositionskonzept nur für Klassen oder auch für Methoden?
Es gilt für Klassen als eine Alternative zur Vererbung. – shmosel
beide Fälle gelten nicht als Komposition, nur eine Referenz auf einen anderen Typ ist keine Komposition. Wenn Ihre Klasse ein "SpecialSanner" wäre und eine "nextInt" -Methode bereitstellt, die mit einer benutzerdefinierten Logik an den "Scanner" delegiert würde, würden Sie von einer Komposition sprechen. 'public class Person {Stringname; ...} 'ist kein Kompositionskandidat, es ist nur eine reguläre Klasse. – luk2302