info 2

Aufgaben, Lösungen, Klausuren
TaiLs
Beiträge: 37
Registriert: 19.04.2007 13:52

info 2

Beitrag von TaiLs » 13.02.2008 15:51

was war jetzt eigentlich mit dem toString muss das immer implementiert werden in jeder klasse?

und das mit polymorphie seh ich auch so nur im zusammenhang mit vererbung (siehe wiki)
das mit der mehrfachvererbung seh ich aber ein hatte nur an extends gedacht ob eine klasse von mehreren erben kann naja egal
give me more fire !!!

kingkay
Beiträge: 82
Registriert: 01.11.2006 11:18
Name: Kay
Geschlecht: männlich
Studienrichtung: Elektrotechnik
Matrikel: 2006
Angestrebter Abschluss: Dipl-Ing.
Contact:

info 2

Beitrag von kingkay » 13.02.2008 15:51

um die nicht die laune zu verderben, aber du weißt schon, dass FACH ein ARRAY und kein ArrayList war? deswegen kannst du es nicht mit einem iterator durchlaufen lassen, da der diesen nicht unterstützt!
außerdem wurde in der methode aufstellen oder so (in Schrank), wo die methode gibMaxHoehe drin stand, ja schon eine schleife mit allen fächern durchlaufen, wo man nun nur noch testen muss, welche die maximale hoehe hat.

MT_05
Beiträge: 36
Registriert: 30.07.2006 14:04

info 2

Beitrag von MT_05 » 13.02.2008 16:03

zu 3c) sollte man eine neue Klasse Regal schreiben die Fächer besitzen. Alle Faecher sind gleich deswegen können wir von Fach erben. Nur die maximale Gesamtlast und Anzahl der Fächer sollte bei Konstruktor übergeben werden.
Code:

public class Regal extends Fach {
private int maxGesamtlast;
private int maxLastEinzel;
private int maxHoehe;
private int anzahl;
privat ArrayList dinge;

public Regal (int last, int hoehe, int gesamtlast, int anzahl)
super(last, hoehe);
maxGesamtlast = gesamtlast;
maxHoehe = hoehe;
maxLastEinzel = last;
dinge = new Ding();
}
public int gibMaxHoehe() {
return maxHoehe;
}

public boolean aufstellbar(Ding g) {
if ((g.gibGewicht()+n*super.gibMaxLast) > maxGesamtLast || g.gibHoehe() > maxHoehe) {
return false;
}
else {
return true;
}
}
public boolean aufstellen(Ding g) {
if (aufstellbar(g)) {
dinge.add(ding) ;
}
}
}

MT_05
Beiträge: 36
Registriert: 30.07.2006 14:04

info 2

Beitrag von MT_05 » 13.02.2008 16:08

@TaiLs: toString ist eingentlich von Java vordefiniert. Mann muss nicht in alle Klasse implimentieren. Das ist ja optional, wenn man mit toString einen sinnvolle Text ausgeben will.

MT_05
Beiträge: 36
Registriert: 30.07.2006 14:04

info 2

Beitrag von MT_05 » 13.02.2008 16:11

Bei 5 habe ich die Fabrikmethode genommen und irgend was mit Iterator geschrieben. Aber ich muss sagen das bei Programmieraufgaben bisschen zu viiel war :(. Man hat ja insgesamt 7 Klassen und kann nicht immer die Übersicht zu alle Klasse haben in so kurzer Zeit :(

Myuu
Beiträge: 64
Registriert: 16.07.2007 18:02
Geschlecht: männlich
Studienrichtung: Elektrotechnik
Matrikel: 2012

info 2

Beitrag von Myuu » 13.02.2008 16:19

a) Private Instanzfelder führen zu hoher Kopplung

b)Die Sichtbarkeit von Parametern ist auf die deklarierende Methode beschränkt

c)Elemente können aus Sammlungsklassen entfernt werden

d)Die Methode toString () muss in jeder Klasse implementiert werden

e)Auf Klassenfelder (static) darf auch von Instanzmethoden zugegriffen werden

f) Polymorphie tritt nur bei Vererbung auf

g) Java unterstützt Mehrfachvererbung

h) Geprüfte Exceptions müssen im Methodenkopf deklariert werden

i)Superklassen enthalten immer mehr Methoden als Subklassen

j) Auf Datenfelder der Superklasse darf in Subklassen immer zugegriffen werden

