[OOP] Variabelen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Junior PHP ontwikkelaar

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

C#.NET ontwikkelaar

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: 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. Je bouwt webshops, webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Framework en C#. Je zorgt voor de optimalisering van bestaande software en de automatisering van

Bekijk vacature »

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 »

Java Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Full Stack C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

OutSystems developer

Dit ga je doen Klanten adviseren over de mogelijkheden van OutSystems; OutSystems oplossingen ontwikkelen en implementeren; Stakeholdermanagement; Kennis en expertise up to date houden en delen met het team. Hier ga je werken Onze opdrachtgever, gevestigd in regio Amsterdam, is een innovatieve dienstverlener die zich richt op grote corporates in verschillende sectoren. Doordat je bij veel verschillende klanten aan de slag zal gaan is geen enkel project hetzelfde. De organisatie kenmerkt zich door hoge mate van professionaliteit en innovatieve oplossingen. In de rol van OutSystems developer zal jij verschillende grote klanten helpen om efficiënte OutSystems oplossingen te ontwikkelen en implementeren.

Bekijk vacature »

Front end developer

Functie Qua type opdrachten is er echt een verscheidenheid aan afnemers, zo werken ze met grote multinationals, maar ook met startups. Zo kom je te werken in een gevarieerde omgeving en kan je ook schakelen tussen verschillende culturen. De projecten variëren van greenfield projecten tot langdurige ontwikkeltrajecten. Hier wordt alleen maar gewerkt met aan front end projecten. Daarom maakt het onze partner niet uit waar jij kennis van hebt, als je maar gedegen kennis hebt van Javascript frameworks, Unit testing en ook bekend bent met de scrum methodiek. Eisen Minimaal 4 jaar relevante werkervaring Kennen en ervaring van Javascript frameworks

Bekijk vacature »

PHP Developer (junior functie)

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij een starter en wil je werken bij een jong en leuk bedrijf? Lees dan verder! Wij zijn op zoek naar een PHP Developer binnen een junior functie. Binnen dit bedrijf gaat het om persoonlijke aandacht en ontwikkeling! Je komt te werken voor een leuk communicatiebureau die alles op het gebied van online en offline communicatie doet. Dit doen zij voor verschillende branches, waardoor je aan diverse soorten projecten mag werken, dit maakt deze baan erg leuk! Daarbij werk je aan een door hun zelf ontwikkeld framework welke goed

Bekijk vacature »

Software ontwikkelaar

Ben jij graag bezig met verschillende projecten? Vind jij beleving van klanten én medewerkers ook belangrijk? Wij zijn vanwege de doorontwikkeling van het applicatielandschap van onze opdrachtgever op zoek naar een fulltime software ontwikkelaar. Omschrijving Jij en jouw collega’s zijn verantwoordelijk voor de continuïteit en waarborging van het applicatielandschap. Om de processen vloeiend te laten verlopen is software ontwikkeling daarom van essentieel belang. Onze opdrachtgever doet dit voornamelijk zelf, met door hun eigen ontwikkelde applicaties. Dit betekent dat jij: functionele eisen vertaalt naar gebruiksvriendelijke software; tijdens SCRUM sessies advies geeft over het te bouwen ontwerp; nieuwe software ontwikkelt en het

Bekijk vacature »

Software Developer / .NET / Azure

Dit ga je doen Als Lead .NET Software Developer zal je je bezig houden met: Het vertalen van bedrijfswensen naar een technische roadmap; Uitwerken van nieuwe architectuur / designs; Het team aansturen en motiveren; Toezien op de kwaliteit van de code; Mee ontwikkelen van nieuwe features en applicaties. Hier ga je werken Deze organisatie is op dit momenteel marktleider in het ontwikkelen van productielijnen voor de voedselindustrie en heeft een wereldwijd klantnetwerk. Binnen deze organisatie is het team van software developers dagelijks bezig met het ontwikkelen van maatwerk oplossingen om alle productiemachines aan te sturen, maar ook bedrijf kritische applicaties

