[oop] eigenschappen worden niet getoond/construct

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back end developer Python, PHP

Functie Jij als full stack ontwikkelaar zult komen te werken samen met 1 PHP ontwikkelaar een PO en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult voornamelijk (lees 75%) werken aan de roostersoftware. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere flexwerkers ingezet kan worden. Verder willen ze financiële koppelingen gaan maken

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

Bekijk vacature »

.NET Developer C#

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken Als C# .NET Developer wordt je verantwoordelijk voor het ontwikkelen van applicaties voor belangrijkste product van deze organisatie. Dit product is een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Er

Bekijk vacature »

Senior Front end developer Digital Agency

Functie Jij als Front end developer komt te werken in een van de 8 multidisciplinaire teams binnen de organisatie. Deze teams werken op basis van Scrum agile in 2 wekelijkse sprints. De grootte van de teams varieert van 9-14 collega’s en bestaan altijd uit één of meerdere project managers en een project manager. Samen met je team werk je aan verschillende projecten voor uiteenlopende klanten zoals grote multinationals tot het kleine mkb. De stack waarmee gewerkt wordt is voornamelijk Javascript, ES6, Es.next, HTML, CSS, React.js en Node.js. Wat deze organisatie onderscheid is dat ze echt langdurige partnerships aangaan met hun

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 »

Softwareontwikkelaar Cleopatra

Functieomschrijving: De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van bromen snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie.De opdracht bestaat uit: het programmeren van de diverse modules;het tijdens demo's tonen van de

Bekijk vacature »

Frontend Developer

Functieomschrijving Voor de NIPV zijn wij opzoek naar een Frontend Developer. Als Frontend Developer ga jij aan de slag om dashboards te bouwen vanuit het datawarehouse. Dit stelt NIPV in staat om snel en eenvoudig bij correcte bedrijfsvoeringsinformatie te kunnen. Je ontwikkelt dashboards in PowerBI, publiceert en onderhoud die, verzameld en verwerkt feedback in overleg met het ontwikkelteam. Naast dashboards ontwikkel en onderhoud je een datamodel in Excel waarmee adviseurs, controllers en analisten in staat worden gesteld om de gegevens uit de dashboards te raadplegen en anders te filteren of bepaalde gegevens nader te verfijnen, zodat verdiepende vragen kunnen worden

Bekijk vacature »

Database Developer

Functie omschrijving Voor een logistieke dienstverlener in omgeving Zuid Beijerland zijn wij op zoek naar versterking. Weet jij als geen ander systemen aan elkaar te koppelen en heb jij goede kennis van SQL en UML, lees dan snel verder! Jouw taken zien er als volgt uit: Je bent in deze rol voornamelijk verantwoordelijk voor het bouwen, implementeren en beheren van koppelingen tussen de bestaande systemen (zowel business 2 business als application 2 application). Daarnaast inventariseer je de wensen van in- en externe klanten, die je vervolgens samen met je collega's, vertaalt naar technische specificaties, die jullie zelf ontwikkelen en implementeren.

Bekijk vacature »

Front-end developer

Functie Als front-end developer kom je te werken in een team van 30 gedetacheerde, en het team is momenteel flink aan het groeien. Je hebt ervaring met het bouwen van complexe bedrijfsapplicaties waar je gebruik maakt van de nieuwste technologieën waarmee jij elke klant omver blaast. Het gaat om uitdagende projecten met een gemiddelde doorlooptijd van 2 jaar. Hierdoor heb jij echt de volledige focus op een project en kun je flinke impact maken. Het team zit boordevol met ervaren developers die samen dezelfde ambitie delen. Aan de hand van opleidingen en trainingen kun je certificaten halen in jouw expertise

Bekijk vacature »

Anaplan Developer

Dit ga je doen What are you going to do: Picking up Stories: Design planning had, how are we going to build it in Anaplan; Talking to the end user to build a forecasting model; Having contact with the data team about which data is needed; Being able to convert an Excel sheet into a 3, 4 or 5 dimensional modeling environment; Giving knowledge sessions about Anaplan; Solving incidents; Making instructional videos on how teams should read forecasts; Writing blogs about forecasting. Hier ga je werken We are looking for an Anaplan Builder to deliver end-to-end solutions within a big

