Object Interfaces

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Applicatieontwikkelaar Java EE

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving De afdeling IV –

Bekijk vacature »

Senior/Lead Python developer

Functie Samen met je team, bestaande uit een senior, 2 mediors en één junior ontwikkelaar ga je op een Agile-gebaseerde aanpak werken aan hun software. Je hebt oog voor kwaliteit, risico’s en klantbelang. Communicatie met je collega’s en waar nodig ook met klanten speelt een belangrijke rol in het bereiken van een succesvol resultaat. Als persoon ben je slim, krijg je dingen voor elkaar en ga je resultaatgericht te werk. Binnen het development team is er veel zelfstandigheid, los van de stand-up (10:00 uur) en zo nu en dan pair-programming sessies. Technieken die zij gebruiken zijn o.a. Python, Django, MySQL,

Bekijk vacature »

Ervaren Full-Stack PHP Developer

Functieomschrijving Gezocht! Ervaren PHP Developer! Voor een organisatie in de regio Harderwijk zoeken wij een ervaren PHP Developer die het IT team van dit bedrijf gaat versterken. We zijn op zoek naar een enthousiaste en breed georiënteerde IT-er die het innovatieve bedrijf nog een stap verder kan brengen. Voor deze functie zoeken wij iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je werkt samen met een externe ontwikkelpartij en kunt hun dus uitdagen op het geleverde werk. Het schrijven van concepten aan de AI en hardware kant valt onder je verantwoordelijkheden. Het bedrijf noemt zichzelf een

Bekijk vacature »

C# Developer Research and Development - Delft

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Delft Vacature ID: 6307 Introductie C# Developer Research and Development - Delft - Onze klant is één van de meest innovatieve bedrijven in de region van Delft. Op dit moment zijn ze voor het innovatie centrum. In het innovatie centrum wordt gewerkt aan de nieuwste technieken voor navigatie software. R&D / C# / Pattern Recognition / Algorithms / 3d Data / DotNET Functieomschrijving Als C# Developer kom je te werken in een innovatief scrumteam. We ontwikkelen en door ontwikkelen de nieuwste technieken op het gebied van navigatie software. Deze software wordt onder andere

Bekijk vacature »

.NET Developer te Naarden

Bedrijfsomschrijving Voor mijn klant ben ik op zoek naar een .NET Developer om het huidige team te komen versterken. Deze organisatie bevindt zich in de logistieke sector, en zij hebben een eigen ERP systeem ontwikkeld dat zij inzetten ter optimalisatie van de logistieke processen van haar eindklanten. Deze organisatie bestaat inmiddels al ruim 20 jaar, waarbij zij een duidelijke missie hebben, namelijk: het werk van de eindklant makkelijker maken door de systemen die zij leveren. Ze werken over heel de wereld, wat deze organisatie een echte internationale speler maakt. Binnen de organisatie kenmerken ze zich door een dynamische en professionele

Bekijk vacature »

Ervaren PHP Developer

Functie omschrijving Jelling IT zoekt ervaren PHP developer! Voor een organisatie in de regio Rhenen zijn wij op zoek naar een ervaren PHP developer die gaat functioneren als een verlengstuk van de klant. Jij bent iemand die technisch complexe zaken met enthousiasme aanvliegt. Je bent in staat om aan meerdere projecten te werken en werkt graag met de nieuwste technieken. In deze functie werk je veel samen met front-end developers en stel je alles in het werk om grote verschillen voor de klanten teweeg te brengen. Verder ben jij iemand die graag zichzelf uitdaagt en die altijd de beste wilt

Bekijk vacature »

Software Ontwikkelaar PHP

Functie omschrijving Full Stack Software Ontwikkelaar gezocht! Voor een bedrijf in de regio van Ermelo zijn wij op zoek naar een Software Ontwikkelaar die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van SaaS applicatie van dit bedrijf. Hierbij ga jij voor- en samenwerken met de klanten van de organisatie, het is hierbij dus van groot belang dat je communicatief vaardig bent en dat je beschikt over beheersing van zowel de Nederlandse als Engelse taal. Bedrijfsprofiel Waar ga je werken? Altijd al in een echt familiebedrijf willen werken? Dan is dit je kans! Het bedrijf waar je komt te

Bekijk vacature »

Delphi developer

Functie Als Delphi developer ga jij aan de slag in een team met twee andere ervaren Delphi programmeurs waaronder de Hoofd programmeur. Als team zijn jullie verantwoordelijk voor de doorontwikkeling van jullie bestaande applicatie. Daarnaast zijn jullie verantwoordelijk voor het onderhouden van deze applicatie en het oplossen van eventuele bugs. Eisen - HBO werk en denk niveau; - Minimaal één jaar ervaring met Delphi; - Goede beheersing van de Nederlandse taal in woord en geschrift; - Jij bent zelfstandig, maar kan ook in team verband werken. Aanbod - €3000,-- €4000,- op basis van jouw kennis en ervaring; - 8% vakantiegeld;