Bekijk vacature »

Outsystems Developer Junior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als junior Outsystems Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Back-end Developer

Functie omschrijving Als Back-end Developer heb je de eer om als eerste interne developer bij deze organisatie te beginnen. Op dit moment zijn er externe developers, maar daar wil de organisatie verandering in brengen. Op termijn moet de gehele afdeling uit intern personeel bestaan. Je kan je voorstellen dat de eerste interne developer ook de nodige kennis mee moet brengen. Dat klopt. Je gaat je namelijk aan het begin bekommeren over de externe developers en uiteindelijk over je interne collega's. Verder ga je het volgende doen: Het bedenken, beheren en onderhouden van webportalen, API-koppelingen en applicaties; Je bedenkt en werkt

Bekijk vacature »

Java developer Zorgsysteem

Dit ga je doen Werken aan het eigen gebouwde zorgsysteem; Verbeteringen maken en toepassen binnen de applicatie; Jij gaat werken aan de Back-end van de applicatie en sporadisch werk je mee aan de Front-end; Samenwerken met andere teams voor een optimaal resultaat; Jij kan 'clean' werken en high quality code schrijven; Jij werkt resultaatgericht. Hier ga je werken De organisatie houdt zich bezig met diverse applicaties met betrekking tot zorgregistratie. Dankzij hun systeem komt alle informatie, omtrent de zorg van een patiënt, op een overzichtelijke en toegankelijke manier samen in één systeem te staan. Op deze manier is deze informatie

Bekijk vacature »

Pagina: 1 2 volgende »

Wouter J

Wouter J

29/12/2010 16:14:57
Quote Anchor link
Hallo PHP'ers,

Ik ben een beetje aan het spelen met OOP en heb een vraag over variabelen.

Stel ik heb dit nutteloze script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
class Iets {

  public function GetVar($var) {
    return $var;
  }

}

?>


Moet ik in dit geval persé met public/protected/private variabelen werken? Of kan het ook gewoon zo.

Dus als je een variabelen alleen in dat object gebruikt, moet je dan die ook public/protected/private maken?
 
PHP hulp

PHP hulp

05/11/2024 12:25:46
 

29/12/2010 16:19:27
Quote Anchor link
Als je die variabele alleen gebruikt in die functie d.m.v. een parameter hoef je geen instantie variabele te maken. Als jij de variabele op meerdere plekken binnen je object wilt gebruiken, dan moet je die wel aanmaken.
 
Kris Peeters

Kris Peeters

29/12/2010 16:20:28
Quote Anchor link
Ik zie je nergens een property gebruiken.
Misschien zou je toch beter een minder nutteloos voorbeeld geven.

Je mag uiteraard variabelen gebruiken binnen funties. Die variabelen zijn niet zichtbaar buiten die specifieke methode (functie).
 
Mike Smit

Mike Smit

29/12/2010 16:23:36
Quote Anchor link
Nvt.
Gewijzigd op 29/12/2010 16:24:05 door Mike Smit
 

29/12/2010 16:25:34
Quote Anchor link
Dit heeft dus ook te maken met language.variables.scope.
 
Wouter J

Wouter J

29/12/2010 17:05:38
Quote Anchor link
Even een voorbeeldje in wat voor context ik hem wil gebruiken:
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
22
23
24
25
26
27
28
29
30
31
32
33
<?php
class formulier {

  public $type;

