abonnement Unibet Coolblue
pi_182988406


Welkom in het Algemene Dev Topic! *O*
Gezien er veel losse topics liepen over programmeren hebben we besloten verder te gaan met één generiek topic. Je kunt hier gezellig ouwehoeren over projecten waar je mee bezig bent, het gereedschap dat je hiervoor gebruikt, vragen stellen, en ga zo maar door!

De vaste users in dit topic beschikken over een enorme dosis kennis en kunnen je, wanneer je ergens niet uit komt, met van alles helpen. Probeer alleen wel eerst zelf een oplossing te vinden voor je probleem, want zo leer je natuurlijk het meest!

Daarnaast er zijn meer dan genoeg meetups.com te vinden waar je kan leren programmeren. Zoveel doelen / mensen , vertel je project! Deel je smaad en problemen. Doel is om constructief te wezen en naar oplossingen te zoeken.

DevFreak Tutorials (te vinden bij de sticky topics van DIG):
DIG / [tutorial] Hoe configureer je een nieuwe Linux-server?

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
*O* Wees welkom! *O*
pi_182988411
Ja hallo, wel even een nieuw deeltje openen dan he! :P
pi_183007953
Sorryyyyyyyy had het niet door |:(

Maar even mijn laatste bericht opnieuw:

Ik heb de tic tac toe helemaal af en werkend. Is er ook een manier om de boel zelfstandig te draaien? Zonder dat ik .class bestanden met de jvm moet aanroepen....iets executables, of in de browser draaibaars...

[edit]
Volgens mij heb ik hier het antwoord...

https://docs.oracle.com/j(...)ained-packaging.html
[/edit]

[ Bericht 26% gewijzigd door uppie83 op 08-11-2018 11:41:18 ]
ウプピエ 八十三 << u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
pi_183621690
Dooie boel hier :Z

Iemand die mij kan helpen met het vraagstuk over volgorde van initialisatie. Ik begrijp dat superclassen voorgaan op subclassen. (of parent op child, wat je wilt). Static initialisatie gebeurt bij het laden van de class, instantie initialisatie bij de creatie van een nieuwe instantie, maar nog voor de constructor van diezelfde class runt. Als laatste finished de constructor van de class. En hop door naar de subclass.

Maar wanneer laad een class precies waardoor de static initialisatie plaatsvindt? Is dit al wanneer je de class noemt bij bv extend? Of wanneer de jvm het bestand inlaad?

Ik had namelijk de volgende oefenvraag:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Bird {
  { System.out.print("b1 "); }
  public Bird()  { System.out.print("b2 "); }
}
class Raptop extends Bird {
  static { System.out.print("r1 "); }
  public Raptor() { System.out.print("r2 "); }
  { System.out.print("r3 "); }
  static { System.out.print("r4 "); }
}
class Hawk extends Raptor {
  public static void main(String[] args) {
    System.out.print("pre ");
    new Hawk();
    System.out.print("hawk ");
  }
}

Het juiste antwoord is: r1 r4 pre b1 b2 r3 r2 hawk
Ik snap alleen niet helemaal waarom dus r1 en r4 als eerste komen :?
ウプピエ 八十三 << u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
  zondag 9 december 2018 @ 11:52:44 #5
85514 ralfie
!Yvan eht nioj
pi_183622032
blijkbaar beginnen we in class Hawk (daar is main gedefinieerd)
de statische delen van Hawk worden daardoor geinitialiseerd, en daarmee ook de statische delen van Raptor en Bird. En daar staan r1 en r4
pi_183624361
quote:
0s.gif Op zondag 9 december 2018 11:52 schreef ralfie het volgende:
blijkbaar beginnen we in class Hawk (daar is main gedefinieerd)
de statische delen van Hawk worden daardoor geinitialiseerd, en daarmee ook de statische delen van Raptor en Bird. En daar staan r1 en r4
Dus doordat Hawk deze classen extend worden de static inits van alle drie de classen aangeroepen (en afgelopen van super naar sub, ofwel van Bird naar Hawk) ??? Hoe werkt dat dan met classen die je wel aanroept maar niet extend? Gaat het dan om de eerste aanroep? Bv door een static member van die class of toch ook door het creeeren van een instantie van die class?
ウプピエ 八十三 << u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
pi_183625236
Ja zeker dood. ;(

Mede mijn schuld, moet even de balans vinden tussen sport studie en hobby projecten. Dan ben ik hier snel weer vaker.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_183626162
quote:
0s.gif Op zondag 9 december 2018 11:52 schreef ralfie het volgende:
blijkbaar beginnen we in class Hawk (daar is main gedefinieerd)
de statische delen van Hawk worden daardoor geinitialiseerd, en daarmee ook de statische delen van Raptor en Bird. En daar staan r1 en r4
quote:
0s.gif Op zondag 9 december 2018 14:45 schreef uppie83 het volgende:

[..]

Dus doordat Hawk deze classen extend worden de static inits van alle drie de classen aangeroepen (en afgelopen van super naar sub, ofwel van Bird naar Hawk) ??? Hoe werkt dat dan met classen die je wel aanroept maar niet extend? Gaat het dan om de eerste aanroep? Bv door een static member van die class of toch ook door het creeeren van een instantie van die class?
quote:
1s.gif Op zondag 9 december 2018 15:52 schreef FlippingCoin het volgende:
Ja zeker dood. ;(

Mede mijn schuld, moet even de balans vinden tussen sport studie en hobby projecten. Dan ben ik hier snel weer vaker.
Nou, ik ben inmiddels ook weer van de partij :D
Heb even stilgezeten maar ik ga weer een nieuw PHP-project op touwen zetten. Gaat een videowebsite worden voor volwassenen :P

Ik ga er circa anderhalve maand voor uittrekken. Als ie klaar is ga ik hem wel een beetje promoten in KPD ofzo. :')

[ Bericht 3% gewijzigd door #ANONIEM op 09-12-2018 17:51:14 ]
  zondag 9 december 2018 @ 19:02:26 #9
85514 ralfie
!Yvan eht nioj
pi_183628294
quote:
0s.gif Op zondag 9 december 2018 14:45 schreef uppie83 het volgende:

[..]

Dus doordat Hawk deze classen extend worden de static inits van alle drie de classen aangeroepen (en afgelopen van super naar sub, ofwel van Bird naar Hawk) ??? Hoe werkt dat dan met classen die je wel aanroept maar niet extend? Gaat het dan om de eerste aanroep? Bv door een static member van die class of toch ook door het creeeren van een instantie van die class?
De eerste keer dat je een class gebruikt, dwz een statische methode van aanroept OF instantieerd, dat is het moment waarop alle statische initializers/constructors aangeroepen worden binnen die klasse en alle supers ervan. Extenden is geen actie die statische methodes zal activeren, wel het uitvoeren van een statische methode binnen een klasse (dus main() in Hawk). Wanneer de class extended is van een andere class, wordt ook van die class alle statische initializers/constructors aangeroepen.

De volgorde lijkt me inderdaad altijd van super naar sub, dat lijkt me het meest logische. Of dat in java ook is weet ik niet; die taal blinkt over het algemeen niet uit in logische werking.
  Moderator zondag 9 december 2018 @ 19:58:39 #10
27682 crew  Bosbeetle
terminaal verdwaald
pi_183629430
quote:
16s.gif Op woensdag 17 oktober 2018 19:22 schreef FlippingCoin het volgende:

[..]

Jij was destijds bezig met iets wat je in een journal zou komen of zo toch?

Saúdos Flip.
Vandaag geaccepteerd *O* dat wordt mijn eerste software artikel en mijn eerste laatse auteurschap :)
En mochten we vallen dan is het omhoog. - Krang (uit: Pantani)
My favourite music is the music I haven't yet heard - John Cage
Water: ijskoud de hardste - Gehenna
pi_183630282
quote:
1s.gif Op zondag 9 december 2018 19:58 schreef Bosbeetle het volgende:

[..]

Vandaag geaccepteerd *O* dat wordt mijn eerste software artikel en mijn eerste laatse auteurschap :)
Gaaf gefeliciteerd man, dat is wel erg goed nieuws. _O_ ^O^

Binnenkort dus te lezen? :o

Trân trọng Flip.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  Moderator zondag 9 december 2018 @ 20:58:11 #12
27682 crew  Bosbeetle
terminaal verdwaald
pi_183630616
quote:
16s.gif Op zondag 9 december 2018 20:40 schreef FlippingCoin het volgende:

[..]

Gaaf gefeliciteerd man, dat is wel erg goed nieuws. _O_ ^O^

Binnenkort dus te lezen? :o

Trân trọng Flip.
Jup moet nog gelayout worden etc en dan komt hij erin :)
En mochten we vallen dan is het omhoog. - Krang (uit: Pantani)
My favourite music is the music I haven't yet heard - John Cage
Water: ijskoud de hardste - Gehenna
pi_183632156
quote:
1s.gif Op zondag 9 december 2018 20:58 schreef Bosbeetle het volgende:

[..]

Jup moet nog gelayout worden etc en dan komt hij erin :)
Dat is wel echt een gaaf iets. ^O^