Bekijk vacature »

C# Developer

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Door middel van ASP.NET, MVC Framework en C# ga je webshops, websites en webapplicaties ontwikkelen. Je zorgt voor de optimalisatie van bestaande software en de automatisering van bedrijfsprocessen. Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Bedrijfsprofiel

Bekijk vacature »

Backend Developer Integraties API HBO REST

Samengevat: Deze werkgever is een IT-consultancy. Wil jij werken als Backend Developer Integraties? Heb jij kennis van gangbare berichtformaten? Vaste baan: Backend Developer Integraties API HBO €3.100 - €4.400 Zij bieden innovatieve oplossingen die bedrijven efficiënter en wendbaarder maken, waardoor onze klanten zich net zo snel kunnen ontwikkelen als de business van hen vraagt. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot en ingewikkeld. Hou jij van diepgang

Bekijk vacature »

E-Identity Developer met Projectleider Kwaliteiten

Functieomschrijving Voor de kamer van koophandel zijn we op zoek naar een E-Identity developer met projectleider kwaliteiten. Voor deze opdracht zoekt KVK een Informatieanalist met Technisch Projectleider en ICT developer kwaliteiten, met kennis van E-identity. We zoeken in de breedte en niet specifiek in de diepte qua skillset. Een Junior Projectmanager, een Junior Informatieanalist, een Junior Developer (full stack), een Junior Designer en een Junior ICT architect ineen, met een sterk gevoel van stakeholder management en planning vaardigheden. Door de internationale setting, én de realisatie van ontsluiting van en naar basisregisters toe zijn wij op zoek naar enige ervaring binnen

Bekijk vacature »

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Front-end developer wanted! (Angular, React, Vue.j

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Front-end Developer (HTML/CSS, Angular/React/Vue,

Functie Je zal aan de slag gaan in een klein, hecht team met front-end development experts die de ambitie delen mooi werk te leveren. Samen met hen zal je werken aan het gebruiksvriendelijk en interactief maken van complexe webapplicaties, websites en mobile apps. Je levert klanten wat ze nodig hebben terwijl je actief aan jezelf blijft werken met de ondersteuning vanuit je werkplek. Talen als Javascript programmeer jij vloeiend en je hebt kennis van frameworks als React en Angular. Je zou je het liefst nog veel meer ontwikkelen in verschillende front-end talen. Deze kennis deel je graag met je collega’s,

Bekijk vacature »

Full-stack developer

Als Full-stack developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Samen met je SCRUM team werk je aan zowel de front- als de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en echt het verschil te kunnen maken. Ons ontwikkelteam bestaat uit ruim 40 ontwikkelaars, testers, scrum

Bekijk vacature »
Patrick

patrick

21/02/2008 14:46:00
Quote Anchor link
Wat is het voordeel van gebruiken van interfaces in OOP.
Waarvoor gebruik je het?
 
PHP hulp

PHP hulp

23/11/2024 15:18:08
 
Lode

Lode

21/02/2008 14:55:00
Quote Anchor link
Een interface is een patroon voor een class.
Dwz. De interface bepaald dat een class een aantal functies MOET hebben.

Dit kan je ook met abstract classes bereiken. Met het verschil:
1) Dat een abstract class ge-extend moet worden. (kan maar 1x)
2) Dat een abstract class functies/merthods ook daadwerkelijk kan defineren en je ze kan oever-erven....

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
interface schaap{
    
    public function test($id);
}

class broodje implements schaap{
//moet dus functie test hebben met 1 param $id
      
     public function __construct(){
         return;
     }
}

/// test geeft error omdat er geen functie test($id) is
new broodje;
?>


abstract:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
abstract class schaap{
  
    public function __construct(){
        echo __CLASS__.'::'.__FUNCTION__.'<br/>'.PHP_EOL;
    }

    abstract public function test($id); // interface-achtige definitie
}
class broodje extends schaap{
    
    // geen error omdat we functie hebben gedefineerd!
    public function test($id){
         echo $id.'<br/>'.PHP_EOL;
    }
}

/////////////
new broodje; //erf __constructor uit abstract...
?>


Gewoon proberen en testen, je komt er vanzelf achter ;)
 
Bo az

Bo az

