Da ich in meinem ersten Post leider keine Antwort erhalten habe, gehe ich davon aus, dass ich mich zu lang gefasst, den Code nicht richtig eingesetzt, oder keine eigenen Lösungsvorschläge gepostet habe. Das nun relativ kurz und mit Lösungsvorschlag:
Hier erstmal der Code:
Bei den Kommentaren zu "Visible are" habe ich bereits notiert, welche der Attribute
number, name, title, size, format, pausePosition, version, yearOfProduction an den angezeigten Stellen sichtbar ist, bzw. auf welches Attribut man zugreifen könnte.
Jetzt ist die zweite Frage, dass ich gegebenfalls entsprechende Objekte
der Klassen erzeugen soll, falls es nötig ist. Ich verstehe es zwar leider bis jetzt nicht, habe mir aber ein paar Lösungsvorschläge überlegt.
1. Man müsste zumindest für jede der vier Klassen Objekte erzeugen, denn ohne Objekte sind die Attribute und die Methode ja nicht funktionsfähig.
2. Für die Klasse Music und Klasse Video würde ich Objekte schon alleine deswegen erzeugen, weil es eben verschiedene Songs und Videos beinhalten soll die man abspielen kann.
3. Für als "public" deklarierte Attribute aus dem anderen Paket z.B. p2, muss ich erstmal das Paket importieren und kann dann auf das Attribut zugreifen.
Wie bereits erwähnt, falls ich etwas falsch gemacht habe, die Lösungsansätze unzureichend sind oder sonstiges, gebt mir bitte einen kleinen Hinweis. Objekte mit Hilfe von "new" erzeugen etc. kann ich ja selbst, auch das Prinzip der Zugriffsmodifizierer glaube ich zu verstehen, ich verstehe nur nicht was ich da machen muss, wenn es heißt ich soll "gegebenfalls" Objekte erzeugen, falls "nötig"
Hier erstmal der Code:
Java:
1 package random.player.p1 ;
2
3 public class Music {
4 public int number = 202;
5 protected String name = " Some kind of relaxing music ";
6
7 public void testVisibility () {
8 // 1) Visible are : number, name, title, size, format, version
9 }
10 }
1 package random.player.p1 ;
2
3 public class Video {
4 public String title = " Funny cat video ";
5 protected double size = 800.0;
6 String format = "flv ";
7 private int pausePosition = 34;
8
9 public void testVisibility () {
10 // 2) Visible are: number, name, title, size, format, pausePosition, version
11 }
12 }
1 package random.player.p2;
2
3 public class StuffPlayer {
4 public double version = 1.5;
5
6 public void testVisibility () {
7 // 3) Visible are : number, title, version, yearOfProduction
8 }
9 }
1 package random.player.p2 ;
2
3 public class RandomPlayer {
4 int yearOfProduction = 2015;
5
6 public void testVisibility () {
7 // 4) Visible are : number, title, version, yearOfProduction
8 }
9 }
Bei den Kommentaren zu "Visible are" habe ich bereits notiert, welche der Attribute
number, name, title, size, format, pausePosition, version, yearOfProduction an den angezeigten Stellen sichtbar ist, bzw. auf welches Attribut man zugreifen könnte.
Jetzt ist die zweite Frage, dass ich gegebenfalls entsprechende Objekte
der Klassen erzeugen soll, falls es nötig ist. Ich verstehe es zwar leider bis jetzt nicht, habe mir aber ein paar Lösungsvorschläge überlegt.
1. Man müsste zumindest für jede der vier Klassen Objekte erzeugen, denn ohne Objekte sind die Attribute und die Methode ja nicht funktionsfähig.
2. Für die Klasse Music und Klasse Video würde ich Objekte schon alleine deswegen erzeugen, weil es eben verschiedene Songs und Videos beinhalten soll die man abspielen kann.
3. Für als "public" deklarierte Attribute aus dem anderen Paket z.B. p2, muss ich erstmal das Paket importieren und kann dann auf das Attribut zugreifen.
Wie bereits erwähnt, falls ich etwas falsch gemacht habe, die Lösungsansätze unzureichend sind oder sonstiges, gebt mir bitte einen kleinen Hinweis. Objekte mit Hilfe von "new" erzeugen etc. kann ich ja selbst, auch das Prinzip der Zugriffsmodifizierer glaube ich zu verstehen, ich verstehe nur nicht was ich da machen muss, wenn es heißt ich soll "gegebenfalls" Objekte erzeugen, falls "nötig"