[oop] eigenschappen worden niet getoond/construct

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Digitale Tovenaar Gezocht: Junior Low-code/No-code

Bedrijfsomschrijving Duik mee in een wereld vol innovatieve avonturen waar gegevens en technologie een magische symbiose aangaan! Al meer dan twee decennia lang zijn we de tovenaars achter de schermen die oplossingen creëren voor de meest complexe klantcontactvraagstukken en datagedreven software-uitdagingen. Bij ons draait het om de kracht van samenwerking en groei. We zijn een hechte vriendengroep die samen bergen verzet om elkaar én onze klanten te laten schitteren. Jouw succes is ons succes en we streven ernaar om elkaar naar nieuwe hoogten te tillen, niet voor even, maar voor altijd. We willen dat jij je helemaal thuis voelt in

Bekijk vacature »

Backend Developer PHP Laravel SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Backend Guild. Hier ga je werken Voor een snel groeiend bedrijf, in de regio Nieuw Vennep, zijn wij opzoek naar een ervaren Backend Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een

Bekijk vacature »

Robot Programmeur

Een verantwoordelijke baan met leuke uitdagingen. Heb jij ervaring met het programmeren van robots? Kan jij goed samenwerken met collega's die verschillende specialisaties hebben? Ben je oplossingsgericht, analytisch en flexibel? Ga dan aan de slag als Robot Programmeur bij Gibas in Nijkerk! Als Robot Programmeur kom je te werken bij Gibas. Dat betekent dat je gegarandeerd meewerkt aan unieke oplossingen in productieprocessen. Bij elk project moet er opnieuw geëngineerd en geprogrammeerd worden. Dat maakt jouw werk uitdagend! Voordat je robots gaat programmeren komt er het volgende bij kijken: De opdracht gaat van de afdeling Sales naar de afdeling Operations door

Bekijk vacature »

Python Developer

Dit ga je doen Als Python Developer ben je verantwoordelijk voor: Het ontwikkelen van Stuurprogramma's in Python zodat er verbindingen kunnen worden gelegd tussen besturingssystemen en (AV) hardware; Het testen en debuggen van Stuurprorgamma's; Het communiceren met noodzakelijke partijen in gevallen waar extra technische details nodig zijn om een Stuurprogramma te ontwikkelen of problemen op te lossen; Het maken van de nodige technische documentatie (in het Engels); Het participeren in een Scrum/Agile omgeving. Hier ga je werken Deze internationale organisatie is wereldwijd een succesvol producent en leverancier van professionele AV hard- en software. Klanten gebruiken de producten o.a. voor het

Bekijk vacature »

PHP developer (Laravel/Vue.js)

Functie Het team telt momenteel 20 collega’s, bestaande uit developers (front- en backend) en het operations team, waaronder ook het management en twee scrum masters vallen. Ze zijn op zoek naar een PHP developer die in staat is zelfstandig te werken. Je komt te werken in één van de drie scrumteams en gaat aan de slag met een project voor de klant. Het fijne hieraan is dat je wel afwisseling hebt qua werk, maar tegelijkertijd doorlopend werkt voor bestaande klanten. Hierdoor krijg je ook de kans om echt de diepte in te gaan en innovatieve technische oplossingen neer te zetten.

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

Bekijk vacature »

Full stack developer

Functie Binnen een ontzettend stimulerende werkomgeving kom jij te werken in een software team van 14 developers. Met ontzettend stimulerend bedoel ik een modern pand, wat voorzien is van alle nodige soft- en hardware, zodat jij jouw werk goed kan uitvoeren. Daarnaast zitten ze in een bos, waardoor je in een groene omgeving rustig kunt werken. Het team bestaat uit front end, back end en full stack developers. Jij krijgt dus de keuze hier waar jij jezelf het liefst op zou richten, maar de voorkeur gaat uit naar back end. Er wordt hier Scrum (agile) gewerkt in multidisciplinaire teams met

Bekijk vacature »

Software Developer Mendix / Maatschappelijk Betrok

