Praktisch voorbeeld public/private/protected

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior/Senior C# VB.NET Developer

Organisatie Ken je dat gevoel dat je als IT’er niet wordt gewaardeerd binnen een bedrijf? Of dat je eigenlijk maar een aanvulling bent op de rest? Dan heb ik hier een vacature bij de absolute tegenpool hiervan! Dit softwarebedrijf is volledig gericht op ICT. Meer dan de helft van al het personeel zijn developers. Zelfs de directeur is programmeur. Hierdoor ben je ervan verzekerd dat je in goede handen terecht zult komen. De gehele bedrijfsvoering is erop gebouwd om alleen de moeilijkste uitdagingen aan te nemen. Projecten en opdrachten die bij andere bedrijven gefaald zijn, nemen zij met alle plezier

Bekijk vacature »

Medior/Senior PHP Developers Detachering Rotterdam

Voor een partner die verschillende projecten heeft in regio Zuid-Holland zijn wij doorlopend op zoek naar bevlogen, ervaren PHP programmeurs. Het betreft een consultancy rol. Zij werken aan platforms voor meerdere grote A-klanten. Wil je graag werken in een high traffic omgeving met ruim 2 miljoen unieke bezoekers per dag, dan ben jij de persoon die wij zoeken! Je komt terecht in een zeer informele organisatie waar persoonlijke aandacht, professionaliteit, humor en uitdagingen hand in hand gaan? Deze organisatie vraagt om jouw input én geeft je de ruimte om je eigen ideeën te implementeren. Op basis van jouw wensen en

Bekijk vacature »

BI ontwikkelaar DWH

BI ontwikkelaar DWH Locatie: Amsterdam Niveau: HBO / WO Dienstverband: 40 uur per week Ben jij gek op het verzamelen en analyseren van informatie? En wil je met deze passie graag zorgorganisaties meer inzicht verschaffen? Lees dan snel verder. Jouw baan Als BI ontwikkelaar Datawarehouse help je zorgorganisaties bij het inzichtelijk maken en grafisch presenteren van hun data. De ene dag werk je aan rapportages en kubussen, een dag later spreek je af met je collega’s om je in een ingewikkeld zorgproces te verdiepen. Je verwerkt informatiewensen samen met onze ontwikkelaars in de software. Jouw team Je versterkt ons snel

Bekijk vacature »

Android Developer vacature

Je bent creatief. Je wilt verschil maken. Je gaat voor mobile. Voor het bedenken, ontwerpen en realiseren van sterke mobile-apps mag men jou ’s nachts wakker maken. Android Development Professional Jij weet hoe je Android-apps met impact ontwikkelt en levert ze op tijd af. Of het nu gaat om betalen met een vingerafdruk, het delen van de bar-rekening of het mobiel aanpassen van de (sfeer-)verlichting in huis, jij weet welke integrale functionaliteiten toegevoegde waarde hebben voor de eindgebruiker. Jij zorgt er bovendien voor dat jouw apps het toonbeeld zijn van gebruikersvriendelijkheid en veiligheid. Omdat je breed georiënteerd bent, kun je

Bekijk vacature »

Medior+ of Senior PHP developer gezocht voor in ee

Dit bedrijf is één van de grootste in haar markt in Nederland. Het is een snelgroeiend bedrijf en ze bestaan uit een jong team van 23 medewerkers. Ze bestaan al ruim 10 jaar en blijven zich vernieuwen en verbeteren. Ze ontwikkelen webwinkelsystemen en inmiddels maken daar veel webwinkeliers gebruik van. Ze hebben hun eigen e-commerce platform. Veel van hun klanten zitten in de mode, vrije tijd, wonen en baby en kind. Er liggen concrete plannen op tafel om binnenkort hun platform te vertalen en het op te zetten in het buitenland. Functie-omschrijving Je zal door blijven ontwikkelen aan hun uitgebreide

Bekijk vacature »

Medior .NET developer voor een bedrijf in midden N