Bekijk vacature »

Java/Kotlin 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 »

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 »

Java Developer

Java Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

Back-end ontwikkelaar

Functie omschrijving Wil jij meebouwen aan diverse databasesystemen in een klein bedrijf met een platte organisatie? In een team van ruim 10 ontwikkelaars wordt er aan diverse ICT oplossingen gewerkt. Jouw taken hierbij zullen bestaan uit: Het onderhouden en door-ontwikkelen van bestaande databases. Denk hierbij aan schema verbeteringen en performance-tuning. Bij nieuwe ontwikkelingen ga jij ook bezig met het bouwen van het databaseschema. Omdat je in een klein team werkt zal je ook de C# routine verder uitbouwen en ontwikkelen. Ook kan je meedraaien in algemene refactory-, ontwikkel- of testwerkzaamheden. Je zal voornamelijk gebruik maken van de volgende technieken: .NET

Bekijk vacature »

Pagina: 1 2 volgende »

Haubebla haubebla

haubebla haubebla

21/05/2013 17:54:16
Quote Anchor link
Hey!
Ik ben net begonnen met OOP, en ik was een klasse aan het schrijven om een soort diertjes te maken.

Dit is de klasse:
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
class animal
{
//initalisatie
    private $maxvoer = 30;
    private $gevoerd = 10;
    private $health = 100;
    private $leeftijd = 0;
    private $gemaakt;
    private $soort;
    private $name;

//contructor
    public function __construct() {}
    
//method: toon_eigenschappen
    function toon_eigenschappen()
    {

    //initalisatie
        $this->leeftijd = tijd_verschil(time(),(real)$this->gemaakt);
        
        $soort = $this->soort;
        $gemaakt = $this->gemaakt;
        $leeftijd = $this->leeftijd;
        $naam = $this->name;
        $health = $this->health;
        $maxvoer = $this->maxvoer;
        $voer = $this->gevoerd;
        
        $content = "
<h3>$naam</h3>
Soort: $soort.<br />
Gemaakt: $gemaakt.<br />
Leeftijd: $leeftijd.<br />
Gezondheid: $health.<br />
Maxvoer: $maxvoer.<br />
Gevoerd: $voer.<br />
Naam: $naam.
        "
;
        echo $content;
    }
}


class metrix extends animal
{
    public function __construct($naam,$maxeten=30)
    {

        $this->maxvoer = $maxeten;
        $this->gemaakt = 1000000;
        $this->soort = 'metrix';
        $this->name = $naam;
    }
}

function
tijd_verschil($nu,$toen)
{

    if ( (!is_numeric($nu) ) || (!is_numeric($toen) ) )
    {

        trigger_error('Error in tijd_verschil: een van de tijden is geen UNIX tijd, $toen = '.$toen,E_USER_NOTICE);
        return;
    }

    $resultaat = $nu - $toen;
    
    $resultaat = date('G \u\r\e\n i \m\i\n\u\t\e\n \e\n s \s\e\c\o\n\d\e\n',$resultaat);
    
    return $resultaat;
}

?>


Dit is de aanroep:

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
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta name="generator" content="HTML-Kit Tools" />
  </head>
<body>

<?php
require_once 'animals.class.php';

$nu = new metrix('Hallo');
$nu->toon_eigenschappen();
?>

</body>
</html>


Nu krijg ik dit als resultaat:
Quote:
Soort: .
Gemaakt: .
Leeftijd: 15 uren 48 minuten en 49 seconden.
Gezondheid: 100.
Maxvoer: 30.
Gevoerd: 10.
Naam: .

De tijd klopt dus niet en soort, gemaakt en naam worden niet getoond.
Ik kan de fout niet kunnen vinden (als beginner), dus kunnen jullie het vinden?
 
PHP hulp

PHP hulp

14/05/2024 14:23:52
 