Laat je het weten wanneer het af is? O-)

Cofion cynnes Flip.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
  Moderator zondag 9 december 2018 @ 22:29:39 #14
27682 crew  Bosbeetle
terminaal verdwaald
pi_183632195
quote:
16s.gif Op zondag 9 december 2018 22:27 schreef FlippingCoin het volgende:

[..]

Dat is wel echt een gaaf iets. ^O^

Laat je het weten wanneer het af is? O-)

Cofion cynnes Flip.
^O^ dan dm ik een linkje :D verwacht niet te veel hoor :P
En mochten we vallen dan is het omhoog. - Krang (uit: Pantani)
My favourite music is the music I haven't yet heard - John Cage
Water: ijskoud de hardste - Gehenna
pi_183632280
quote:
1s.gif Op zondag 9 december 2018 22:29 schreef Bosbeetle het volgende:

[..]

^O^ dan dm ik een linkje :D verwacht niet te veel hoor :P
Cool. w/

Srdačni pozdravi Flip.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
pi_183640887
quote:
0s.gif Op zondag 9 december 2018 19:02 schreef ralfie het volgende:

De volgorde lijkt me inderdaad altijd van super naar sub, dat lijkt me het meest logische. Of dat in java ook is weet ik niet; die taal blinkt over het algemeen niet uit in logische werking.
Is in principe bij Java ook, het zit hem hier inderdaad in het verschil tussen aanroep en initialisatie.