Dit ga je doen Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Werken met Scrum methodiek; Ontwikkelen van vooruitstrevende oplossingen; Meedenken over nieuwe applicaties en ontwikkelingen; On the job eigen maken van de Mendix omgeving. Hier ga je werken Deze dynamische en snelgroeiende organisatie begeeft zich in de recyclingbranche. Zij nemen op duurzame en efficiënte manier de recycling op zich. Vanwege hun snelle groei zijn zij op zoek naar een young professional die zich graag wilt ontwikkelen als Mendix Developer. Je komt te werken binnen een IT team van +/- 15 medewerkers. Het huidige ‘vaste’

Bekijk vacature »

.NET developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Senior PHP Developer

Als Senior PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn en coach je andere developers op de hard en soft skills. Wat doe je als Senior PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om

Bekijk vacature »

Lead Front-end developer

Functie Hun huidige applicatie worden ontwikkeld in o.a. React, Redux, TypeScript. Ze werken graag met de nieuwste technieken en tooling en zoeken ook developers die hier proactief op zoek naar gaan. Als senior/lead developer ben je een kartrekker in het team. Naast het meedenken over bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Zo kun je bijvoorbeeld 1 dag in de week met 2 collega’s bezig zijn om samen met hen te kijken naar hun ontwikkeling, doelstellingen en uiteraard de gewenste begeleiding hierin. Hiernaast sta je als

Bekijk vacature »

C# Unity Developer

Functieomschrijving Ontwikkel jij mee door applicaties te bouwen die bijdragen aan het optimaliseren van processen? Voor een erkende werkgever in regio Tilburg zijn wij op zoek naar een Unity C# Developer die graag de uitdaging aangaat! Jouw werkzaamheden zullen er als volgt uitzien: Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Je bent verantwoordelijk voor het uitvoeren van updates/aanpassingen aan de reeds draaiende applicaties. Bedrijfsprofiel Je komt te werken voor een internationale werkgever in regio Tilburg. Samen met een vooruitstrevend team

Bekijk vacature »

Junior Software Developer (HBO / WO)

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Dan hebben wij bij Jelling IT Professionals de perfecte opdrachtgever in de omgeving van Utrecht, die jou tot een volwaardig Fullstack Software Developer gaat opleiden. Binnen deze grote organisatie krijg je ruime en professionele trainingen die jouw in korte tijd vakbekwaam maken. Niet alleen het aan technisch aspect, maar ook zeker jouw persoonlijke ontwikkeling wordt veel

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 »

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 »

Pagina: « vorige 1 2

Koen Vlaswinkel

Koen Vlaswinkel

23/07/2013 15:31:20
Quote Anchor link
Maar als een deel van de constructor wel goed is uitgevoerd, en het andere deel niet goed, weet je niet waar de fout zit. Daarom kan je beter een exception gooien of een standaardwaarde instellen, dan kan je alles tenminste goed afhandelen.
 
PHP hulp

PHP hulp

22/12/2024 05:03:08
 
Kris Peeters

Kris Peeters

23/07/2013 15:41:59
Quote Anchor link
Wat de auteur zegt:

Niet doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
class animal
{
    private $maxvoer = 30;
    public function __construct() {}
}

?>


Wel doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
class animal
{
    private $maxvoer;
    public function __construct() {
        $this->maxvoer = 30;
    }
}

?>


Dat zou ik ook aanraden. Buiten de functies lijst je de eigenschappen (de this-variabelen) op; niets meer. Dat is trouwens een goede plek om commentaar te zetten bij de variabelen.
Een waarde toekennen aan een eigenschap doe je enkel en alleen in methodes (functies).
De constructor is een vrij zinnige plek om dat te doen. Daar dient een constructor zowat voor.
 
Stephan G

Stephan G

10/09/2013 11:06:23
Quote Anchor link
@Kris
Je twee voorbeelden hebben exact dezelfde werking uiteindelijk, toch? Betekent dit dat wat je wil zeggen is dat je alleen om het overzichtelijk toe te kunnen voegen van commentaar voorbeeld nummer twee moet gebruiken? :)
 
Jeroen VD

Jeroen VD

10/09/2013 11:15:38
Quote Anchor link
nee zodra je het flexibeler gaat maken wordt het anders:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
class animal
{
    private $_maxvoer;
    public function __construct($voer) {
        $this->_maxvoer = $voer;
    }
}