Stephan G

Stephan G

24/05/2013 14:29:13
Quote Anchor link
Waar het fout gaat is dat je in de class animal een aantal waardes definieert als private. Deze waardes zijn dus alleen toegankelijk door de class animal en niet door classes die daarvan afstammen. De functie toon_eigenschappen() haalt $this->name op, maar in de ge-extende class metrix bestaat dat attribuut niet, omdat private attributen niet worden meegenomen bij het extenden. Als je in de animal class het woordje private voor je attribuutnamen verandert in protected (mag worden gebruikt door huidige class en alle afstammelingen, maar niet daarbuiten of public (mag altijd door alles worden gebruikt), zou het wel moeten werken.
 
Haubebla haubebla

haubebla haubebla

24/05/2013 14:35:29
Quote Anchor link
Hieperdepiep hoera!
Bedankt, wat ben ik toch stom.
Ach, beginnersfout.
 
Erwin H

Erwin H

24/05/2013 15:19:08
Quote Anchor link
Behalve dan dat je properties nooit public moet maken (en wat mij betreft ook nooit protected). Het ingeven en uitlezen van data doe je via setters en getters. Die methodes maak je vervolgens protected of public en op die manier kan je de waarde van een property veranderen. Hiermee voorkom je dat je later in de problemen komt als je de structuur van je class wilt aanpassen. Als er namelijk een andere class direct in je properties kan schrijven dan kan je nagenoeg nooit meer testen of je veranderingen wel werken.
 
Haubebla haubebla

haubebla haubebla

24/05/2013 15:21:22
Quote Anchor link
Erwin H op 24/05/2013 15:19:08:
Behalve dan dat je properties nooit public moet maken (en wat mij betreft ook nooit protected). Het ingeven en uitlezen van data doe je via setters en getters. Die methodes maak je vervolgens protected of public en op die manier kan je de waarde van een property veranderen. Hiermee voorkom je dat je later in de problemen komt als je de structuur van je class wilt aanpassen. Als er namelijk een andere class direct in je properties kan schrijven dan kan je nagenoeg nooit meer testen of je veranderingen wel werken.


Er zijn bijna geen objecten uit de klasse animal, dat is dus niet van belang.
 
Erwin H

Erwin H

24/05/2013 15:26:14
Quote Anchor link
Dan begrijp je niet wat ik zeg.... Het gaat niet om nu, het gaat om de toekomst. Het argument wat je geeft is dezelfde reden waarom we in het jaar 2000 allemaal dachten dat alle systemen plat zouden gaan. Als je echt met OOP aan de slag wilt (wat je titel doet vermoeden), dan staat elke class opzich. Elke class moet kunnen werken zonder zich zorgen hoeven te maken wat andere classen doen. Dat bereik je door een class dicht te zetten voor directe aanpassingen erin door anderen. Wat jij nu doet is het tegenovergestelde.

Maar goed, je komt er vanzelf achter als je wat langer bezig bent. Jammer dan wel dat je dan veel meer werk hebt aan het corrigeren van dit soort beginnersfouten dan dat je er nu aan zou hebben.

Toevoeging op 24/05/2013 15:30:06:

Voorbeeld: ik gok dat je over niet al te lange tijd erachter komt dat het property 'leeftijd' niet zo slim is. Dat property zal je namelijk elk jaar moeten aanpassen.... Als je nu geboortedatum (of jaar) opslaat hoeft dat. Dan kan je leeftijd gewoon uitrekenen.

Heb je nu een class die direct dat property uitleest dan heb je een probleem. Dan moet je ook die class aanpassen. Maar, als je het via een getter laat lopen dan hoef je alleen de getter aan te passen (die nu de leeftijd zal uitrekenen) en alle andere classes zullen er niets van merken. Scheelt je een hoop tijd en ellende kan ik je verzekeren.
 
Stephan G

Stephan G

24/05/2013 15:54:12
Quote Anchor link
Hmmm ja zo hier en daar kan dat handig zijn, maar dat vind ik zeker niet altijd nodig. Voor sommige properties is het om het even of je nu direct een getter/setter schrijft, of dat je het later doet. Of je die tijd er nou nu insteekt, of later: het blijft evenveel tijd, maar wie weet levert het je op de korte termijn tijdswinst op als je het niet direct doet.

Zo vind ik het best acceptabel dat je het object "Person" een public property "name" geeft, die je dan niet hoeft op te vragen d.m.v. $Person->getName(), maar d.m.v. $Person->name;. Duidelijk genoeg naar mijn smaak :). Maar ieder z'n voorkeur. Op den duur kom je er vanzelf achter wat wel en niet werkt. Als je je class gaat extenden kun je er altijd op dat moment voor kiezen om nog een getter functie te schrijven als je die nodig blijkt te gaan hebben.
 
