o.. oo... oop!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

Infrastructure Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12945 Introductie Our client is one of the most innovative companies within the Netherlands. Currently we are looking for an Infrastructure Platform Engineer. Within this role you will be developing the infrastructure. Functieomschrijving Within this role you are responsible in the development of our distributed data and compute platform infrastructure. You will design, develop and implement new features and fixes. Next to this you will integrate and configurate other packages that supports the development of tuning applications within the organisation. You will support customer sites remotely. Design and implement the

Bekijk vacature »

Software developer - senior

Functie omschrijving Voor een echt softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking voor de afdeling Software Development! Ben jij op zoek naar een werkgever waar meerdere software developers werken aan interessante projecten? Ben jij op zoek naar een werkgever waar je onderdeel wordt van een team dat echt passie heeft voor het ontwikkelen van software? Dan ben je hier aan het juiste adres! Als softwareontwikkelaar kom je terecht bij een onafhankelijk, door kwaliteit gedreven, doortastend en daarbij op een Agile wijze werkend bedrijf. Ben jij een expert in het vertalen van Componenten van Functionaliteit naar Business lagen?

Bekijk vacature »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Software Developer je verantwoordelijk voor: - Je werkt voortdurend aan oplossingen voor het op afstand bewaken en besturen van oogstmachines; - Het visualiseren van gegevens in rapporten, apps of andere formaten; - Voorspellend machineonderhoud; - Taakplanning; - Je schrijft aangepaste plug-ins om gegevens te importeren of exporteren

Bekijk vacature »

PHP Developer - Draag bij aan de maatschappij!

Bedrijfsomschrijving Wil jij als applicatieontwikkelaar deel uitmaken van een gedreven ontwikkelteam en werken aan innovatieve producten? Dan hebben wij dé uitdaging voor jou! Wij zijn op zoek naar een enthousiaste collega die samen met ons de technische ondergrond van onze producten verder wil ontwikkelen met behulp van PHP. Met jouw expertise geef je de finishing touch aan onze producten om jezelf steeds opnieuw weer te verrassen. Functieomschrijving Bij ons staan innovatie en creativiteit centraal. Wij zijn op zoek naar een enthousiaste PHP ontwikkelaar die nieuwe ideeën en inzichten kan inbrengen en daarmee zichzelf en het team verder kan laten groeien.

Bekijk vacature »

Hands-on Solution Architect / Software Architect (

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Solution Architect / Software Architect op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je werkt samen met gedreven DevOps teams, bestaande uit frontend, backend en middleware developers, testers, UX-designers. Samen met de teams ben je continu op zoek naar de beste oplossingen voor onze klanten. Als Solution Architect onderzoek

Bekijk vacature »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

.NET Developer

Dit ga je doen (Door)Ontwikkelen van het applicatielandschap; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het applicatielandschap; Sparren met de business. Hier ga je werken De organisatie is werkzaam in de financiële dienstverlening met meer dan 200 medewerkers en meer dan 250.000 eindgebruikers is het een van de grotere binnen haar branche. Je komt te werken in een team waarmee je verantwoordelijk bent voor het ontwikkelen en onderhouden van de financiële applicaties binnen de organisatie, denk hierbij aan het bouwen en onderhouden van portalen. Als .net developer ga jij het development team ondersteunen met de transitie naar

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Junior Low-code ontwikkelaar gezocht omgeving Arnh

Bedrijfsomschrijving Wij zijn een dynamisch IT-bedrijf dat zich richt op het stroomlijnen van bedrijfsprocessen en het creëren van ondersteunende applicaties. Onze kracht ligt in het combineren van zakelijk inzicht met IT-expertise via gestroomlijnde procesontwerpen en wendbare applicatieontwikkeling met behulp van Low-code technologieën. Als jonge professional krijg je de kans om samen te werken met een team van 15 deskundige collega's, verspreid over nationale en internationale locaties. We bieden je een leerzame omgeving waar je je vaardigheden kunt ontwikkelen en groeien in je rol als Low-code ontwikkelaar. Word jij onze nieuwe Junior Low-code Ontwikkelaar (OutSystems)? Versterk ons team en draag bij

Bekijk vacature »

Java developer

Als Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en staan

Bekijk vacature »

Belastingdienst - Freelance Senior Applicatie ontw

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: We verwachten van je, dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Ervaring hebt met Agile/Scrum-werken en je thuis voelt in een Agile omgeving; Een aandeel levert aan het scrumproces en in de SAFe-releasetrain; Zelfstandig werkt in een scrumteam en intensief de samenwerking op zoekt met je directe collega’s en je omgeving; Ervaring meebrengt met het schattten en inplannen van taken tot en met het testen en demonstreren van de opgeleverde functionaliteit; Collega’s in je

Bekijk vacature »
Ozzie PHP

Ozzie PHP

28/01/2011 14:35:29
Quote Anchor link
Net even deze tutorial doorgelezen: http://www.phphulp.nl/php/tutorial/overig/oop-beginnershandleiding-php5/701/inleiding/1841/

Als mijn vragen niet zo helder zijn dan komt dat omdat ik informatie aan het processen ben en hier en daar was sterretjes zie... * * * :-)

