Toon posts:

[Java] interfaces

Pagina: 1
Acties:
  • 126 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
morgen exaam van java

vraagje
wanneer moet er in een interface

abstrat worden gezet bij de methodes

dus

interface Intie
{
public abstract pampam(...){};
...
}

nog een vraagje, is het zo dat in interfaces ook constanten kunnen worden opgenomen, constanten, geen variabelen dus, dt is onmogelijk, dat weet ik

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

antwoord op vraag2:
constanten mag je gerust declareren in een interface.

antwoord op vraag1:
hmmm... als je een interface maakt dan moet heb object die die interface implementeerd sowieso die methodes overriden (tenzij object ook abstract is). Dus ik snap eerlijk gezegd niet waarom je bij een interface abstract bij een methode neer zou mogen zetten. Ik zou ook wel eens willen weten waarom :)

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Er is een verschil tussen een interface en een abstracte klasse. Het nut van een interface met abstracte methods ontgaat me een beetje eerlijk gezegd.

Interfaces definieren alleen methodes.

Mmm meningsverschil met alarmnummer, ik twijfelde dus ik denk dat hij gelijk heeft.

denk denk, hij heeft gelijk ;)
nu weet ik het weer :)

of het mooi is is een 2e ;)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Volgens mij is het redundant :) beetje dom dus van sun.

ik vind elke vorm van misleiding vervelend. Het voegt niets toe aan de taal en maakt het daarom onnodig complexer.

zelfde geld voor volgorde access modifiers ed.

Verwijderd

Topicstarter
dankjewel

kan ik morrege op het exaam aanhalen

GruBen

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op dinsdag 22 januari 2002 12:36 schreef Alarmnummer het volgende:
Volgens mij is het redundant :) beetje dom dus van sun.
De ronde circel, irritante rtl4, abstracte interface methode :)

  • Tomatrix
  • Registratie: Juni 1999
  • Laatst online: 27-02-2025
Alle methodes in een interface zijn per definitie abstract, het keyword 'abstract' hier ook nog 's aan toevoegen is dus dubbelop.

Verwijderd

Topicstarter
ehm nog een vraagje

package acces
dit betekent dat de klasses in dezelfde file staan toch, niet?

toch niet dat ze gewoon in het zelfde package staat
bv usefulclasse\libin\patat\org

want hier wordt aangehaald dat die dan aan elkaars variabelen kunnen

dus package acces is dan wel gewoon in dezelfde file niet?

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Wanneer variabelen default exces hebben (dus geen private, public of protected ervoor). Kunnen alle classes binnen die package de variabelen aan.
Dat is package access.

Of ze in dezelfde file staan maakt niet uit.
De compiler maakt van verschillende classes zoiezo verschillende .class bestanden

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op dinsdag 22 januari 2002 13:19 schreef Noble_Paladin het volgende:
ehm nog een vraagje

package acces
dit betekent dat de klasses in dezelfde file staan toch, niet?

toch niet dat ze gewoon in het zelfde package staat
bv usefulclasse\libin\patat\org

want hier wordt aangehaald dat die dan aan elkaars variabelen kunnen

dus package acces is dan wel gewoon in dezelfde file niet?
Ik geloof het niet. Package access betekend dat iedereen van die package erbij kan. Maar die access modifiers van sun die zijn nogal een potje wazig (slecht ontworpen) :) Momentje.. ik kijk even.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

met protected heb je ook package access.. Niet alleen de kinderen van een bepaald object hebben toegang tot een veld maar ook iedereen in die package :+

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op dinsdag 22 januari 2002 13:25 schreef Alarmnummer het volgende:

[..]

Ik geloof het niet. Package access betekend dat iedereen van die package erbij kan. Maar die access modifiers van sun die zijn nogal een potje wazig (slecht ontworpen) :) Momentje.. ik kijk even.
Die access modifiers zijn ontzettend duidelijk :)

je hebt:
public - alle classes mogen er diret aankomen
protected - alle classes binnen de dezelfde package en alle subclasses kunnen de var's aan
<default> - alle classes binnen dezelfde package kunnen de var aan, maar niet de subclasses
private: alle de eigen class (ook andere objecten van dezelfde class) en innerclasses mogen de var's aan