kingkay
Beiträge: 82
Registriert: 01.11.2006 11:18
Name: Kay
Geschlecht: männlich
Studienrichtung: Elektrotechnik
Matrikel: 2006
Angestrebter Abschluss: Dipl-Ing.
Contact:

info 2

Beitrag von kingkay » 13.02.2008 16:21

aso was ich nochma fragen wollte, wo ich mir ni 100% sicher bin...
ist die klasse fach eine subklasse von schrank? also wil ich habe nur n nurtzungsbedienung gemalt! was mich daran aber gestört hat, war, dass es ein protected datenfeld in schrank gab?! war das ablegung oder habe ich da den vererbungspfeil vergessen?

Myuu
Beiträge: 64
Registriert: 16.07.2007 18:02
Geschlecht: männlich
Studienrichtung: Elektrotechnik
Matrikel: 2012

info 2

Beitrag von Myuu » 13.02.2008 16:21

f w w f w f f w f f
würd ich mal sagen
ach und interfaces hat nix mit vererbung zu tun

kingkay
Beiträge: 82
Registriert: 01.11.2006 11:18
Name: Kay
Geschlecht: männlich
Studienrichtung: Elektrotechnik
Matrikel: 2006
Angestrebter Abschluss: Dipl-Ing.
Contact:

info 2

Beitrag von kingkay » 13.02.2008 16:24

a) nein
b) ja
c) ja
d) nein
e) ja
f) ja
g) ja
h) ja
i) nein
j) nein

also bei f) bin ich mir sicher, aber bei g nicht

MT_05
Beiträge: 36
Registriert: 30.07.2006 14:04

info 2

Beitrag von MT_05 » 13.02.2008 16:32

@Myuu: sorry hab nachgelesen, interface ist ersatzt für Mehrfachvererbung => g falsch
wieder 2 Pünktchen weniger :(

Myuu
Beiträge: 64
Registriert: 16.07.2007 18:02
Geschlecht: männlich
Studienrichtung: Elektrotechnik
Matrikel: 2012

info 2

Beitrag von Myuu » 13.02.2008 16:34

zu g)
skirpt seite 71
\" Java: Interfaces statt Mehrfachvererbung\"

zu f)
die diskussion gabs schon letztes semester
polymorphie kann auch bei interfaces auftreten
also nich nur bei vererbung

kingkay
Beiträge: 82
Registriert: 01.11.2006 11:18
Name: Kay
Geschlecht: männlich
Studienrichtung: Elektrotechnik
Matrikel: 2006
Angestrebter Abschluss: Dipl-Ing.
Contact:

info 2

Beitrag von kingkay » 13.02.2008 16:34

also ich habe nochma im skript nachgeschaut, und dort teht eindeutig drin: \"Interface statt Mehrfachvererbung\", somit besitzt java keine mehrfachvererbung!!!
jedoch bei der frage mit den polymorphie und mehrfachvererbung kann man sicher streiten, da interfaces ja als \"art\" vererbung angesehen werden kann... also das ist nicht 100% sicher

Myuu
Beiträge: 64
Registriert: 16.07.2007 18:02
Geschlecht: männlich
Studienrichtung: Elektrotechnik
Matrikel: 2012

info 2

Beitrag von Myuu » 13.02.2008 16:37

bei 6 hab ich auch 3 und 5 und bei 1 lager als super klasse für stellplatz und lagerhalle
lagerhalle als superklasse für schrank
und halt ding wird von lager lagerhalle und schrank benutzt und fach wird nur von schrank benutzt
keine ahnung ob das reicht

kingkay
Beiträge: 82
Registriert: 01.11.2006 11:18
Name: Kay
Geschlecht: männlich
Studienrichtung: Elektrotechnik
Matrikel: 2006
Angestrebter Abschluss: Dipl-Ing.
Contact:

info 2

Beitrag von kingkay » 13.02.2008 16:41

genau so habe ich es auch!
aber ma so ne frage, weil bin mir grad selber ni sicher:

Lager o1 = new schrank oder so war das bei 4. in einer zeile!

das geht aber, obwohl weil schrank von lagerhalle und lagerhalle wiederum von lager erbt, oder hab ich da was verwechselt?

MT_05
Beiträge: 36
Registriert: 30.07.2006 14:04

info 2

Beitrag von MT_05 » 13.02.2008 16:45

@:kingkay:
Lager o1 = new schrank ist richtig denn wie du es sagte, schrank erbt von lagerhalle und lagerhalle wiederum von lager :)