Hier dan even wat vragen:

- Is het zo dat je alles in zoveel mogelijk objecten moet stoppen? Dus stel je hebt een class / object huis, dan heb je bijv. ook een class 'kamer', 'deur', 'raam', 'muur' enzovoorts en ook een class 'slaapkamer' en 'woonkamer' die de class kamer extenden. Is dat correct? Je krijgt dan wel heeeel veel classes lijkt mij.
- Als je zo heel veel classes hebt plaats je die dan allemaal los in je library, of zet je classes die bij elkaar horen in een aparte folder?
- Is het gebruikelijk om meerdere classes in 1 bestand te zetten? Dus stel je noemt het bestand house.php en dat je daar dan een class 'room', 'door', 'window' etc. in zet? Of toch gewoon alle classes als een los bestand?
- Hoe strict is de naamgeving? Ik doe het namelijk anders. Ik schrijf een class naam als volgt met hoofdletters voor ieder nieuw woord, bijvoorbeeld 'MijnClass' en het bestand zou ik dan gewoon mijnclass.php noemen. In variabelen gebruik ik juist kleine letters en een underscore, bijvoorbeeld '$kamer_modern'. En een underscore voor een protected / private variabele of functie doe ik nooit (is dat wel aan te raden)?
- In de tutorial ging het over het maken van een tabel, en daarbij ook het aanmaken van een tabelcel. Je hebt dan een class Cell en bijvoorbeeld een class BorderCell die de class Cell extend. De class BorderCell zet een randje om de cel heen. Nu vraag ik me af... je zou ook 1 class Cell kunnen maken en dan als type 'border' kunnen meegeven, dus $cell = new Cell('border'). Wat is de beste manier?

Een heleboel vragen... ik ben benieuwd of iemand dit kan ophelderen!
Gewijzigd op 28/01/2011 14:37:33 door Ozzie PHP
 
PHP hulp

PHP hulp

13/05/2025 21:48:05
 
Pim -

Pim -

28/01/2011 14:41:37
Quote Anchor link
1: Ja. Hoe meer klassen hoe meer abstractie hoe beter. Soms wil je echter moeite besparen door niet alles te delegeren aan aparte klassen, maar begin maar met gewoon echt 1 klasse, 1 taak.
3: Nee
2/4: Klassen kan je indelen. Vaak gaat dit met de naam. Denk aan Kamer_Woon, Kamer_Bad oid. Kamer zit dan in je hoofdmap (Kamer.php) en Woon als Woon.php in de map Kamer. Deze naamgeving gebruiken de meeste frameworks en raad ik je ook aan. Heel strict is dit echter niet.
5: Dit hangt erg van het verschil tussen de items. Als ze dus meer dan alleen de naam verschillen, kan je beter een aparte klasse maken. Als het enige verschil dus die naam is, niet. De BorderCell heeft dus een eigenschap (bijv borderwidth) die andere cellen niet hebben, daarom moet het in een aparte klasse.
 
Ozzie PHP

Ozzie PHP

28/01/2011 18:15:24
Quote Anchor link
Hoi Pim,

