JAVA beginner oefententamen vraag

Pagina: 1
Acties:
  • 967 views

Onderwerpen


Acties:
  • 0 Henk 'm!

  • voidmage
  • Registratie: Augustus 2005
  • Laatst online: 25-10-2020

voidmage

ad maiora natus sumus

Topicstarter
ik heb een kort vraagje ik heb 1 klasse en 1 subklasse en ik wil de constructor van de superklasse gebruiken in de sub klasse echter heb ik dit op vele manieren geprobeerd ik krijg het maar niet voor elkaar!

verder moet de subklasse constructor nog een extra instancefield krijgen wat ik tot nu toe na lang zoeken heb gekregen is dit:

public class Persoon2
{

private String naam;
private String geboortedatum;
/**
* Constructor for objects of class Persoon2
*/
public Persoon2(String initialnaam, String initialgeboortedatum)
{
initialnaam=naam;
initialgeboortedatum= geboortedatum;

}


public class Personeelslid extends Persoon2
{
private String afdeling;

/**
* Constructor for objects of class personeelslid
*/
public Personeelslid(String initialafdeling)
{
super(initialnaam, initialgeboortedatum);
initialafdeling=afdeling;
}

als ik echter compile krijg ik te horen dat hij de "intitialnaam" niet kan vinden...

help o help wat doe ik fout

Acties:
  • 0 Henk 'm!

  • voidmage
  • Registratie: Augustus 2005
  • Laatst online: 25-10-2020

voidmage

ad maiora natus sumus

Topicstarter
heb het antwoord gevonden

moest de variabelen ook in de subklasse bijschrijven..

Acties:
  • 0 Henk 'm!

  • _Erikje_
  • Registratie: Januari 2005
  • Laatst online: 17-09 12:57

_Erikje_

Tweaker in Spanje

je doet zo'n beetje alles fout.
ten eerste:
in de Person2 constructor heb je de parameters aan de verkeerde kant van de = staan. logischer zou zijn
Java:
1
2
3
4
public Person2(String initialnaam, initialgeboortedatum){
   this.naam = initialnaam;
   this.geboorteDatum = initialgeboortedatum;
}

Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 19-09 12:39

MBV

Je mist hier een paar belangrijke stukken inzicht in het programmeren. Stel nu even dat we de fouten in de aanroep van de super-class negeren, dan blijven er nog een paar over. Zo zeg je op de regel erna "initialafdeling = afdeling". Dat kan nooit je bedoeling zijn: de variabele afdeling is nog niet geinitialiseerd, dus kan je die nooit gebruiken om de waarde toe te kennen aan initialafdeling. Dat is dan weer een variabele waaraan je geen waarde toe wilt kennen, omdat daar de informatie in staat die wordt meegegeven aan de constructor. Je moet die dus andersom zetten: je moet de waarde van 'initialafdeling' aan 'afdeling' toekennen.
Diezelfde fout doe je trouwens ook in de constructor van Persoon2.

Dan de regel waar je een fout op krijgt: de variabele initialnaam is niet bekend in die functie. In een functie zijn alleen de variabelen bekend die daarin worden gedeclareerd, plus de variabelen die in de klasse bekend zijn. In dit geval initialafdeling en afdeling, en uit de superklasse naam en geboortedatum. initialnaam is dus niet bekend, precies zoals de compiler aangeeft.

Ik denk dus dat je de cursus 'programmeren voor beginners' opnieuw moet doen.

[ Voor 3% gewijzigd door MBV op 20-02-2010 16:48 ]


Acties:
  • 0 Henk 'm!

