[OOP] Variabelen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer

Dit ga je doen Als Java Developer ben je verantwoordelijk voor: Het ontwikkelen van nieuwe en bestaande webservices; Het uitbreiden van functionaliteiten binnen de producten- en dienstenportefeuille; Het werken aan gegevensuitwisseling met bijvoorbeeld SOAP; Testen van frameworks met gebruik van UNIT en Selenium. Hier ga je werken De organisatie waar je komt te werken is een semi-overheidsinstelling, gesitueerd in Utrecht en zorgt voor een goede samenwerking tussen verschillende overheidsinstanties. Het is een familiaire club die gaat voor kwaliteit en langdurige relaties. Zo zorgen zij ervoor dat er op grote schaal vertrouwelijke informatie tussen verschillende overheidsinstellingen wordt uitgewisseld. Hun werk zorgt

Bekijk vacature »

Front-end developer - working on software for arou

Functie They have recently started looking for an experienced Front-end (mobile/app) developer. Because of the short lines within the team, they are also looking for someone who can communicate with the service desk, sales and support for technical questions. You will join their IT team consisting of about 10 colleagues divided over two teams in rooms opposite each other. Half of these are involved in their front-end. You will work together with, among others, the Architect, 1 senior, 1 junior and there is a Team Leader. In terms of technology, they work with a unique tech-stack, particularly because of the

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van IT Operations Manager! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van

Bekijk vacature »

.NET Developer

Dit ga je doen Binnen het team bouw je aan een applicatie met andere .Net Developers, testers een Product Owner en een Business Analyst. Met het team wordt de backlog besproken. In overleg claim jij jouw deel en zorgt ervoor dat onderhoud en innovatie wordt gerealiseerd. Het project dat momenteel draait is het opgraden van de omgeving. Doorontwikkelen van de huidige applicatie; Overleggen met teamleden om de backlog te verdelen; Onderhouden van de huidige omgeving; Sparren met de business en het ophalen van nieuwe requirements. Hier ga je werken De organisatie is een van de grootste landelijke aanbieder van diverse

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 »

Medior/senior Python developer

Functie Bedrijven komen bij deze organisatie om technische vraagstukken op te lossen en hierin ook tot oplossingen te komen waar ze zelf misschien niet aan gedacht hadden. Jij gaat vanuit je ervaring dus niet alleen hands-on aan de slag met het ontwikkelen, maar zult ook zeker adviseren en proactief meedenken met de klant. Er zijn meerdere lange en/of korte projecten en het type klanten is heel uiteenlopend. Zo kun je terecht komen in een multidisciplinair scrumteam waarin je als Python developer meewerkt, of juist voor een kleiner (Greenfield) project aan de slag gaan waarin je veel breder bezig bent. Door

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

Senior Java Ontwikkelaar

Dit ga je doen Werken aan uiteenlopende interne projecten voor grote (internationale) organisaties; Ontwikkelen van diverse (web)applicaties en platformen met technieken als Java, Azure en ASP.NET; Complexe vraagstukken tackelen met jouw expertise en ervaring; Waar nodig help jij je collega's om samen tot de juiste oplossing te komen. Hier ga je werken Als Java Developer kom je te werken bij een internationale organisatie in regio Amsterdam die zich richt op procesoptimalisatie door middel van zeer complexe IT oplossingen. Dit doen zij op het allerhoogste niveau met vestigingen over heel de wereld en met een groot aantal aansprekende, maatschappelijk betrokken klanten.

Bekijk vacature »

Software Developer PHP JavaScript Python HBO SQL

Samengevat: Wij zijn een softwarebedrijf voor Autodealers. Ben jij een Medior of Senior Software Developer? Heb je ervaring met PHP, JavaScript of Python? Vaste baan: Java.Developer Software HBO €3.000 - €5.200 Bij ons op de werkvloer is er een positieve en informele sfeer. Naast een goede begeleiding en een enthousiaste klantenkring biedt deze werkgever een prettige omgeving met zeer afwisselende werkzaamheden. Houd jij van aanpakken en denk je dat je deze uitdaging aankunt? Dan zoeken wij jou! Zij werken voor grote klanten. Zij doen omvangrijke projecten die we bij deze werkgever op kantoor realiseren (geen detachering). Zij werken met state-of-the-art

Bekijk vacature »

Java Developer

Dit ga je doen Ontwerpen en bouwen van nieuwe functionaliteiten binnen de complexe omgeving; Proactief de processen kwalitatief en efficient inrichten; Opzetten van Unit Tests; Code Reviews; Regie nemen voor innovatieve projecten; Landschap beheren en de bijbehorende ketens hierbij in het oog houden. Hier ga je werken De organisatie is actief binnen de financiele branche en heeft een IT afdeling van circa 450 man. De organisatie voorziet de maatschappij binnen de financiele dienstverlening en is gedurende de jaren een onmisbare schakel geworden. Het is een high profile organisatie waar ze veel te maken hebben met veranderingen voortkomend uit maatschappelijke ontwikkelingen,

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een development team met één Senior .NET developer en één junior .NET developer. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit moment veel gebruik van .NET met ASP.NET. Komend kwartaal gaan wij wel gedeeltelijk overstappen naar .NET Core. Verder werken wij ook met SOAP, REST, JSON, HTML5, CSS3

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 »

Freelance Fullstack Java Developer

Functieomschrijving Voor een opdrachtgever in omgeving Rotterdam zijn wij op zoek naar ervaren Fullstack JAVA Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid hebben

Bekijk vacature »

PHP/Symfony developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Bergen op Zoom ben je als PHP/Symfony Developer niet alleen bezig met software ontwikkeling. Je bent buiten ontwikkeling ook continu bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Techstack: PHP, Symfony & mySQL. Jouw takenpakket ziet er als volgt uit: Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden

Bekijk vacature »

.NET developer

Functie Heb jij veel kennis van ASP.NET Webforms en wil jij juist de overstap maken naar ASP.NET Core? Wij zijn per direct op zoek naar een ervaren .NET Webdeveloper die met ons samen ons platform wilt herschrijven van ASP.NET Webforms naar ASP.NET Core. Voor jou de unieke kans om met ons samen te innoveren en kennis op te doen van de nieuwste technieken binnen de Microsoft Stack. Wij hebben een development team met 10 IT specialisten bestaande uit onder andere 4 backend .NET developers en twee front-end developers. Wij zijn continu bezig om ons als team en bedrijf te blijven

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

24/04/2024 06:44:57
 

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.