tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
719
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    vaporizer vaporizer ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    206
    Hallo
    Gibt es eine Möglichkeit eine Attribute bzw Eigenschaft so zu deklarieren
    dass man aus einer anderen Klasse darauf zugreifen kann?
     

  2. #2
    Avatar von djwawe
    djwawe djwawe ist offline Mitglied Silber
    Registriert seit
    Jan 2004
    Ort
    Neuss(NRW)
    Beiträge
    94
    Wenn du eine Eigenschaft als "public" deklarierst, kann darauf von jeder anderen Klasse drauf zugegriffen werden.
    Wenn du einfach nur "int x" schreibst, kann nur aus demselben Package darauf zugegriffen werden.
     

  3. #3
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.805
    Blog-Einträge
    5
    Oder du arbeitest mit getter/setter Methoden.
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  4. #4
    vaporizer vaporizer ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    206
    Also ich habe die Eigenschaft elbu als public deklariert
    wenn ich aber nun elbu in einer anderen Klasse verwende
    dann erkennt er sie mir nicht
    habe Klassennahmen.elbu versucht
    das funktioniert aber leider nicht
    wie kann ich nun diese eigenschaft der anderen klasse benutzen?
     

  5. #5
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.805
    Blog-Einträge
    5
    Wäre praktisch wenn du dazu die entsprechenden Codeschnipsel posten würdest (Deklaration der Klasse, die deine Instanzvariable enthält, Zugriff auf die Variable).
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  6. #6
    vaporizer vaporizer ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    206
    Klasse MyCLass:
    public void eingeben()
    {

    int i=0;
    String name = readString("index "+i+" von Element "+elbu+" <<HIER eingeben: (abbruch=quit)");
    while((!name.equals("quit")) && (i<all-1))
    {
    if((i==0) || (name.equals("quit"))) e++;
    vary[i] = name;
    i++;
    name = readString("index "+i+" von Element "+elbu+" <<HIER eingeben: (abbruch=quit)");
    }
    last=i;
    }
    also die Variable elbu
    ist in einer anderen Klasse namens CopyShop zu finden
    Deklaration: public int elbu=0;
     

  7. #7
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.805
    Blog-Einträge
    5
    Ähem... wenn du die Variable als Instanzvariable deklarierst, musst du natürlich auch eine Instanz der jeweiligen Klasse haben und über diese auf sie zugreifen.
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  8. #8
    Avatar von Billie
    Billie Billie ist offline Mitglied Platin
    Registriert seit
    Jan 2003
    Ort
    Arzl im Pitztal (Tirol)
    Beiträge
    510
    Ich glaub mit "public static" kannst du dich schon mal über Vererbungsstrukturen hinwegsetzen, aber was du genau willst weiß ich nicht.

    Du sagst "elbu" ist in einer CopyShop Klasse? Diese Klasse musst du ja irgendwann instanzieren od. überhaupt darauf zugreifen. Wie oben erwähnt kannst du get/set Methoden schreiben... also in die Klasse CopyShop zB

    public int getElbu() {
    retrun elbu;
    }

    Aufrufen wie gehabt ... CopyShop cpy = new CopyShop(); int x = cpy.getElbu();

    Du kannst auch eine Referenz auf CopyShop zB in MyClass speichern. Du definierst in MyClass einfach eine CopyShop Variable und CopyShop registriert sich dann durch eine Methode in MyClass.

    MyClass {
    CopyShop cpy;

    public void setCopyShop(CopyShop cpy) {
    this.cpy = cpy;
    }
    }

    Bist wohl auch eher neu im objektorientierten Bereich, ich persönlich hab auch noch so meine Schwiriegkeiten gute Vererbungshirachien zu programmieren.
     
    Fann Ég Fjalli Fallega Steina
    Faldi Dá Alla Vildi Deim Leyna
    Huldi Dar Hellisskúta Heillasteina
    Alla Mína Una eth slegu Óskasteina

  9. #9
    vaporizer vaporizer ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    206
    naja ich bin im gesamten Programmier Bereich noch neu
    und hab noch mit so ziemlich allen Dingen Probleme

    hab aber nun so
    CopyShop cpy = new CopyShop();
    instanziert
    funktioniert nun auch
    kann nun eine get Methode aufrufen..

    das komische ist nur das ich dies Gestern versucht habe
    und da hat mir Eclipse "CopyShop()" rot unterstrichen
    warum auch immer das so war

    aber was solls hauptsache es funktioniert Heute
    auch Pc'c haben wohl ihre guten und schlechten Tage

    Schöne Grüße von Vaporizer
     

Ähnliche Themen

  1. Innerhalb einer Klasse eine Instanz einer anderen Klasse
    Von HackerNeo im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 17.11.09, 13:08
  2. Auf Werte einer anderen Klasse zugreifen
    Von mareikiii im Forum Java
    Antworten: 3
    Letzter Beitrag: 19.02.09, 15:42
  3. Auf Ereignisse einer anderen Klasse zugreifen
    Von killerkirsche im Forum Java
    Antworten: 22
    Letzter Beitrag: 07.01.08, 14:17
  4. Auf Funktionen einer anderen Klasse zugreifen
    Von moondancer im Forum PHP
    Antworten: 6
    Letzter Beitrag: 13.12.05, 11:30
  5. Antworten: 4
    Letzter Beitrag: 23.08.04, 11:35