  • kaesve
  • Registratie: Maart 2009
  • Laatst online: 16-05 03:04
naast dat dit typisch problemen zijn die je het beste zelf kunt leren oplossen, door nog eens goed te lezen hoe intherritance e.d. werkt, kun je de volgende keer misschien [ code ]-tags gebruiken, voor je post. Daar wordt het leesbaarder van.

Verder zou ik eens goed naar je code kijken, want ik denk niet dat dit helemaal gaat doen wat je zou willen dat het doet.. Wat zit er na het maken van een Personeelslid in de member 'afdeling'?

Daarnaast is het ook goed om meer vorm proberen aan te brengen in je code en naamgeving. Het zou bijvoorbeeld leesbaarder zijn als je bij namen de verschillende woorden makkelijker herkenbaarder te maken, door ze bijvoorbeeld te laten beginnen met een hoofdletter (dit wordt ook wel camelCasing genoemd). Ook het consistent gebruiken van white space helpt veel bij het leesbaar houden van je code.

Mag ik trouwens vragen waarom je Java wilt leren? Is het voor een opleiding? Of voor een hobby? :0

edit:: volgende keer wat sneller typen :[

[ Voor 3% gewijzigd door kaesve op 20-02-2010 16:52 ]


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Lijkt mij dat je niet geleerd hebt voor je tentamen, overmoedig bent, en denkt 'dat doe ik wel even'.

Ik zeg: Doe je eigen huiswerk, en lees eerst eens hoofdstuk 1 van je boek (of het internet) voordat je met vragen komt.

Acties:
  • 0 Henk 'm!

  • the_nasty_one
  • Registratie: Maart 2010
  • Laatst online: 19-07 10:13
Leuk dat jullie hem helpen , en jullie hebben wel gelijk , de code ziet er idd zeker wel slordig uit.

Maar wel jammer dat jullie dit 3 keer moeten aanhalen en er precies nog plezier aan beleven ook.


Ieder van ons heeft leren programeren , en niemand van ons heeft het de eerste keren beter gedaan.
Dit is een goeie manier om leergierige , bedreven mensen af te schrikken van het programeren die het echt wel willen leren maar nog in een beginnende fase zitten....

Aan alles is een begin.

to beer or not to beer!


Acties:
  • 0 Henk 'm!

  • Tharulerz
  • Registratie: April 2009
  • Laatst online: 10-04 05:16
the_nasty_one schreef op zondag 28 maart 2010 @ 14:43:
Leuk dat jullie hem helpen , en jullie hebben wel gelijk , de code ziet er idd zeker wel slordig uit.

Maar wel jammer dat jullie dit 3 keer moeten aanhalen en er precies nog plezier aan beleven ook.


Ieder van ons heeft leren programeren , en niemand van ons heeft het de eerste keren beter gedaan.
Dit is een goeie manier om leergierige , bedreven mensen af te schrikken van het programeren die het echt wel willen leren maar nog in een beginnende fase zitten....

Aan alles is een begin.
Dat is ook de bedoeling. Tweakers.net is niet de plaats om te leren programmeren, en zeker niet om je huiswerk door ons te laten maken.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
the_nasty_one schreef op zondag 28 maart 2010 @ 14:43:
Leuk dat jullie hem helpen , en jullie hebben wel gelijk , de code ziet er idd zeker wel slordig uit.

Maar wel jammer dat jullie dit 3 keer moeten aanhalen en er precies nog plezier aan beleven ook.


Ieder van ons heeft leren programeren , en niemand van ons heeft het de eerste keren beter gedaan.
Dit is een goeie manier om leergierige , bedreven mensen af te schrikken van het programeren die het echt wel willen leren maar nog in een beginnende fase zitten....

Aan alles is een begin.
Daar hoef je geen oude koe voor uit de sloot te trekken (die waarschuwing over dat de laatste reactie al meer dan 2 weken geleden is staat er niet voor niets). En daarbij is GoT wel een forum waar we er van uit gaan dat men enige basiskennis heeft; het niveau ligt hier gewoon wat hoger.

Inderdaad, iedereen is ooit ergens begonnen en we hebben allemaal zeker onze fair share aan fouten gemaakt. Toch voegt je reactie weinig toe aan de discussie; zeker niet na deze tijd nog. Graag verzoek ik je dan ook voortaan on-topic te reageren en alleen oude koeien uit de sloot te trekken als je écht iets toe te voegen hebt.
the_nasty_one schreef op zondag 28 maart 2010 @ 14:43:
Maar wel jammer dat jullie dit 3 keer moeten aanhalen en er precies nog plezier aan beleven ook.
Als je goed had gekeken had je gezien dat alle reactie, op de laatste na, binnen een paar minuten van elkaar geplaatst zijn. De kans is groot dat al deze personen aan het typen waren (of even koffie halen of...) toen ze hun reactie plaatsten. Het is niet alsof het 3 keer aangehaald wordt om te pesten ofzo. En waar je vandaan haalt dat er plezier aan wordt beleefd is mij een raadsel.

Anyhow; dit is wel afgehandeld en kan wegens gebrek aan verdere discussiewaarde dus wel voorzien worden van een hangijzer.

[ Voor 3% gewijzigd door RobIII op 28-03-2010 14:53 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.