//gebruik je zo:
$animal = new animal(30);
$animal2 = new animal(20);
?>

anders zou je een nieuwe setter moet gaan maken voor een flexibele invoer van $_maxvoer, wat veel meer werk geeft
 
Stephan G

Stephan G

10/09/2013 11:28:19
Quote Anchor link
Mee eens, maar niet alle attributen zijn van dit soort ;).
 
Jeroen VD

Jeroen VD

10/09/2013 11:31:20
Quote Anchor link
nee, maar properties die altijd aanwezig moeten zijn, kun je het beste in de construct zetten. zo verplicht je de boel die waardes aan te nemen, en het kost een stuk minder code. je zou natuurlijk altijd een setter kunnen maken om dat aan te passen, maar wat je niet hoeft te doen moet je ook niet doen in OOP
 
Kris Peeters

Kris Peeters

10/09/2013 11:57:09
Quote Anchor link
Stephan G op 10/09/2013 11:06:23:
...is dat je alleen om het overzichtelijk toe te kunnen voegen...


Wel, ik vertaal gewoon wat de auteur vertelt.

Wat de auteur vertelt, en waar ik me ook altijd aan houd, heeft met historische OOP-principes te maken.
Het ding aan principes ... je houdt je er aan. Zelfs wanneer het je een beetje minder uitkomt.

Tot zover dit.

-----
Maar als je het toch wil weten ...

Als je wil weten waarom ik me er aan houd, heeft dit te maken met mijn C / C++ achtergrond.
Uiteindelijk komt het neer op geheugenbeheer.

In C moet je eerst geheugen vrij maken vooraleer je het kan gebruiken.
Bij elke variabele zeg je eerst welk dataType er in moet komen. Het datatype van een variabele kab achteraf niet veranderd worden.

Een integer neemt altijd even veel geheugen in. (het is wel afhankelijk van de compiler-versie en het aantal bit van je computer...), bv. 2 byte.
Een (double) float neemt 4 byte in. ...

Je weet altijd op voorhand precies hoeveel geheugen je gebruikt.

Iets speciaals daarbij is de string. Je weet uiteraard op voorhand niet hoe lang een tekst zal zijn.
Dus, is er een Char pointer. Dit is zoals een windows-snelkoppeling. Het bevat niet de tekst zelf, maar bevat een adres waar je de tekst kan vinden.
Een string is dan een ketting van aaneengeschakelde char's.

Bon, een voorbeeld, in C
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
class mijn_klasse {
  private:
    int score;        // 2 byte
    float gemiddelde  // 4 byte
    char* uitleg;    // 2 byte pointer, die een adres kan bevatten naar een string
  public:
    mijn_klasse() {  // constructor
      uitleg = malloc(10 * sizeof(char));   // gaat ruimte alloceren (vrij maken) ter grootte van 10 karakters
    }
}


Zolang de constructor niet is aangeroepen, weet je precies hoe veel geheugen het object vraagt. Namelijk 8 byte, in dit geval.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
mijn_klasse a;        // declareren van a.
print sizeof(a) ;     // zat 8 byte zeggen
a = new mijn_klasse();// nu pas worden die 10 extra karakters ingenomen.  Nu pas worden de int en float klaar gemaakt zodat ze kunnen gebruikt worden.


Vergeet niet: Programma's draaien lang. Gedurende minuten. Php niet; dat draait maar x aantal microseconden.
In programma's is het dus relevant dat een object pas geheugen gaat vrijmaken net vooraleer je ze nodig hebt.

Dat is, volgens mij, de hoofdreden die aan de basis ligt van dit principe.
Gewijzigd op 10/09/2013 11:57:58 door Kris Peeters
 
Stephan G

Stephan G

10/09/2013 13:06:31
Quote Anchor link
Nou, in ieder geval bedankt voor de uitleg :). Nuttige info! Ken zelf geen C dus leerzaam is het zeker. Ben en was het overigens ook volledig met je eens hoor, maar vind het over het algemeen belangrijk om informatie zo ver mogelijk te ontleden, opdat iedereen die 't leest 't ook volledig snapt en 't niet alleen maar aan hoeft te nemen.
 

Pagina: « vorige 1 2



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.