  public function __construct($type) {
    $mogelijk = array('post', 'get');

    if(!in_array(strtolower($type), $mogelijk) {
      return false;
    }

    else {

      $this->type = $type;
      return true;

    }
  }


  public function valid($veld) {

    if($this->type == 'post') {

      if(isset($_POST[$veld])) {
        return true;
      }

      else {
        return false;
      }
    }
  }
}

?>

En dan gaat het mij om de valid function en de var $veld. Moet ik die ook zo doen als $type of kan ik het gewoon zo laten.
Gewijzigd op 29/12/2010 17:07:13 door Wouter J
 
Kris Peeters

Kris Peeters

29/12/2010 17:38:04
Quote Anchor link
Zo laten.
 
Wouter J

Wouter J

29/12/2010 17:39:44
Quote Anchor link
Oke bedankt.

Dus als je het alleen in die functie gebruikt mag het gewoon zo. En als je het bij een andere functie wilt gebruiken/aanpassen buiten de classe moet je het met public doen?
 
Kris Peeters

Kris Peeters

29/12/2010 17:50:50
Quote Anchor link
Ja.

Maar ook als je binnen je klasse een variabele nodig hebt die in een andere functie staat (zelfde klasse), zal je iets met $this->... gebruiken.

Het gaat er om: moet die variabele bijgehouden worden buiten de functie?
Variabelen die je binnen de klasse nodig hebt, maar niet er buiten, kan je als 'private' of 'protected' zetten.

(maar nu ga ik er wat snel en onvolledig over)
 
Wouter J

Wouter J

29/12/2010 17:56:44
Quote Anchor link
@kris, bedankt. De verschillen tussen private, protected en public weet ik al. Maar van het overerven snap ik niet zo veel. Weet iemand daar misschien een goede tut over?
 
Kris Peeters

Kris Peeters

29/12/2010 21:57:02
Quote Anchor link
Wouter J op 29/12/2010 17:56:44:
... Maar van het overerven ...

Een voorbeeldje. Niet t veel syntax; meer gewoon om de gedachtegang uit te leggen.

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php

$mijn_auto
= new auto();

$mijn_ferrari = new sportwagen();

class auto {
  public function __construct() {
    // ...
  }
  public function geef_gas() {
    // ...
  }
  public function open_deur() {
    // ...
  }
}


class sportwagen extends auto {
  public function __construct() {
    // ...
  }
  public function open_dak() {
    // ...
  }
}


class stationwagen extends auto {
  public function __construct() {
    // ...
  }
  public function open_laadklep() {
    // ...
  }
}


?>


Wat zie je?
Een sportwagen IS een auto, maar dan met een aantal dingen extra.

In de class auto definieer je alles wat gemeenschappelijk is aan de functionaliteit van de auto.

Een uitgebreide class biedt je de mogelijkheid om extra functionaliteit te voorzien.
Een stationwagen kan zijn dak niet openen. Een sportwagen wel.

Leuk is dus: alle functies van auto krijg je zomaar cadeau in de extended class.
Die functies hoef je dus niet meer opnieuw in je extended class te definiëren.

Essentieel:
Een sportwagen is een auto. Indien dit niet geldt, mag je niet extenden.

Bv.
class peer extends appel {
}
Dit mag je niet doen. Een appel is geen peer.

Wat wel mag, is zowel een appel als een peer een extend laten zijn van de class fruit.
Gewijzigd op 30/12/2010 06:41:49 door Kris Peeters
 
Pim -

Pim -

30/12/2010 00:56:44
Quote Anchor link
Als het om de taal gaat zie ik geen reden om niet een zo simpel mogelijk voorbeeld te geven...

Wouter J op 29/12/2010 17:05:38:
Even een voorbeeldje in wat voor context ik hem wil gebruiken:
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
22
23
24
25
26
27
28
29
30
31
32
33
<?php
class formulier {

  public $type;

