![]() |
[PHP] OOP Probleempje
Ik heb net OOP programmeren ontdekt, en ik ben nog een beetje spoorloos.
Ik heb gehoord dat alle variablen die je gebruikt in je classe, in je classe gedefinieerd moeten zijn. Ik neem het volgende voorbeeld: PHP-code:
|
Met "this" geef je aan dat het de variabelen in de klasse zelf betreft. Het is een verwijzing naar het object "page". Corrigeer me maar als dit fout is....
De variabele "$lib_path" wordt als argument met de functie meegegeven. Deze hoeft daarom niet perse in de klasse zelf gedefinieerd te worden. Echter wanneer je een variabele in klasse "$lib_path" noemt, moet je deze een waarde geven middels de code $this->lib_path = $lib_path;. Dit vult de variabele in de klasse met de waarde meegeven via het argument in de functie. Even een JAVA voorbeeld (Lijkt veel op PHP): // Een stukje code van mijn Tetris Applet protected class Matrix { protected int xyz[][]; Matrix (int xyz[][]) { this.xyz = new int[4][8]; if (xyz != null) { for (int i=0; i<4; i++) for (int j=0; j<8; j++) { this.xyz[i][j] = xyz[i][j]; } } } } Je ziet dat xyz als argument wordt meegeven, maar ook in de klasse bestaat. Om nu conform de regels deze variabele te vullen, moet dit gedaan worden met de regel this.xyz[i][j] = xyz[i][j];. Ik hoop dat je deze uitleg een beetje snapt..... :rolleyes: |
Citaat:
$this wordt meestal gebruikt om member variabelen te benaderen als deze door lokale variabelen onzichtbaar zijn gemaakt. Voorbeeld: Code:
|
Alleen is $this in PHP verplicht, terwijl het in Java alleen gebruikt wordt om onderscheid te maken als dat niet duidelijk is tussen een lokale en een object-wide variabele.
|
Alle tijden zijn GMT +1. Het is nu 13:43. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.