InfoJ2011 Geschrieben 29. Dezember 2010 Geschrieben 29. Dezember 2010 also... ich habe 1 klasse erstellt. diese hat exakt die gleichen funktionen des bildschirm aus sum.kern! sie ist nur selbst programmiert und heißt meinBildschirm jetzt soll eine andere klasse(hier: stil) diese kennen lernen.(die klasse soll übergeben werden) normalerweise kann man das einfach so machen: STIL: private Bildschirm kenntBildschirm; constructor public stil(sum.kern.Bildschirm pBildschirm) { kenntBildschirm = pBildschirm; } HAUPTPROGRAMM: meinBildschirm hatmeinBildschirm; stil hatStil; constructor public hauptprogramm() { hatmeinBildschirm = new meinBildschirm(); hatstil = new stil(hatmeinBildschirm); } sum.kern. wird automatisch ergänzt wenn man nichts davor schreibt. jetzt ist meinBildshcirm aba ja nicht in sum.kern. in sum.kern is nur der normale bildschirm Zitieren
flashpixx Geschrieben 29. Dezember 2010 Geschrieben 29. Dezember 2010 Dein Post ist unverständlich! Formuliere es bitte so, dass es verständlich wird Zitieren
InfoJ2011 Geschrieben 29. Dezember 2010 Autor Geschrieben 29. Dezember 2010 eine kennt-Beziehung ist bekannt oder? nehmen wir an ein stift soll im abgesetzenmodus sich im bildschirm bewegen und am rand des bildschirms apprallen. dafür muss der stift den bildschirm kennen. zufor mus der stift allerdings selbst programmiert werden, da es sich in eine OOP handelt(das objekt hier der superstift soll möglkichst viel selbst erledigen) der superstift soll also den befehl kennen superstift.abbrallen(); damit der superstift den bildschirm nun kennt wird der bildschirm dem superstift im constructor übergeben. public superstift(Bildschirm pBildschirm) *steht für: sum.kern.Bildschirm { ... } und im Hauptprogramm(constructor) public hauptprogramm() { hatsuperstift = new superstift(hatBildschirm); ..... der befehl im superstift sieht dann so aus public abbrallen() { if(deie position > kenntBildschirm.breite()) { dreh dich um(); } } ---------------------funktioniert alles perfekt!!!-------------------- jetzt hat man den bildschirm mit allen seinen funktionen aber selöbst programmiert. die Klasse heißt: superBildschirm !!!!!!!!! die Klasse: Bildschirm ist im package sum.kern enthalten und kann somit eindeutiog identifiziert werden. (siehe: sum.kern.Bildschirm) !!!!!!!!!!!!!! der superBildschirm ist aber nciht im package sum.kern enthalten. wenn man jertzt statt eines normalen bildschirms im hauptprogramm den superbildschrim verwendet hat udn nun auch auf diesen zugreifen will, dann kann am nicht schreiben Zitat von oben: public superstift(Bildschirm pBildschirm) *steht für: sum.kern.Bildschirm { ... } sondern muss schreiben: public superstift([COLOR="RoyalBlue"]superBildschirm[/COLOR] pBildschirm) [COLOR="RoyalBlue"]*hier allerdings liegt das problem: es wird automatisch ergänzt: sum.kern.superBildschrim diese Klasse gibt es aber nicht!!! :confused::confused:was muss man hier hinschreiben statt sum.kern:confused::confused:[/COLOR] { ... } Zitieren
Klotzkopp Geschrieben 29. Dezember 2010 Geschrieben 29. Dezember 2010 jetzt hat man den bildschirm mit allen seinen funktionen aber selöbst programmiert. die Klasse heißt: superBildschirmAuch wenn diese Klasse identische Methoden hat, kannst du sie trotzdem hier nicht ersetzen. Das hat auch nichts damit zu tun, in welchem Paket die Klassen liegen. Dazu müssten Bildschirm und superBildschirm schon in einer Vererbungsbeziehung stehen. Zitieren
InfoJ2011 Geschrieben 29. Dezember 2010 Autor Geschrieben 29. Dezember 2010 das hat in meinen augen keinen sinn:confused::confused::confused: wenn ich den bildschrim exakt nachprgrammiere müsste ich ihn doch durch die eigene klasse ersetzen können(also KOMPLETT ersetzen) da sum.kern.Bildschirm nur eine vorprogrammierte klasse ist. also dürfte sich nichts ändern, wenn ich dei klasse einfach selbst nochmal schreibe aber mal anders gefrgt: den normalen bildschrim rufe ich mit sum.kern.Bildschirn auf. wir rufe ich den selbst erstellten bildschirm auf????? _____._____.Bildschirm Zitieren
Klotzkopp Geschrieben 29. Dezember 2010 Geschrieben 29. Dezember 2010 wenn ich den bildschrim exakt nachprgrammiere müsste ich ihn doch durch die eigene klasse ersetzen können(also KOMPLETT ersetzen)Nein. So funktioniert Objektorientierung nun einmal nicht. Was du vorhast, erfordert eine Verwandschaft zwischen den Klassen. Oder du änderst die Klasse superstift, dass sie mit deiner Bildschirmklasse arbeitet. den normalen bildschrim rufe ich mit sum.kern.Bildschirn auf. wir rufe ich den selbst erstellten bildschirm auf????? _____._____.BildschirmWenn die Klasse von dir ist, legst du doch selbst fest, in welchem Package sie liegt. Zitieren
InfoJ2011 Geschrieben 29. Dezember 2010 Autor Geschrieben 29. Dezember 2010 Wenn die Klasse von dir ist, legst du doch selbst fest, in welchem Package sie liegt. und wir mach is das????????????? ^^das ist die LÖSUNG:):):) Zitieren
flashpixx Geschrieben 29. Dezember 2010 Geschrieben 29. Dezember 2010 Java ist auch eine Insel – 6.7 Vererbung Zitieren
InfoJ2011 Geschrieben 29. Dezember 2010 Autor Geschrieben 29. Dezember 2010 mit dem _Link komm ich nciht klar...::( aba mcih interessiert von der pc die eingenen klassen speichert sum.kern.Bildschi8rm ^^der speicherort dre bildschirm der vorprogrtammiert ist und für jeden zugänglich package v1; das stand auf der seite(link) was für mc WAHRSCHEINLICH von interesse ist. was bewirkt das??? Zitieren
flashpixx Geschrieben 29. Dezember 2010 Geschrieben 29. Dezember 2010 mit dem _Link komm ich nciht klar...::( Wie wäre es, wenn Du es Dir durchliest und Dir die Beispiele anschaust und versuchst diese zu verstehen. Vor allem sind diese wirklich sehr gut erklärt. das stand auf der seite(link) was für mc WAHRSCHEINLICH von interesse ist. was bewirkt das??? Es ist für die genannte Vererbung irrelevant, was die Anweisung aber macht und wofür sie gedacht ist, findest Du auch dort Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 3.9 Compilationseinheiten und eigene Pakete schnüren Zitieren
InfoJ2011 Geschrieben 29. Dezember 2010 Autor Geschrieben 29. Dezember 2010 ich will ja eig. kein eigenes package erstellen wie greife ich auf das package zu indem die klasse jetzt ist??? sum.unnamed.superBildschirm gibt es nciht und sum.default.superBiuldschirm gibt es aauch nciht!!! oda ist das gar nciht möglich??? wenn es nciht möglich ist, aber auch wenn würde ich trotzdem gerne wissen wie man ein package erstellt: erste zeile: package meins; ergibt fehler: erst package erstellen und davon steht da einfach nix im link Zitieren
flashpixx Geschrieben 29. Dezember 2010 Geschrieben 29. Dezember 2010 wie greife ich auf das package zu indem die klasse jetzt ist??? indem Du das Package via "import" importierst oder den kompletten Namen vor den Klassenaufruf setzt. wenn es nciht möglich ist, aber auch wenn würde ich trotzdem gerne wissen wie man ein package erstellt: Die erste Quelle wäre Oracle selbst Creating and Using Packages (The Javaâ„¢ Tutorials > Learning the Java Language > Packages) P.S.: Korrekte Orthographie wäre hilfreich für die Leser Zitieren
InfoJ2011 Geschrieben 30. Dezember 2010 Autor Geschrieben 30. Dezember 2010 indem Du das Package via "import" importierst oder den kompletten Namen vor den Klassenaufruf setzt. Wie heißt das Package denn? Zitieren
flashpixx Geschrieben 30. Dezember 2010 Geschrieben 30. Dezember 2010 Wie heißt das Package denn? Das musst Du wissen, wie Deine Packages heißen Zitieren
InfoJ2011 Geschrieben 30. Dezember 2010 Autor Geschrieben 30. Dezember 2010 Ich habe dem Package keinen Namen gegeben!!! Der Kopf der Quellcodes: import sum.kern.*; /** * asdf wird erzeugt. * * @author jkl * @version 1.0 */ public class asdf { wo wird dsa jetzt gespeichert? unnamed package oder default package stend in dem Link. aber sum.unnamed.asdf oder sum.default.asdf gibt es nciht. Zitieren
InfoJ2011 Geschrieben 30. Dezember 2010 Autor Geschrieben 30. Dezember 2010 wem ich dem Link folgen passiet folgendes: Sie haben die "package"-Anweisung auf ein Paket geändert, das es in diesem Projekt nicht gibt. Wenn Sie diese Klasse in ein anderes Paket verschieben wollen, müssen sie das Ziel-Packet zuerst erstellen. [...] Zitieren
flashpixx Geschrieben 30. Dezember 2010 Geschrieben 30. Dezember 2010 Fang' doch bitte damit an, strukturiert die Sachen anzugehen. Um was geht es jetzt, Vererbung oder Package Struktur !? Für beides hast Du Links bekommen, die Du durcharbeiten sollst. Bezügl. der Packagestruktur ist in dem Link "Creating and Using Packages" ein Kapitel "Managing Source and Class Files", in dem beschrieben steht, wie innerhalb des Packages die Daten organisiert werden. In den vorhergehenden Artikeln wie man Packages benutzt. Die Vererbung ist in dem Onlinebuch "Java ist auch eine Insel" mit Beispielen ausführlich beschrieben. Generell: Beschreibe Deine Probleme so, dass sie verständlich sind, denn niemand kann auf Deinen Monitor schauen oder hat die gleichen Daten wie Du vorliegen. Zitieren
InfoJ2011 Geschrieben 30. Dezember 2010 Autor Geschrieben 30. Dezember 2010 Also... ich habe eine Klasse erstellt. Sie heißt asdf. In welchen Package wird sie gespeichern, wenn man nicht package meins; schreibt? Zitieren
flashpixx Geschrieben 30. Dezember 2010 Geschrieben 30. Dezember 2010 Steht in Kapitel 3.9.3 in dem "Java ist auch eine Insel" Zitieren
InfoJ2011 Geschrieben 1. Januar 2011 Autor Geschrieben 1. Januar 2011 Ich weiß nciht wirklich ob ihr mich versteht :-( um auf den normalen Bildschirm zu zugreifen schreibe ich: [COLOR="Lime"]sum.kern.Bildschirm[/COLOR] richtig?? wenn ich jetzt auf meinen eingenen Bildschirm zugreifen will (der Name war superBildschirm) was schreibe ich dann? [COLOR="red"]default.superBildschirm[/COLOR] kann man nicht eingeben!!!!! kann es sein, das es unmöglich ist, was ich vorhabe??????? >>>ich will auf meine eigene Klasse zugreifen.!!!!!! OHNE ein package zu erstellen!!!!! Zitieren
flashpixx Geschrieben 1. Januar 2011 Geschrieben 1. Januar 2011 Ich weiß nciht wirklich ob ihr mich versteht :-( Wir verstehen schon was Du möchtest. Du solltest aber mal das lesen, was genannte wurde und verstehen, denn die Lösung ist durch einfaches lesen zu erreichen Zitieren
InfoJ2011 Geschrieben 1. Januar 2011 Autor Geschrieben 1. Januar 2011 ICH WETTE DAGEGEN!!!! also ein ZITAT aus den Quellen bitte Zitieren
InfoJ2011 Geschrieben 2. Januar 2011 Autor Geschrieben 2. Januar 2011 Ich finde eure Einstellung sehr schlecht. 1. Antwortet ihr nicht auf alle Fragen und dann seid ihr beleidigt, weil ich WETTE Also... bitte der Reihe nach beantworten: 1.um auf den normalen Bildschirm zu zugreifen schreibe ich: sum.kern.Bildschirm richtig?? 2. wenn ich jetzt auf meinen eingenen Bildschirm zugreifen will (der Name war superBildschirm) was schreibe ich dann? default.superBildschirm kann man nicht eingeben!!!!! 3. kann es sein, das es unmöglich ist, was ich vorhabe??????? >>>ich will auf meine eigene Klasse zugreifen.!!!!!! OHNE ein package zu erstellen!!!!! Zitieren
InfoJ2011 Geschrieben 2. Januar 2011 Autor Geschrieben 2. Januar 2011 und das steht NICHT in den Links Zitieren
flashpixx Geschrieben 2. Januar 2011 Geschrieben 2. Januar 2011 Thread Pushing ist nach den Boardregeln unerwünscht. Solltest Du Dich nicht daran halte, schließe ich den Thread Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.