[OOP] Variabelen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf. Lees dan snel verder! Voor deze functie zoeken wij een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Daarnaast begeleid je complexe projecten, wij zoeken iemand die altijd kansen ziet en waarbij het glas altijd half vol is. Voor deze functie zoeken wij een Developer met ervaring op het gebied van .NET die deze organisatie gaat versterken. Binnen de organisatie ga jij je vooral bezighouden met het verbeteren van

Bekijk vacature »

Front-end developer Consultancy in teamverband wer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers. Momenteel zijn ze op zoek naar een ervaren Front-end of Fullstack developer die samen met de consultants aan de slag gaat om de business requirements te vertalen naar technische oplossingen. Los van het finetunen van extenties, help je bij het configureren van bijvoorbeeld een mobiel bankieren app. Hierin ben je van A tot Z betrokken en zie je bijvoorbeeld ook toe op de uitvoering van testen. Je expertise wordt optimaal benut en je krijgt verschillende kansen om deze uit te breiden door met verschillende innovatieve technologieën aan

Bekijk vacature »

Java Developer

Dit ga je doen Het ontwikkelen van nieuwe software; Het ombouwen van de bestaande software; Zowel back- als front-end software ontwikkelen; Het testen; Het implementeren van de volledig geteste software; Het verzorgen van nazorg en het oplossen van bugs; Het opstellen en bijhouden van procesdocumentatie; Je draagt bij aan het agile/scrum processen van het team. Hier ga je werken Ongetwijfeld heb je een of meerdere producten van deze organisatie in huis. Het proces erachter, daar ben je ongetwijfeld minder bekend mee. Deze opdracht geeft je de kans meer over dit proces te weten te komen en een mooie bijdrage te

Bekijk vacature »

IT Manager team PaaS

TenneT is hard groeiende om haar 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 Lead PaaS die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je wordt de Teammanager (Lead) van een nieuw team binnen de afdeling Basic van Information Technology and Facilities (ITF) van TenneT. Het team heet Platform as a Service. Hier wordt elke dag in een goede sfeer met zijn allen hard gewerkt om vanuit IT

Bekijk vacature »

Leidinggevend Full Stack Developer

Hé jij, nieuwe Pinkcuber! Ga aan de slag bij Pinkcube, online leverancier van promotieartikelen! Een innovatieve organisatie waar extra stappen zetten voor klanten de normaalste zaak van de wereld is. Ambitieus zijn we ook. ‘Naoberschap’ staat bij Pinkcube hoog in het vaandel; we helpen elkaar en iedereen is welkom. Pinkcube is Great Place to Work Certified, erkend leerbedrijf, maatschappelijk betrokken partner van stichting Present en partner van CliniClowns. En misschien wel jouw nieuwe werkgever. Wij zoeken namelijk een enthousiaste: Leidinggevend Full Stack Developer (40 uur, medior/senior) Ben jij klaar om baanbrekende ideeën tot leven te brengen en deel uit te

Bekijk vacature »

PHP ontwikkelaar

Functie Jij komt te werken in een development team van 9 man. Het grootste deel doet back end development en daarnaast is er 1 teamlead en 1 tester in het team. Dit Agile team is van groots belang voor de organisatie omdat zij voornamelijk alle eigen systemen in-house ontwikkelen. Naast het door ontwikkelen van het bestaande platform en de software die daarbij komt kijken, zul jij je ook bezighouden met het realiseren en opzetten van nieuwe projecten binnen het bedrijf. Je staat nauw met de klant in contact om zo hun wensen zo goed mogelijk te kunnen realiseren. Daarnaast ontwikkel

Bekijk vacature »

Senior Lead Front End Developer

Functieomschrijving Voor Stichting Waternet zijn wij op zoek naar een senior Lead Front End Developer. Binnen het DevOps team Online zijn we op zoek naar een Senior Lead Front End developer met kennis van toegankelijkheid. Deze developer zal zich bezighouden met development van webpaginas die in verbinding staan met systemen uit het back office. Taken Ontwerpen, ontwikkelen, implementeren, documenteren en beheren van webapplicaties in een Azure-omgeving Debuggen, analyseren en oplossen van problemen in de OTAPomgevingen Je participeert in het DevOpsTeam Online voor het verder uitwerken en implementeren van gebruikerswensen Je bent betrokken bij toegankelijkheid audits en het implementeren van WCAG

Bekijk vacature »

C# developer

Functie omschrijving We are looking for a dutch native speaker Ik ben op zoek naar een back-end developer, die met name kennis & ervaring heeft van de programmeertaal C#. Jij gaat aan de slag bij een topspeler in de logistieke sector, die zich behalve met logistiek, ook bezig houdt met softwareontwikkeling. Welke taken komen hierbij kijken? Je gaat desktop- en webapplicaties onderhouden en optimaliseren, waarin je werkt met o.a. C#, ASP.NET, SQL Server en T-SQL. Je hebt regelmatig klantcontact om de wensen in kaart te brengen en te evalueren over de huidige draaiende applicaties. Je implementeert nieuwe functionaliteiten toe aan

Bekijk vacature »

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

Bekijk vacature »

Functioneel applicatiebeheerder - SOP-SYS-SAM

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 Functioneel Applicatiebeheerder voor het financiele domein op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op

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 »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

IoT Software Developer PHP

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een IoT software developer met kennis van PHP. In deze rol wordt je verantwoordelijk voor het vernieuwen van het multimedia platform van een super tof bedrijf in Breda. Je gebruikt PHP als programmeerlaag, en bent in staat om de helicopterview te pakken / projectmatig te werken. Jouw werkzaamheden zien er als volgt uit: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "intern" ontwikkelde multimedia platform. Je neemt de lead in het moderniseren van het platform door het deels opnieuw op te zetten of

Bekijk vacature »

TypeScript developer (tot € 6.000, - bruto pe

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een ervaren Typecript developer die niet alleen zichzelf verder ontwikkelt, maar het ook leuk vinden om op termijn meer junior collega’s op pad te helpen. Je zult aan de slag gaan met het migreren van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde aan User Experience en kiezen ze duidelijk voor kwaliteit i.p.v. snelheid. Je krijgt dus de ruimte om vanuit gedegen onderzoek te werk te gaan en het borgen van kwaliteit staat hoog in het vaandel.

Bekijk vacature »

Medior/Senior Software Developers gezocht in de Ra

Functie Op dit moment staan er posities open voor de volgende functies: Front-end, Back-End & Fullstack software developer. Als Front-End software developer werk je met JavaScript en de bijbehorende technologieën zoals TypeScript, Angular, React, Vue en Svelte. Als Back-End software developer ben je bezig in NodeJS en doe je dit met behulp van AWS, NoSQL, REST en GraphQL. Je krijgt leuke en uitdagende opdrachten met een gemiddelde duur van anderhalf jaar. Hier werk je in een team met andere IT’ers aan het ontwikkelen en verbeteren van software. Je wordt begeleid door een accountmanager die fungeert als jouw aanspreekpunt. Het team

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

14/05/2024 15:44:29
 

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.