Dankjewel voor je uitleg. Ik heb weer wat bijgeleerd. Bij punt 2/4, begrijp ik het goed dat je eigenlijk iedere class gewoon in de library zet, maar alle classes die een andere class extenden in een aparte map die dezelfde naam heeft als de class die ze extenden? En geef je met die underscore aan dat de class in een aparte folder staat?

Bij punt 5 zou je toch ook kunnen zeggen dat border een property van cell is? En dat die property standaard op 0 staat? Ik probeer een beetje het principe te begrijpen wat er achter zit.
 
Pieter Jansen

Pieter Jansen

28/01/2011 18:18:30
Quote Anchor link
Ligt eraan wat je zelf wil. Over het algemeen is het wel raadzaam om een methode te hanteren die jou het beste uit komt, maar als je weet dat er ook andere mensen mee gaan werken, kun je het beste de "best practices" hanteren zoals je die gelezen hebt. Overigens, elk framework heeft z`n eigen werkwijze dus denk niet dat alle frameworks etc een en dezelfde stijl hanteren.

Als je zelf iets schrijft, geef vooraf aan hoe je dingen gaat doen, en hou je aan die regels. Het is niet ontzettend belangrijk hoe je dingen noemt zoals het voor de mensen die er mee moeten werken maar wel duidelijk is.

Ook over je mappenstructuur, hangt helemaal van jezelf af, maar als je echt een huis als voorbeeld neemt, zou ik ( persoonlijk ) in mappen werken. Anders krijg je op een gegeven moment echt heel veel files in je map.
 
Ozzie PHP

Ozzie PHP

28/01/2011 18:23:20
Quote Anchor link
Hoe zou je dat in het voorbeeld van het huis doen? Net als Pim zegt in de library room.php zetten en dan een map Room in de library zetten waar je dan bijv. bath.php en living.php zet? Of zou jij het anders aanpakken?
 
Pieter Jansen

Pieter Jansen

28/01/2011 19:07:25
Quote Anchor link
nee hoor, ongeveer op die manier. Ik zelf hou altijd super klasse zelf ook in de map. Om naamgevingen etc niet door elkaar te houden.

dus:

House
class.House.php
Rooms
class.Room.php
LivingRoom
class.LivingRoom.php
etc etc
BathRoom
class.BathRoom.php
etc etc
Gewijzigd op 28/01/2011 19:25:07 door Pieter Jansen
 
Ozzie PHP

Ozzie PHP

28/01/2011 19:21:58
Quote Anchor link
Ik volg je opbouw niet helemaal... wat hoort bij wat?
 
Pieter Jansen

Pieter Jansen

28/01/2011 19:32:27
Quote Anchor link
Tabs en spaties werken niet heh. Maar ik zou dus een mappen structuur aanhouden waar je elke sub klasse ook in z`n eigen map zet. Dit om naamgeving problemen etc te voorkomen. Als je dus class.House.php hebt, zou ik die in de map House plaatsen. Een sub klasse Room zou ik dan ook in een map binnen Room zetten. Dus dan krijg je House/Room/ en daar dan de class.Room.php. Als je nu een livingRoom hebt, plaats je die binnen de map Room. Dus: House/Room/LivingRoom/ en daar dus ook de klasse class.LivingRoom.php.

Stel nou dat je objecten hebt welke voor meerdere subklasses geldt, bijvoorbeeld een Lamp, dan kun je die onder Room zetten, of desnoods onder House. Immers elke room en sub klasses kunnen een lamp krijgen. Maar die mag ook onder House vallen, je kunt ook lampen aan de buitenkant van je huis hebben. Die valt dus onder /House/
Gewijzigd op 28/01/2011 19:33:12 door Pieter Jansen
 
Ozzie PHP

Ozzie PHP

28/01/2011 19:40:19
Quote Anchor link
"Tabs en spaties werken niet heh".
Even tussen de code tags zetten ;)

Maar wat nu als je Lamp ook wil gebruiken voor iets wat niet bij het huis hoort? Bijvoorbeeld bij auto?
 
Pieter Jansen

Pieter Jansen