Haubebla haubebla

haubebla haubebla

24/05/2013 16:03:01
Quote Anchor link
Leeftijd wordt door functie tijd_verschil() uitgerekend, op bassis van de geboortedatum (later uit database) en time(), daar hoef ik dus niks aan aan te passen.
 
Erwin H

Erwin H

24/05/2013 16:10:00
Quote Anchor link
Stephan G op 24/05/2013 15:54:12:
Hmmm ja zo hier en daar kan dat handig zijn, maar dat vind ik zeker niet altijd nodig. Voor sommige properties is het om het even of je nu direct een getter/setter schrijft, of dat je het later doet. Of je die tijd er nou nu insteekt, of later: het blijft evenveel tijd, maar wie weet levert het je op de korte termijn tijdswinst op als je het niet direct doet.

Zo vind ik het best acceptabel dat je het object "Person" een public property "name" geeft, die je dan niet hoeft op te vragen d.m.v. $Person->getName(), maar d.m.v. $Person->name;. Duidelijk genoeg naar mijn smaak :). Maar ieder z'n voorkeur. Op den duur kom je er vanzelf achter wat wel en niet werkt. Als je je class gaat extenden kun je er altijd op dat moment voor kiezen om nog een getter functie te schrijven als je die nodig blijkt te gaan hebben.

Je begrijpt volgens mij de insteek niet. Als je een class maakt met public properties dan kan je vast 'later' nog wel een setter schrijven. Maar ga je dan ook al je andere code langs om even te kijken waar precies dat property direct wordt aangesproken? Heb je enig idee hoeveel code je dan langs moet gaan? Als je het meteen goed doet heb je nooit(!) last van.

Maar goed, ik heb deze discussie inmiddels meerdere keren gevoerd op dit forum en hoewel ik begrijp dat meningen verschillen doet het me altijd deugd om mensen om te zien gaan naar private properties omdat ze er later toch achter komen dat dat toch echt slimmer is. Andersom ben ik het nog nooit tegen gekomen. Dus: doe vooral wat je wilt, maar denk hier nog eens aan terug als je de volgende keer weer al je code door moet spitten opzoek naar die ene plek waar dat property werd aangesproken dat je nu weg wilt halen....
 
Haubebla haubebla

haubebla haubebla

24/05/2013 16:11:26
Quote Anchor link
Als PHP een foutmelding ziet zie je toch gelijk het bestand en regelnummer?
 
Erwin H

Erwin H

24/05/2013 16:14:56
Quote Anchor link
Jij hebt zeker nog niet zoveel ervaring?

Ik heb meerdere websites draaien gebouwd op hetzelfde framework. Als ik iets in mijn framework verander en dat uitrol dan wil ik niet alle websites en alle pagina's en alle test cases langs moeten gaan om te zien of ik ergens misschien een foutmelding krijg. Los van het feit dat je nog steeds al die foutmeldingen moet oplossen. Als je het gewoon direct goed doet hoef je NIETS op te lossen.
 
Haubebla haubebla

haubebla haubebla

24/05/2013 16:24:05
Quote Anchor link
Ik heb maar een website, en ik ga mijn classes enzo nog niet publiceren.

En ik heb wel wat ervaring (vooral met databases en mysql), alleen niet op het gebied van OOP.
 
Erwin H