kingkay
Beiträge: 82
Registriert: 01.11.2006 11:18
Name: Kay
Geschlecht: männlich
Studienrichtung: Elektrotechnik
Matrikel: 2006
Angestrebter Abschluss: Dipl-Ing.
Contact:

info 2

Beitrag von kingkay » 13.02.2008 16:48

also ich hoffe mal, dass ich grad so bestehe...
wie viele fehler habt ihr den so bei 2.? weil irgendjemand von 9 gesprochen hat? ich habe nur 5, und in der probeklausur waren es auch nur 6!

Myuu
Beiträge: 64
Registriert: 16.07.2007 18:02
Geschlecht: männlich
Studienrichtung: Elektrotechnik
Matrikel: 2012

info 2

Beitrag von Myuu » 13.02.2008 17:09

ich glaub ich 7 fehler oder so
und das lager o1 = new schrank is richtig

MT_05
Beiträge: 36
Registriert: 30.07.2006 14:04

info 2

Beitrag von MT_05 » 13.02.2008 18:37

ich hatte 6 gefunden.
1) \"(\" fehlt
2) \"new\" weglassen bei Iterator
3) Cast Operator fehlt
4) Wert von finaly kann nicht geändert werden
5) \"{\" fehlt
6) k.a mehr :D

MartinZippel
Beiträge: 1543
Registriert: 02.11.2005 19:16
Name: Martin Zippel
Geschlecht: weiblich
Studienrichtung: Informatik
Matrikel: 2005
Angestrebter Abschluss: Dipl-Ing.
Wohnort: Püchau
Contact:

info 2

Beitrag von MartinZippel » 13.02.2008 19:24

Ich freu mich, dass jetzt so viel gepostet wird. Ohne die Aufgabenstellungen freuen sich die nach uns umso mehr...

TaiLs
Beiträge: 37
Registriert: 19.04.2007 13:52

info 2

Beitrag von TaiLs » 13.02.2008 20:48

5) \"{\" fehlt

hmm eher eine zuviel

6) return war ausserhalb der Methode
7) ; statt . am Ende der einen Zeile
8) die ArrayList wurde nicht initialisiert
9) () statt [ ] bei einem Methodenaufruf
give me more fire !!!

Benutzeravatar
Mike Matusow
Beiträge: 101
Registriert: 04.08.2007 15:14
Geschlecht: männlich
Studienrichtung: Elektrotechnik
Matrikel: 2006
Angestrebter Abschluss: Dipl-Ing.
Wohnort: Dresden

info 2

Beitrag von Mike Matusow » 14.02.2008 09:52

[] stand bei 2 Methodenaufrufen

MT_05
Beiträge: 36
Registriert: 30.07.2006 14:04

info 2

Beitrag von MT_05 » 14.02.2008 13:52

genau das mit [] hatte ich auch aber Tails das mit \"die ArrayList wurde nicht initialisiert\" sehe ich anders.
also day code war so ähnliches:

Datenfelder: privat ArayList irgendwas;
Kontruktor: public Klassenname (ArrayList l)
irgendwas = l; => da wird ArrayList doch initialisiert. Also nicht unbeding \"irgendwas = new ArrayList();\"
mit \"irgendwas = new ArrayList();\" hat man irgendwas einen \"null\"-Wert zugewiesen und mit \"irgendwas = l\"hat man es ein bestimmte Liste zugewiesen, das bei Kontruktorparameter übergeben wird. Deswegen hatte ich gleich am Anfang gefragt ob da nein 1 oder ein l steht. Die Schriften sahen sehr ählich aus und 1 wäre unsinn gewesen.

TaiLs
Beiträge: 37
Registriert: 19.04.2007 13:52

info 2

Beitrag von TaiLs » 14.02.2008 20:09

dem konstruktor wird hier ne arraylist übergeben meinesachtens muss er für sich noch eine initialisieren um dann die alte in diese hineinzuschieben , falsch kann es denke ich nicht sein vllt überflüssig aber da leg ich mich nicht fest
give me more fire !!!

MT_05
Beiträge: 36
Registriert: 30.07.2006 14:04

info 2

Beitrag von MT_05 » 14.02.2008 23:15

also ich hab folgendes Code in BluJ reingehaut und bei übersetzen wurde kein Fehler gemeldet:

import java.util.ArrayList;
public class Test
{

private ArrayList array;

public Test(ArrayList l)
{
array = l;
}

}

l wird dann in array hineingeschoben!

Gesperrt

Zurück zu „1. und 2. Semester“