Klasse und Objekt

Status
Nicht offen für weitere Antworten.

der gute

Mitglied
Hi,
ich habe ein kleines Problem und hoffe ihr könnt mir weiterhelfen.Es ist kein Programmierproblem sondern halt nur das ich etwas nicht verstehe ob richtig oder falsch.

Es existiert eine Klasse (z.B. Kunden) in dieser gibt es die Methoden (z.B get_adresse(), show_daten() usw.) das Objekt erstelle ich mit dem Parameter (Kundenid) soweit so gut (logisch für mich) was aber wenn ich einen neuen Kunden anlegen will, meine Lösung Parameter (None) weil ich sauber Programmiere :wink: benutze ich natürlich als erstes die Methode (erstelle_kunde()) welche mir die Id zurückgibt (wird aus DB geholt).

Nun ist das aber so richtig oder nicht.

Was ist wenn ich get_adresse() mit meinem Objekt aufrufe und nicht erstelle_kunde() angewendet habe. Müßte ich halt abfangen.

Kann leider auch nicht beim erstellen des Objektes gleich ein DB-eintrag erstellen weil mehrere Tabellen verknüpft sind und diese erst gefüllt werden müssen.

Ich hoffe ihr habt es so in etwa verstanden was ich meine

der gute sagt danke.
 

Nobody

Top Contributor
wenn ich das richtig verstanden habe, dann hast du ein objekt kunde mit verschiedenen eigenschaften, unter anderem der addresse und der userid(kundennummer). und das objekt existiert bereits, ist aber noch nicht gefüllt und hat daher nur eine user id dann funktioniert das abfangen mit einer einfachen if bedingung und zwar sieht das etwa so aus:
Code:
if(kunden.get_addresse()!=null){             //es heist null nicht none
  //was auch immer du damit anstellen willst
} else {
  //fehlerabfangung
}

wenn du aber auf kunden.get_addresse zugreifst bevor dieses objekt überhaupt existiert dann könntest du das ganze mit einer try und catch anweisung abfangen:

Code:
try {
  //was versucht werden soll
}
catch (RuntimeException r){         //oder welche fehlerklasse deinen wünschen entspricht
  //fehlerbehandlung 1
}
catch (......) {                             //wenn du mehrere unterschiedliche fehlerarten anders abfangen willst
  //fehlerbehandlung n
}


wenn ich was falsch verstanden habe korriegiere mich. wobei du das zweite auch mit dem ersten verknüpfen könntest
 

der gute

Mitglied
Nobody hat gesagt.:
wenn ich das richtig verstanden habe,

dann hast du ein objekt kunde mit verschiedenen eigenschaften,

unter anderem der addresse und der userid(kundennummer).

ja solange es kein neukunde ist

Nobody hat gesagt.:
und das objekt existiert bereits, ist aber noch nicht gefüllt und hat daher nur eine user id

das Objekt wird angelegt mit der userid als Parameter(zb. nach einloggen)

Nobody hat gesagt.:
dann funktioniert das abfangen mit einer einfachen if bedingung und zwar sieht das etwa so aus:
wenn du aber auf kunden.get_addresse zugreifst bevor dieses objekt überhaupt existiert dann könntest du das ganze mit einer try und catch anweisung abfangen:

meine Frage ist eigentlich ob es fehlerhaft oder anders ob es saubere OOP ist wenn ich das Objekt ohne Userid anlege(None als Parameter)und dann halt wissen muß das ich nicht getadresse()aufrufen kann bzw wenn ich es aufrufe in dieser Methode es abfange.

Nobody hat gesagt.:
wenn ich was falsch verstanden habe korriegiere mich. wobei du das zweite auch mit dem ersten verknüpfen könntest

Nun ich wußte selber nicht wie ich das genau erklären soll aber trotzdem danke für die Antwort

der gute
 

Nobody

Top Contributor
also es ist laut meinen lehrern möglich und elegant dies zu tun (und ich denk mal die versuchen uns gewisse normen zu lehren).
zum erstellen wurde mir folgendes eingebläut:

die klasse die das objekt kunde beschreibt nennt sich Kunde
Code:
 Kunde kunde = new Kunde(userid);

in der klasse muss dann der default konstruktor in etwa so aussehen:
Code:
.
.
.
public Kunde(int userid){       //oder welchen typ die kunden nr auch immer hat
this.userid=userid;
.
.
.

hab das jetzt mal nur angerissen, denn rest (mit der schliessenden '}') kannst du auch selbst setzen. nur mal so zur erinnerung. ich hoffe du hast es damit verstanden, ansonsten melde dich nochmals.

also die übergabe von null (standartgemäß ohne ausnahme) ist aboslut sinnlos, da dieser wert ja bereits vordefiniert ist.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T nur EIN objekt einer klasse erstellen ? Softwareentwicklung 2
M Unterschied Klasse und Objekt! Softwareentwicklung 5
S UML bei innerer Klasse? Softwareentwicklung 10
I Entwicklung einer UML - KLasse Softwareentwicklung 2
R static methode innerhalb einer klasse ! Softwareentwicklung 5
G Abstrakte Klasse erwweitern Softwareentwicklung 11
I Die Klasse Scanner in eclipse Softwareentwicklung 23
W Statische Klassen oder neue Instanz einer Klasse nutzen? Softwareentwicklung 11
J Finde Fehler im Programm nicht (Klasse Kreis) Softwareentwicklung 1
S Aufrufen einer Methode einer abgeleiteten Klasse von Oberkla Softwareentwicklung 4
Redfrettchen Lieber eine neue oder eine allgemeine Klasse? Softwareentwicklung 2
B Statische Klasse <=> Singleton Softwareentwicklung 7
D Name einer Instanz einer Klasse IN der Klasse erfahren ?? Softwareentwicklung 3
Rudolf Wie viele Parameter sollte ein Objekt haben Softwareentwicklung 21
Rudolf Parameter soll Referenz vom zu erstellenden Objekt erhalten Softwareentwicklung 6
S 3D Objekt Visualisierung Softwareentwicklung 4
S objekt löschen / null setzen Softwareentwicklung 18
G nur ein Objekt Softwareentwicklung 4
H Referenzen auf Objekt ermitteln Softwareentwicklung 8
V 2 Klassen arbeiten am selben Objekt? Softwareentwicklung 2
N Dynamische Objekt anzahl erstellen Softwareentwicklung 4
C Systemvariablen(Startparameter) statisch oder als Objekt? Softwareentwicklung 8

Ähnliche Java Themen

Neue Themen


Oben