28/01/2011 19:44:27
Quote Anchor link
Dan moet je dus een niveau hoger. Wat je ook kunt doen is een interface gebruiken voor de Lamp. Of ( wellicht beter ) een abstracte klasse. Dit kun je als aparte groep hanteren.
 
Ozzie PHP

Ozzie PHP

28/01/2011 19:46:46
Quote Anchor link
jemig... ingewikkeld allemaal...
 
Hendrik de Jager

Hendrik de Jager

01/02/2011 21:45:09
Quote Anchor link
Ozzie PHP op 28/01/2011 19:46:46:
jemig... ingewikkeld allemaal...

Zoals gezegd, werk zoals je zelf het mooiste/makkelijkste vind, mocht je voor een bedrijf gaan werken vertellen die je wel hoe hun structuur in elkaar steekt.

Ga je met een groepje iets starten(Lees: 3-4 mensen) kan je met elkaar overleggen welke structuur.
 
Pim -

Pim -

01/02/2011 22:56:34
Quote Anchor link
Wat je wel het beste kan doen, is de delen in de naam laten corresponderen met de mapstructuur. Anders zijn klassen onvindbaar in de mappen.

Punt 5:
Je hebt wel gelijk, want elke klasse kan een border hebben. Een beter voorbeeld is:
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
20
21
<?php
abstract class Organisme {
    protected $leeft = true;
    public function gaDood() { $this->leeft = false; }
    public function leeft() { return $this->leeft; }
}


class Dier extends Organisme {
    protected $loopt = false;
    public function gaLopen() { $this->loopt = true; }
    public function staStil() { $this->loopt = false; }
    public function loopt() { return $this->loopt; }
}


class Plant extends Organisme {
    protected $doetFotosynthese = true;
    public function belicht() { $this->doetFotosynthese = true; }
    public function belichtNiet() { $this->doetFotosynthese = false; }
    public function doetFotosynthese() { return $this->doetFotosynthese; }
}

?>

Een wat abstract voorbeeld, maar ik hoop dat je het begrijpt. Hoewel zowel dieren als planten organismen zijn en dus de gedeelde eigenschappen van organismen hebben, kunnen dieren geen fotosynthese doen en planten niet lopen. Daarom zijn het verschillende klassen.

'Organisme' is abstract, omdat het alleen (in dit voorbeeld) als dier of als plant bestaat, niet als 'organisme'. Een 'dier' bestaat natuurlijk ook niet, maar je snapt het voorbeeld vast.
 
Ozzie PHP

Ozzie PHP

01/02/2011 23:02:09
Quote Anchor link
thanks voor je toelichting Pim. Lijkt me inderdaad logischer dat je dan border als onderdeel van een cel neemt in plaats van als nieuwe class.
 

01/02/2011 23:14:02
Quote Anchor link
Sowieso, een border kan je ook weer als aparte klasse zien...
(Beetje offtopic, maar goed.)
 
Ozzie PHP

Ozzie PHP

01/02/2011 23:16:54
Quote Anchor link
Maar je gaat voor zoiets "kleins" als een border toch niet een aparte class maken? Of wel??
 

01/02/2011 23:21:47
Quote Anchor link
Ik weet niet in wat voor context je denkt. Maar als ik aan html denk, dan zijn er genoeg elementen die gebruik kunnen maken van een border.
Of het klein is maakt niet zoveel uit. Je scheid dan wel mooi alles. Zie ook low coupling high cohesion en GRASP[/google].
Ook moet je maar eens naar bijvoorbeeld de
Dimension klasse van java kijken. Die doet ook niet veel...
(Java wordt toch gezien als de taal om OOP te leren.)
 
Ozzie PHP

Ozzie PHP

01/02/2011 23:23:49
Quote Anchor link
oke... vage shit... krijg je wel erg veel bestanden op deze manier :-/
 
Niek s

niek s

02/02/2011 00:32:18
Quote Anchor link
echt super grappig die topic title :D
zo met die letters, en dan steeds 1 meer :D
 

02/02/2011 00:33:05
Quote Anchor link
Niek s op 02/02/2011 00:32:18:
echt super grappig die topic title :D
zo met die letters, en dan steeds 1 meer :D


LOOOOOOOL
 



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.