Dit bedrijf is al een tijd actief op de markt. Het is begonnen in 1995 en is altijd gefocust gebleven op het verzinnen van innovatieve oplossingen met Microsoft technologie. Kwaliteit, snelheid en betrouwbaarheid staan hoog in het vaandel binnen hun organisatie. Het bedrijf telt ongeveer 25 werknemers en heeft één vestiging. Door het streven naar perfectie en het leveren van kwaliteit heeft dit bedrijf drie gecertificeerde partnerships. Er heerst een informele sfeer en je zal werken in een gezellig en hecht team waar leuke personeelsuitjes natuurlijk bij horen. Je zal gezamenlijk lunchen en zal een potje tafelvoetbal ook niet ontbreken.

Bekijk vacature »

Ervaren Front-end Developer met lead ambities gezo

Ben jij een ambitieuze medior die nu wel eens de stap wilt maken naar een functie als Lead Front-end developer? Je wilt nieuwe technieken blijven leren, die team lead rollen hebben en (mede) de standaarden en processen van je team bepalen? En hiernaast jouw coaching skills ontwikkelen én de vaardigheden van andere teamleden op een hoger niveau brengen? Dan is dit een unieke kans! De organisatie: Wij zijn een groeiend bedrijf dat voor grote, internationale klanten werkt. Wij zijn gespecialiseerd in het bouwen van innovatieve portaal oplossingen en apps. Wij doen dit in verschillende sectoren en zijn met name werkzaam

Bekijk vacature »

.NET Developer - Productie - Rotterdam Zuid