https://docs.oracle.com/j(...)jls-12.html#jls-12.4

[ Bericht 5% gewijzigd door bagpiper001 op 10-12-2018 14:23:43 (Ik moet de gequote tekst beter lezen :')) ]
pi_183648107
quote:
0s.gif Op zondag 9 december 2018 19:02 schreef ralfie het volgende:

[..]

De eerste keer dat je een class gebruikt, dwz een statische methode van aanroept OF instantieerd, dat is het moment waarop alle statische initializers/constructors aangeroepen worden binnen die klasse en alle supers ervan. Extenden is geen actie die statische methodes zal activeren, wel het uitvoeren van een statische methode binnen een klasse (dus main() in Hawk). Wanneer de class extended is van een andere class, wordt ook van die class alle statische initializers/constructors aangeroepen.

De volgorde lijkt me inderdaad altijd van super naar sub, dat lijkt me het meest logische. Of dat in java ook is weet ik niet; die taal blinkt over het algemeen niet uit in logische werking.
Volgens mij begrijp ik het.

1
2
3
4
5
6
7
8
9
10
11
12
class A{
  static { System.out.print("A "); }
}
class B extends A{
  static { System.out.print("B "); }
}
class C extends B{
static { System.out.print("C "); }  
public static void main(String[] args){
    System.out.print("Main ");
  }
}

Even ter simplificatie zou dit dus
A B C Main
printen, omdat de static main methode van class C wordt aangeroepen (door de JVM?) waardoor C wil static initialiseren, maar eerst de beurt doorgeeft aan B om te static initialiseren, en die op zijn beurt weer de beurt doorgeeft aan A om te static initialiseren. Hier is verder geen superclass van, waardoor de stack wordt afgelopen.
ウプピエ 八十三 << u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
  Moderator maandag 10 december 2018 @ 20:20:46 #18
27682 crew  Bosbeetle
terminaal verdwaald
pi_183648467
lama
En mochten we vallen dan is het omhoog. - Krang (uit: Pantani)
My favourite music is the music I haven't yet heard - John Cage
Water: ijskoud de hardste - Gehenna
pi_183669050
boolean x = ((5<7) || (++count < 10)); waarbij count start met de waarde 0.

Hier wordt X true en count blijft 0.

Dit snap ik niet aangezien bij de operator precedence als eerste in de binnenste haakjes wordt gewerkt, en bovendien de increment operators op de eerste plek staan wat betreft verwerking. In mijn ogen hoort het dus dit te doen:

1
2
3
4
((5<7) || (++count < 10))
(true || (++count < 10))
(true || (1 < 10))           -- count wordt hier 1
(true || true)                 -- pas hier zijn alle binnenste haakjes weggewerkt en wordt enkel de linker operand bekeken.
ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
  dinsdag 11 december 2018 @ 23:12:59 #20
85514 ralfie
!Yvan eht nioj
pi_183672736
quote:
0s.gif Op dinsdag 11 december 2018 20:47 schreef uppie83 het volgende:
boolean x = ((5<7) || (++count < 10)); waarbij count start met de waarde 0.

Hier wordt X true en count blijft 0.

Dit snap ik niet aangezien bij de operator precedence als eerste in de binnenste haakjes wordt gewerkt, en bovendien de increment operators op de eerste plek staan wat betreft verwerking. In mijn ogen hoort het dus dit te doen:
[ code verwijderd ]

deel twee van je code (na ||) wordt niet uitgevoerd omdat het deel ervoor al true is. Dan maakt het resultaat van deel twee dus niet meer uit voor je berekening. Dat je daarbinnen ++count doet is irrelevant.
pi_183687487
quote:
0s.gif Op dinsdag 11 december 2018 23:12 schreef ralfie het volgende:

[..]

deel twee van je code (na ||) wordt niet uitgevoerd omdat het deel ervoor al true is. Dan maakt het resultaat van deel twee dus niet meer uit voor je berekening. Dat je daarbinnen ++count doet is irrelevant.
Dus ik reken bij een && of een || eigenlijk altijd eerst de linkerkant weg.

------------------------

Andere vraag die ik net tegenkwam, hoofdstukje verder:

1
2
3
4
5
6
7
public static void main(String[] args){
  try{
    System.out.println("Work real hard");
  } catch (______________ e){
  } catch (RuntimeException e){
  }
}

Waarom mag op het lijntje geen IOException? Ik ken alleen de regel dat er geen algemenere classen boven specifiekere classen mogen staan. Volgens mij vallen beide onder Exception.
ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
pi_183834434
quote:
0s.gif Op woensdag 12 december 2018 19:34 schreef uppie83 het volgende:

[..]

Dus ik reken bij een && of een || eigenlijk altijd eerst de linkerkant weg.

------------------------

Andere vraag die ik net tegenkwam, hoofdstukje verder:
[ code verwijderd ]

Waarom mag op het lijntje geen IOException? Ik ken alleen de regel dat er geen algemenere classen boven specifiekere classen mogen staan. Volgens mij vallen beide onder Exception.
Antwoord was omdat er geen juiste import bij stond.

Anyway, vandaag mijn OCA test gedaan en behaald *O*

Bedankt allemaal
ウプピエ 八十三 &lt;&lt; u-pu-pi-e hachi-ju-san, ik denk ik zeg het er maar ff bij :P
pi_183860680
Lol. Wat hebben ze in hemelsnaam gedaan met de Ubuntu-distributie? Unity werkte echt geweldig maar sinds 18.04 is het echt bagger. Net 18.10 geprobeerd, valt zelfs niet mee te werken. Menu's van programma's zitten weer in het venster zelf en niet meer in het balkje bovenin. :r

Je kunt zelfs niet meer zoeken naar functies met Alt. :r

Het was allemaal prima. Ze hadden nooit moeten kappen met het project. Eeuwig zonde dit. :'(
  Moderator maandag 7 januari 2019 @ 09:33:00 #24
27682 crew  Bosbeetle
terminaal verdwaald
pi_184256045
En mochten we vallen dan is het omhoog. - Krang (uit: Pantani)
My favourite music is the music I haven't yet heard - John Cage
Water: ijskoud de hardste - Gehenna
pi_184495092
kick!
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')