  public function __construct($type) {
    $mogelijk = array('post', 'get');

    if(!in_array(strtolower($type), $mogelijk) {
      return false;
    }

    else {

      $this->type = $type;
      return true;

    }
  }


  public function valid($veld) {

    if($this->type == 'post') {

      if(isset($_POST[$veld])) {
        return true;
      }

      else {
        return false;
      }
    }
  }
}

?>

En dan gaat het mij om de valid function en de var $veld. Moet ik die ook zo doen als $type of kan ik het gewoon zo laten.

Wat stel je je voor bij de return waarde van de __construct() methode?
 
Kris Peeters

Kris Peeters

30/12/2010 06:40:07
Quote Anchor link
O ja, ik had het niet opgemerkt.

Een constructor hoort geen return terug te geven.
Een constructor is er om het object aan te maken.


OOP is in eerste instantie een mentale knop die je moet omdraaien.
Daarom geef ik graag voorbeelden die wat verwijderd zijn van de code waar ze mee bezig zijn en die niet echt veel zouden gebruikt worden in php.
Gewijzigd op 30/12/2010 06:48:30 door Kris Peeters
 
Wouter J

Wouter J

30/12/2010 11:05:31
Quote Anchor link
Bedankt voor de uitleg. Het overerven is dus handig als je functies hebt die aan elkaar gemeen zijn. Dus de sportcar die dingen heeft van een gewone auto maar dan wat extra's.

En die return had ik alleen hier op het forum staan. Ik heb zelf in de constructor een exit staan. Mag dit wel?
 
Tikkes C

Tikkes C

30/12/2010 11:18:49
Quote Anchor link
Wouter: het is niet zo geweldig slim om je variabele $type public te maken.
Indien je dit doet kan je van zeg maar overal aan die variabele.
Het is beter om deze private te maken en een getter voor deze variabele te maken, zo heb je meer controle over wat er precies gebeurd.

en een exit in je constructor? hoe bedoel je?
 
Wouter J

Wouter J

30/12/2010 11:21:48
Quote Anchor link
Die $type hoeft nergens geget te worden. Dus het is inderdaad wel een handige tip om die private te maken!

En dit bedoel ik met exit in de constructor:
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 formulier {

  private $type;

  public function __construct($type) {
    $mogelijk = array('post', 'get');

    if(!in_array(strtolower($type), $mogelijk) {
      exit('Je hebt een ongeldig type gebruikt');
    }

    else {
      $this->type = $type;
    }
  }
}

?>
 
Tikkes C

Tikkes C

30/12/2010 11:23:38
Quote Anchor link
doe die al maar weg :p haha...werk met een goede foutafhandeling...

als ik per ongeluk een papiertje in een spaarpot steek, ga ik het ook niet stukslaan, ik ga hem openmaken en t eruit halen.
 
Wouter J

Wouter J

30/12/2010 11:27:51
Quote Anchor link
Maar je mag niet returnen in een constructor. Hoe moet ik dan een goede foutafhandeling maken?

Of gewoon werken met een nieuwe var:
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
22
<?php
class formulier {

  private $type;
  private $error;

  public function __construct($type) {
    $mogelijk = array('post', 'get');

    if(!in_array(strtolower($type), $mogelijk) {
      $this->error = 'Type: Je hebt een ongeldige type gebruikt.';
    }

    else {
      $this->type = $type;
    }
  }


  public function error() {
    return $this->error;
  }
}

?>
 
Tikkes C

Tikkes C

30/12/2010 11:29:37
Quote Anchor link
doe gewoon een echo van de error...
 
Jens V

Jens V

30/12/2010 11:31:58
Quote Anchor link
Wouter J op 30/12/2010 11:27:51:
Maar je mag niet returnen in een constructor. Hoe moet ik dan een goede foutafhandeling maken?


Maak een extra method in je klasse die terug geeft of je object al dan niet correct is aangemaakt. Dus voer je je foutafhandeling in die functie. Dit geldt enkel voor je constructor eh. (Dit is een mogelijkheid eh)
 
Wouter J

Wouter J

30/12/2010 11:40:24
Quote Anchor link
Tikkes C:
doe gewoon een echo van de error...

In een functie mag je toch nooit echoen?
Jens V:
Maak een extra method in je klasse die terug geeft of je object al dan niet correct is aangemaakt. Dus voer je je foutafhandeling in die functie. Dit geldt enkel voor je constructor eh. (Dit is een mogelijkheid eh)

Dus zoals ik hem nu heb gemaakt?
 

Pagina: 1 2 volgende »



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.