:)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

:) Maar ik vraag me eerlijk gezegd af waar package access in godsnaam goed voor is. Oke.. je kan makkelijker bij variablen komen, maar dan kan je net zo goed alles public maken. Ik scherm ze altijd af en als ik zeg protected mogen alleen de kinderen erbij en de rest moet eraf blijven. Dit is niet mogelijk en dit is een van de redenen dat ik het een slecht ontwerp vind. Ze hadden een nieuwe access modifier erbij moeten doen.

kidsOnly :)

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op dinsdag 22 januari 2002 13:32 schreef Alarmnummer het volgende:
:) Maar ik vraag me eerlijk gezegd af waar package access in godsnaam goed voor is. Oke.. je kan makkelijker bij variablen komen, maar dan kan je net zo goed alles public maken. Ik scherm ze altijd af en als ik zeg protected mogen alleen de kinderen erbij en de rest moet eraf blijven. Dit is niet mogelijk en dit is een van de redenen dat ik het een slecht ontwerp vind.
Gewoon private en getters & setters dus ;)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op dinsdag 22 januari 2002 13:33 schreef wasigh het volgende:

[..]

Gewoon private en getters & setters dus ;)
Maar dan word het weer traag, kidsonly zou ik erugh fijn hebben gevonden. Er is toch ook nog een private protected access modifier geweest??? (Staat me bij in een heeeel oud java boek).

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op dinsdag 22 januari 2002 13:35 schreef Alarmnummer het volgende:

[..]

Maar dan word het weer traag, kidsonly zou ik erugh fijn hebben gevonden. Er is toch ook nog een private protected access modifier geweest??? (Staat me bij in een heeeel oud java boek).
mmm niet dat ik weet iig..
nu ben ik natuurlijk nog een broekie ;)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

:) maar hoe dan ook, ik gebruik nooit default. En protected gebruik ik als er kinderen zijn die bij een variable moeten. Ik ga nooit vanuit een ander object (ook al zit hij in de goeie package) rechtstreeks naar een variable. Dit gaat tegen een van de regels van OO design in: Encapsulation.

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Idd je hebt helemaal gelijk :)
Ik doe dat ook nooit :)

Maar heb dit allemaal moeten leren voor mijn sun examen ;) anders had ik het waarschijnlijk ook niet geweten ;)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op dinsdag 22 januari 2002 13:43 schreef wasigh het volgende:
Idd je hebt helemaal gelijk :)
Ik doe dat ook nooit :)

Maar heb dit allemaal moeten leren voor mijn sun examen ;) anders had ik het waarschijnlijk ook niet geweten ;)
Sun examen?? verlicht mij :)

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op dinsdag 22 januari 2002 13:45 schreef Alarmnummer het volgende:

[..]

Sun examen?? verlicht mij :)
* wasigh is sun certified programmer for the java 2 platform ;)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op dinsdag 22 januari 2002 13:48 schreef wasigh het volgende:

[..]

* wasigh is sun certified programmer for the java 2 platform ;)
Is dat hetzelfde als een MCSE ;)

Maar wat heeft het als voordeel?

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op dinsdag 22 januari 2002 13:54 schreef Alarmnummer het volgende:

[..]

Is dat hetzelfde als een MCSE ;)

Maar wat heeft het als voordeel?
Dat ik een papiertje heb waarop staat dat ik kan programmeren in Java ;)

het java engineer examen moet ik nog een keer halen ;)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op dinsdag 22 januari 2002 13:57 schreef wasigh het volgende:

[..]

Dat ik een papiertje heb waarop staat dat ik kan programmeren in Java ;)

het java engineer examen moet ik nog een keer halen ;)
En wat kost dit geintje? :)

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op dinsdag 22 januari 2002 14:17 schreef Alarmnummer het volgende:

[..]

En wat kost dit geintje? :)
Mij niks ;)

maar mijn boek koste iets van 150,- en het tentamen iets van 300,- geloof ik.

