|
Posted by Colin Fine on 10/13/05 22:15
Samuel wrote:
> In general, OOP is more or less what your example shows. The class
> defines what the object is and can do, while the object actually *is*
> something (an instance of the class) and *does* something. See if this
> pseudocode helps...
>
>
> Class Dog
> {
> var race;
> var food_it_likes;
>
> function Bark
> {
> ...
> }
>
> function Poop
> {
> ...
> }
>
> } //End Dog Class
>
>
> //You have just defined what a dog is and can do, so that you can have
> multiple dogs doing stuff. Then, in your program...
>
> Dog Vincent;
> Dog Toby;
>
> Toby.race = "Scottish Terrier";
> Toby.food_it_likes = "Tasty Chicken";
> Vincent.race = "Chiuaua";
> Vincent.food_it_likes = "Human Flesh";
>
> Vincent.Bark;
> Toby.Poop;
>
> //You now *actually* have two dogs who can bark and poop. One is
> barking (Vincent the scary assasin little chiuaua), and the other is
> pooping (Toby the elegant black Scottish).
>
> Greetings
>
This is obviously not PHP syntax (Samuel even says it's pseudocode), but
it could easily mislead people into a mistake that I kept making when I
started:
The PHP for some of those lines might be
$Vincent->race = "Chihuahua";
but
$Vincent->Bark();
If you leave out the parens, it's an (undeclared) property (variable)
not a method (function).
Colin
[Back to original message]
|