Heb je ervaring als Senior .NET Developer (C#) en ben je toe aan een nieuwe uitdaging? Dit is je kans om als Senior .NET Developer aan de slag te gaan. Je komt te werken bij een Nederlands bedrijf die een erg bekend product verkoopt op internationaal gebied. ervaren en enthousiaste: Senior .NET Developer Samenvatting: Als Senior .NET Developer start je in een zelfstandige functie waarbij je werkt aan het analyseren, ontwikkelen, bouwen, onderhouden en testen van verschillende softwareprogramma's, dit kan of op het productiesysteem of op het servicesysteem zijn. Verantwoordelijkheden: Samen met de interne afdelingen denk je mee aan de

Bekijk vacature »

Medior front-end developer in Utrecht gezocht! Mob

Ben jij een front-end developer die HTML(5), CSS(3) en Javascript (jQuery) goed beheerst, open staat of al werkt met de nieuwste technieken en ben je iemand met passie voor user experience en design? Lees verder! Voor landelijk bekende klanten ontwikkeld deze organisatie vooruitstrevende applicaties, vaak zijn dit grote projecten waarbij zij perfectionistisch te werk gaan met oog voor detail en design. Zij zien het dan ook niet als een applicatie maar als een mobiele strategie. Samen met de klant gaan zij na wat hun doen, om er zeker van te zijn dat dit ook voor de developers/designers op een later

Bekijk vacature »

Java Developer

Durf jij mee te delen in het succes van de no. 1 dienstverlener in Nederland op het gebied van IT? Wat kun je? Die vraag stelt ieder bedrijf dat op het punt staat iemand aan te nemen. Wie ben je? Die vraag stelt Sogeti meteen daarna. We vinden het belangrijk dat je bij ons past. Vooral qua mentaliteit. Een professional van Sogeti is namelijk geen gemiddelde professional. Het is er een met een aantal uitgesproken eigenschappen. Gedreven. Resultaatgericht. En niet snel tevreden. Wat niet wil zeggen dat je nooit met hem of haar kunt lachen. Integendeel. Plezier hoort wat ons

Bekijk vacature »

Medior PHP Developer gezocht voor in een jong en e

Dit bedrijf is één van de grootste in haar markt in Nederland. Het is een snelgroeiend bedrijf en ze bestaan uit een jong team van 23 medewerkers. Ze bestaan al ruim 10 jaar en blijven zich vernieuwen en verbeteren. Ze ontwikkelen webwinkelsystemen en inmiddels maken daar veel webwinkeliers gebruik van. Ze hebben hun eigen e-commerce platform. Veel van hun klanten zitten in de mode, vrije tijd, wonen en baby&kind. Er liggen concrete plannen op tafel om binnenkort hun platform te vertalen en het op te zetten in het buitenland. Functie-omschrijving Je zal door blijven ontwikkelen aan hun uitgebreide e-commerce platform.

Bekijk vacature »

.NET Developer die mag sleutelen aan mobiele apps

Het team van .NET ontwikkelaars bestaat uit 10 man en is onderdeel van een multidisciplinair team van 10-15 man. Binnen het bedrijf heerst een relaxte sfeer en heeft iedereen respect voor elkaar . Zij maken niet alleen software maar bouwen ook hardware. Hierdoor kunnen zij van At/m Z aan hun klanten aanbieden. Ziekenhuizen en de overheid gebruiken hun software en hardware, van toegangscontrole tot aan tijd registreren. Deze kleinschalige MNO met 45 werknemers is gespecialiseerd in software voor toegangscontrole poortjes, beveiligingssystemen en tijd registratie. Onder hun opdrachtgevers vallen ziekenhuizen maar ook de overheid. Op aanvraag van de klant ga jij

Bekijk vacature »

Senior Front End Developer React

Your job: Senior Front End Developer Amsterdam Are you a solid JavaScript software engineer that loves data- and complexity rich, (big) data visualization, proper software engineering and solving enterprise grade challenges? Do you love working on a high abstraction level while building feature rich, innovative, scalable and cloud based technology which is used by the biggest companies on the planet? Do you say yes to working with React and a salary up to € 75.000 + 20% bonus + € 50.000 in company stock and indefinite contract? Then wait no longer my friend, read on! Your employer: Hop on this

Bekijk vacature »

Een goede Java specialist & een Java Fullstack

ORGANISATIE / AFDELING In Zeist bevindt zich deze leuke partij die op zoek is naar jou! Momenteel zijn ze hard aan het uitbreiden en kunnen ze iedereen gebruiken die Java goed onder de knie heeft. Het maakt niet uit of je net uit school komt of al een paar jaar ervaring hebt opgedaan. Zolang je affiniteit met de zorg hebt en graag wilt helpen aan het efficiënter maken van alle werkzaamheden is dit wellicht de vacature die bij jou past. Ik heb het hier dan ook over een club die slimme software maakt voor de zorg. Denk bijvoorbeeld aan ziekenhuizen,

Bekijk vacature »

Medior WordPress Developer; gedegen Front-end kenn

De klanten van deze onderneming bestaan uit veelal grote en bekende namen, maar daarnaast is ook het MKB van harte welkom om gebruik te maken van het door hen ontwikkelde Voice Over IP platform. Doordat zij al 10 jaar diverse producten leveren op telecom gebied en zij diverse tools aanbieden die op de website van de klant geïmplementeerd kunnen worden, rees al snel de vraag; kunnen jullie ons ook ondersteunen in de bouw van een dergelijke site? Met als resultaat deze vacature. Functie-omschrijving Hoewel de richting voor deze club vernieuwend is, zal je deel uitmaken van een 12 koppig development-team

Bekijk vacature »
Lorre Mertens

Lorre Mertens

23/08/2015 17:14:04
Quote Anchor link
Beste forummers,

Ik ben OOP aan het leren. Ik snap de basis nu, maar kan me moeilijk inbeelden hoe het praktisch gebruikt kan worden.

Kan iemand een praktisch voorbeeld geven van hoe een visibility property bijvoorbeeld nuttig kan zijn?

Mvg
 
PHP hulp

PHP hulp

11/12/2018 18:14:04
 
- Ariën -
Beheerder

- Ariën -

23/08/2015 17:21:11
Quote Anchor link
Lees de OOP-tutorial van phptuts.nl eens door.
 
Lorre Mertens

Lorre Mertens

23/08/2015 17:32:05
Quote Anchor link
Dat heb ik gedaan, een goede tutorial.

Maar; het voorbeeld is daar private $username. Waarom zou je ervoor willen zorgen dat $username niet meer direct te benaderen is? Welk voordeel levert dat op? Beveiliging?
Gewijzigd op 23/08/2015 17:32:13 door Lorre Mertens
 
Wouter J

Wouter J

23/08/2015 18:04:50
Quote Anchor link
Binnen je class wil je een gecontroleerde omgeving hebben. Stel we hebben een BlogPost class die een property $tags heeft, met daarin een array van Tag classes:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
class BlogPost
{
    public $tags = array();

    // ...
}
?>


Hij is nu publiek, dus niks weerhoud ons ervan om hier lekker andere waardes in te gooien:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$blogPost
= new BlogPost('De titel', $content);
$blogPost->tags[] = 'een string mag niet';
$blogPost->tags[] = $blogPost; // een blog post die zichzelf als tag heeft mag ook niet echt...
?>


We hebben dus geen gecontroleerde omgeving meer binnen deze class. Wanneer we de property nu protected maken hebben weer een, voorlopig, gecontroleerde omgeving:
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
<?php
class BlogPost
{
    protected $tags = array();

    public function addTag(Tag $tag)
    {

        // ... we kunnen hier bijv. ook controleren of de tag niet
        // al was toegevoegd

        $this->tags[] = $tag;
    }
}


$post = new BlogPost('De titel', $content);
$post->addTag(new Tag('phphulp'));
$post->addTag('een string'); // Error: Expected instance of Tag, got "string"
?>


We kunnen nu echter nog steeds de class extenden en verkeerde waardes toevoegen, dus maken we er private van zodat we erg echt zeker van zijn dat addTag() de enige manier is om tags toe te voegen aan de BlogPost.
 
Lorre Mertens

Lorre Mertens

23/08/2015 18:20:42
Quote Anchor link
Bedankt voor de heldere uitleg Wouter, het is nu veel duidelijker.
 

23/08/2015 22:35:28
Quote Anchor link
Ik vind PHP in vergelijking met andere talen een onhandige taal om de voordelen van OOP uit te leggen.

Het 'probleem' van een web-omgeving is dat PHP telkens eenmalig reageert op een verzoek van een browser. Dat is nogal procedureel en 'immer gerade aus'. Dan ben je ook nog eens de enige ontwikkelaar, en is het eigenlijk best wel handig dat je overal bij kunt. Private variabelen is dan gewoon onzin. Waarom zou je objecten in het geheugen vasthouden? Geen idee. Lukt ook prima zonder.

Als je deze weg blijft volgen loop je vanzelf tegen een probleem aan, ondanks hergebruik van code via include en require(_once) statements. Afhankelijk van hoe groot je programma wordt, wordt je code steeds meer spaghetti omdat je voor elk scherm weer andere code moet maken. Je kunt alleen nog maar snelheidswinst in programmeren krijgen door je eerdere code te copy-pasten. En als je dan bugs aan de ene kant gaat oplossen ontstaan ze weer aan de andere kant en vice versa. Het schiet niet op, je bent vastgelopen in je eigen denkwerk.

Om code uit elkaar te houden en gestructureerd (als een soort adresboek in familieboomstamvorm) is het concept van OOP geintroduceerd. Wat je dan doet is je code opdelen in zo klein mogelijke stukjes. Dat heeft als voordeel dat die stukjes heel overzichtelijk en foutvrij worden. Je zet die stukjes in een functie (methode) en je groepeert functies die samenwerken in een object. Als je de methoden benoemt naar wat ze doen, kan je je eigen code als een soort pseudo-code lezen, en wordt het voor jezelf volstrekt duidelijk wat de code precies in welke volgorde doet. Documentatie van code heb je dan bijna niet meer nodig.

Om variabelen binnen een naamruimte (namespace ;) qua naam en inhoud per functie gescheiden te houden, heb je een variabele scope met de keuze om variabelen private te houden. Zo van: 'die variabele is niet bedoeld om direct door andere code veranderd te worden', want dan weet je het op een gegeven moment zelf ook niet meer.

Naast dan OOP jezelf ontlast van de internals van je eigengeschreven code, geldt dat ook voor jou met code van anderen en andersom; je hoeft alleen nog maar elkaars API aan te roepen en je bent klaar. Dat vergroot de schaalbaarheid en onderhoudbaarheid van de code enorm. Daarbij worden de objecten/API's een soort zelfbedachte LEGO-stukjes, die niet als spaghetti maar met nopjes aan elkaar hangen, je kunt de code eenvoudig vervangen voor andere code die dezelfde nopjes heeft.

De praktische voorbeelden volgen vanzelf als je code schrijft.
Gewijzigd op 23/08/2015 22:37:12 door
 
Lorre Mertens

Lorre Mertens

23/08/2015 22:50:42
Quote Anchor link
Bedankt An tje, erg waardevol antwoord!
 



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.