ik heb het examen gedaan bij http://www.newlevel.nl (in hedel) waarschijnlijk weten ze daar wel iets meer :)
overkoepelende organisatie is: http://www.prometric.com/
en ik denk dat ze bij sun ook wel meer weten ;)

deze dus: http://www.sun.nl/service/education/certification/index.html

  • Scorpion
  • Registratie: April 2000
  • Laatst online: 18-01-2024

Scorpion

not to lame to read BitchX.doc

Op dinsdag 22 januari 2002 13:54 schreef Alarmnummer het volgende:

[..]

Is dat hetzelfde als een MCSE ;)

Maar wat heeft het als voordeel?
SCJP != MSCE !!!!!!!!!

MSCE is een STUK gemakkelijker dan SCJP. ik ben helaas nog niet SCJP :'( wel examen gedaan btw.. heb je nog tips Wasigh?

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

veel leren en veel oefententamens maken..

Ik heb nog bijna nooit ergens voor geleerd, maar hier heb ik zeker 40 uur op geblokt en dan nog is het ontzettend pittig.

Ik zal eens kijken of ik wat voorbeeld vragen kan vinden ;)

  • Scorpion
  • Registratie: April 2000
  • Laatst online: 18-01-2024

Scorpion

not to lame to read BitchX.doc

Op dinsdag 22 januari 2002 14:40 schreef wasigh het volgende:
veel leren en veel oefententamens maken..

Ik heb nog bijna nooit ergens voor geleerd, maar hier heb ik zeker 40 uur op geblokt en dan nog is het ontzettend pittig.

Ik zal eens kijken of ik wat voorbeeld vragen kan vinden ;)
ik heb hier ook al heel wat oefen examens gemaakt... maar is schijnbaar nog niet genoeg... hoeveel procent had je btw?

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op dinsdag 22 januari 2002 14:41 schreef Scorpion het volgende:

[..]

ik heb hier ook al heel wat oefen examens gemaakt... maar is schijnbaar nog niet genoeg... hoeveel procent had je btw?
77%

kende java.util niet goed genoeg maar daar gingen ze ook echt over mierenneuken (method namen etc) hoeveel procent had je?

  • Scorpion
  • Registratie: April 2000
  • Laatst online: 18-01-2024

Scorpion

not to lame to read BitchX.doc

Op dinsdag 22 januari 2002 14:46 schreef wasigh het volgende:

[..]

77%