21/02/2008 15:03:00
Quote Anchor link
Een kleine toevoeging op Lode,
Je hoeft dus niet te weten van welke klasse je instantie is om er iets mee te kunnen, dat kan ook als je weet dat deze een bepaalde interface implementeert.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
interface Verplaatsbaar {
    public function verplaats;
}


class Auto implements Verplaatsbaar {
    private position = 0;

    public function verplaats() {
        $this->position++;
    }

}


$auto = new Auto();

// Zonder te weten of je met een auto te maken hebt kan je 'm wel verplaatsen.
if($auto instanceof Verplaatsbaar) $auto->verplaats();
?>
 
Patrick

patrick

21/02/2008 15:07:00
Quote Anchor link
Ik snap nog het nut niet van interfaces.
Je maakt een interface met de public functie's er in van een classe.
Maar waarom zou je dat doen?
Ik bedoel als ik een classe maak met ook een interface er bij en haal later die interface weg, dan blijft de output hetzelfde.
Dus waarom zou ik dan een interface maken?
 
Lode

Lode

21/02/2008 15:12:00
Quote Anchor link
OOP gaat over Single-Responseabilty-Pricipal
oftewel iedere class zijn eigen domein, met daarin functies voor hun eigen taak binnen dat domein...

Met een interface stel je een aantal vaste functies vast die aanwezig MOETEN zijn!

kijk ook eens naar http://www.php.net/spl/

Met abstract classes kan je dergelijke functies ook invullen en over-erven naar de uiteindelijke classes...

EDIT:

persoonlijk voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
class result extends mysqli_result implements Itterator{

}

?>


EDIT2:
@boaz:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
interface Verplaatsbaar {
    public function verplaats;
}

?>


functies zijn case-insensitive dus is misschien een beetje slecht voorbeeld van een php4 constructor? of zie ik het verkeerd ?
MY BAD... ik ben scheel...
Gewijzigd op 01/01/1970 01:00:00 door Lode
 
Jelmer -

Jelmer -

21/02/2008 16:35:00
Quote Anchor link
Merk op dat je zo veel interfaces als je maar wilt in 1 klasse kan implementeren - zolang je maar aan de voorwaarden voldoet die de interface afdwingt.

Vreemd voorbeeld, maar toch even. Stel, je hebt een interface genaamd 'gemotoriseerd vaartuig'. Wil je die interface implementeren dan moet je ding ook een nummerplaatje hebben, dat stelt de interface verplicht. Nu heb je een garage, waar alleen instanties van 'gemotoriseerde vaartuigen' naar binnen mogen, omdat zo de eigenaar van de garage zeker weet dat alles wat binnenkomt een nummerplaat heeft en hij de mensen die uitrijden zonder te betalen kan identificeren. Of het nu een motor, auto, quad of tank is, zolang het ding voldoet aan de interface 'gemotoriseerd vaartuig' en hem ook implementeert, mag hij de garage in. Fietsen niet, want die hebben geen nummerbord, en kunnen dus onmogelijk 'gemotoriseerd vaartuig' implementeren.

Met interfaces weet je wat voor vlees je in de kuip hebt. Het is zeg maar een soort toelatingsexamen. Methods & functies kunnen een interface afdwingen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
interface DopHebbendObject {
    public function openDop();
    public function sluitDop();
}


class Plopper {
    public function plop(DopHebbendObject $ding) {
        $ding->openDop();
    }
}

?>

Ik hoef niet te weten wat $ding is, maar als het niet DopHebbendObject implementeert, gaat PHP met fouten gooien. Ik weet dus zeker dat ik veilig $ding->openDop() kan aanroepen.

edit: je kan zelfs zover gaan dat je de argumenten van openDop alvast definieert. Iedere klasse die dan de interface wil implementeren moet een method openDop hebben die die argumenten ook accepteert (ook hier kan je weer klassen/interfaces afdwingen zoals ik doe in Plopper::plop)
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
Patrick

patrick

21/02/2008 23:03:00
Quote Anchor link
Aha!

Door die doppen interface snap ik het nu.

Dank jullie wel.
 
TJVB tvb

TJVB tvb

22/02/2008 08:18:00
Quote Anchor link
//OFFTOPIC
Jelmer schreef op 21.02.2008 16:35:
Fietsen niet, want die hebben geen nummerbord, en kunnen dus onmogelijk 'gemotoriseerd vaartuig' implementeren.

Zoek eens op kronan die hebben wel een nummer bord ;)
//OFFTOPIC

Verder kun je een interface als een eisen lijstje zien. En daarvan mogen er meerdere zijn zolang ze elkaar maar niet in de weg zitten.
Gewijzigd op 01/01/1970 01:00:00 door TJVB tvb
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.