Erwin H

24/05/2013 16:28:31
Quote Anchor link
Zoals ik zei, doe vooral wat je wilt. Ik geef een tip waarvan ik weet dat veel mensen die in eerste instantie niet willen aannemen, maar er vaak later toch op terugkomen. Aan jou de keuze wat je ermee doet...
 
Stephan G

Stephan G

24/05/2013 16:40:20
Quote Anchor link
Doe gewoon wat voor jou werkt :). Als je het nut er nog niet van inziet, geen probleem. Doe het niet als je het niet wil, en als je je ooit bedenkt, dan moet je misschien wat aanpassen, maar dan snap je het wel meteen helemaal. Ik gebruik ook bijna geen classes waarin ik public properties aanmaak, maar als ik dat doe, dan maak ik wel een __get() en __set() functie erbij om die in ieder geval nog ietwat onder controle te hebben. Mocht je daar meer over willen weten, google dan even op "php magic methods". Good luck =]!
Gewijzigd op 24/05/2013 16:40:53 door Stephan G
 
Ozzie PHP

Ozzie PHP

24/05/2013 18:16:45
Quote Anchor link
Erwin geeft hier zeer nuttige tips. Wat je ermee doet moet je zelf weten, maar ik zou er gebruik van maken.
 
Haubebla haubebla

haubebla haubebla

23/07/2013 11:33:37
Quote Anchor link
Ik ben het met stephan G eens, ik snap het nu nog niet.
En van schade en schande wordt men wijs.
 
Ward van der Put
Moderator

Ward van der Put

23/07/2013 14:43:41
Quote Anchor link
Initialiseren? Ik las laatst in een [OOP]-boek dat initialiseren zo "not done" is dat de auteur niet eens wilde uitleggen waarom... Iemand die daarover iets meer kan zeggen?
 
Kris Peeters

Kris Peeters

23/07/2013 14:58:47
Quote Anchor link
Dan zou ik die uitleg van de auteur toch wel eens willen horen.
Ik kan me verschillende situaties voorstellen waarbij een init() methode nuttig kan zijn.

Maar meer nog; zo kan ik ook boeken schrijven.
Doe gewoon wat ik zeg. Waarom? Daarom!
 
Ward van der Put
Moderator

Ward van der Put

23/07/2013 15:14:52
Quote Anchor link
Het ging meer precies om deze passage uit Advanced PHP Programming van George Schlossnagle.

George Schlossnagle - Advanced PHP Programming:
Handling Constructor Failure
Handling constructor failure in an object is a difficult business. A class constructor in PHP must return an instance of that class, so the options are limited:

• You can use an intialized attribute in the object to mark it as correctly initialized.

• You can perform no initialization in the constructor.

• You can throw an exception in the constructor.

The first option is very inelegant, and we won't even consider it seriously. The second option is a pretty common way of handling constructors that might fail. […]
Gewijzigd op 23/07/2013 15:15:29 door Ward van der Put
 
Koen Vlaswinkel

Koen Vlaswinkel

23/07/2013 15:23:12
Quote Anchor link
Probeert hij hiermee niet te zeggen dat je een attribuut zoals $initialized aanmaakt en daarin true of false zet, en deze dan uitlezen waar je hem zou gebruiken?
 
Ward van der Put
Moderator

Ward van der Put

23/07/2013 15:29:29
Quote Anchor link
Koen Vlaswinkel op 23/07/2013 15:23:12:
Probeert hij hiermee niet te zeggen dat je een attribuut zoals $initialized aanmaakt en daarin true of false zet, en deze dan uitlezen waar je hem zou gebruiken?

Zoiets zal het inderdaad zijn, alleen vraag ik me af waarom je dat niet zou doen in bijvoorbeeld de constructor of een aparte init(). Als ik mijn auto initialiseer, gaan er ook na verschillende controles lampjes branden. En een geel lampje of, nog erger, rood lampje is niet okay, maar dat betekent nog niet dat de bijbehorende eigenschappen of het gehele object volledig onbruikbaar zijn.
 

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.