kende java.util niet goed genoeg maar daar gingen ze ook echt over mierenneuken (method namen etc) hoeveel procent had je?
nice... ik had 53%, kwam geloof ik uit op 3 vragen te veel fout :(

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op dinsdag 22 januari 2002 15:17 schreef Scorpion het volgende:

[..]

nice... ik had 53%, kwam geloof ik uit op 3 vragen te veel fout :(
Das idd flink balen.
Waar zaten de fouten? Ga je het nog een keer proberen?

  • Scorpion
  • Registratie: April 2000
  • Laatst online: 18-01-2024

Scorpion

not to lame to read BitchX.doc

Op dinsdag 22 januari 2002 15:18 schreef wasigh het volgende:

[..]

Das idd flink balen.
Waar zaten de fouten? Ga je het nog een keer proberen?
ik ga het zeker nog een keer proberen. uitslag formulier van die test heb ik ff niet bij de hand. weet wel dat ik garbage niet goed had (1 vraag) en awt 100% had

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
Op dinsdag 22 januari 2002 12:29 schreef Noble_Paladin het volgende:
...

interface Intie
{
public abstract pampam(...){};
...
}

nog een vraagje, is het zo dat in interfaces ook constanten kunnen worden opgenomen, constanten, geen variabelen dus, dt is onmogelijk, dat weet ik
Wat heb je dat trouwens eng gedaan joh?

Die abstract is in een interface volstrekt overbodig. Zeker op de manier zoals jij hem gebruikt.
Het is:
code:
1
2
3
4
5
6
7
interface Intie
{
public pampam(...);
// ja, zonder {}, enne {}; slaat nergens op.
// Het is altijd of {} of ; Een block of een statement.
...
}

of:
code:
1
2
3
4
5
class Intie // een interface is een heel ander concept als een abstract class.
{
public abstract pampam(...){} // Wederom, weg met die ;
...
}

  • Tomatrix
  • Registratie: Juni 1999
  • Laatst online: 27-02-2025
Op dinsdag 22 januari 2002 19:51 schreef The - DDD het volgende:

[..]
of:
code:
1
2
class Intie // een interface is een heel ander concept dan een abstract class.
}
Volgens mij valt dat wel mee, een interface is eigenlijk gewoon een puur abstracte klasse (pure virtual class in c++ termen geloof ik). Ik vraag me zelfs af of er functioneel gezien eigenlijk wel verschillen zitten tussen een interface of een pure abstracte klasse... maar het is al laat...ik zal wel het een en ander over het hoofd zien

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Ik denk dat er wel een klein verschil is:

Abstracte klassen zijn bedoeld voor het generaliseren van implementaties. Je kunt een deel van een klasse implementeren, terwijl een ander deel van deze klasse nog onbekend is. Je bereikt zo twee effecten:

* Hergebruik van code
* Je kunt een verzameling objecten generiek gebruiken zonder dat je de concrete implementatie kent.

Het doel van interfaces is om mogelijkheden en capaciteiten van een object aan te geven. Je kunt een klassen deze interface laten implementeren om aan te geven dat objecten van deze klasse bepaalde functionaliteit implementeren. Het doel hiervan:

* Je kunt een verzameling objecten generiek gebruiken zonder dat je de concrete implementatie kent.

Dat is dus hetzelfde doel als doel (2) van abstracte klassen. In de praktijk gebruik ik doel 2 van abstracte klassen echter zelden: ik realiseer dit altijd nog met een aparte interface die boven de abstracte klasse ligt. Ik denk dat dit ook een goede design-aanpak is. Je kunt ze dus wel voor hetzelfde gebruiken, maar je zou dat misschien moeten beperken? :)

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Tomatrix
  • Registratie: Juni 1999
  • Laatst online: 27-02-2025
Op dinsdag 22 januari 2002 23:48 schreef mbravenboer het volgende:
...
Natuurlijk heb je daar helemaal gelijk in, maar ik vroeg me de vorige post eigenlijk alleen af of je dezelfde OO-principes eigenlijk ook niet zonder interfaces kan bereiken, ongeacht of dit netter is of niet.

Meestal maak ik zelf ook eerst een interface en laat vervolgens een abstracte klasse de basisfunctionaliteit implementeren (wanneer dit gewenst is).

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Tomatrix: ik vroeg me de vorige post eigenlijk alleen af of je dezelfde OO-principes eigenlijk ook niet zonder interfaces kan bereiken, ongeacht of dit netter is of niet.
Ah ok :) . Tja, abstracte klassen met alleen maar abstracte methoden zouden in Java niet echt een oplossing zijn omdat er uiteraard geen multiple inheritance is... Je zou dan dus nooit een extra interface/abstracte klasse kunnen implementeren als je verplicht bent te inheriten van klasse bla... Ook meerdere abstracte klassen implementeren is onmogelijk. Dat schiet dus allemaal niet zo op in Java/C# ;) .
Meestal maak ik zelf ook eerst een interface en laat vervolgens een abstracte klasse de basisfunctionaliteit implementeren (wanneer dit gewenst is).
Dat is inderdaad ook mijn aanpak :) .

In de officiele C# guide-lines staat trouwens vermeldt dat je beter abstracte klassen kunt gebruiken dan interfaces omdat je extra uitbreidingen in de toekomst in deze abstracte klassen kunt implementeren en dus niet alle implementaties ongeldig maakt. Je zult vast begrijpen dat ik dat complete onzin en zeer slecht advies vind :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Tomatrix
  • Registratie: Juni 1999
  • Laatst online: 27-02-2025
Op woensdag 23 januari 2002 00:02 schreef mbravenboer het volgende:

[..]

Ah ok :) . Tja, abstracte klassen met alleen maar abstracte methoden zouden in Java niet echt een oplossing zijn omdat er uiteraard geen multiple inheritance is...
...inderdaad, ik zei gelukkig ook al in m'n post dat het al laat was :)
Pagina: 1