Section 3.2. Objects


3.2. Objects

The main difference in OOP as opposed to functional programming is that the data and code are bundled together into one entity, which is known as an object. Object-oriented applications are usually split up into a number of objects that interact with each other. Each object is usually an entity of the problem, which is self-contained and has a bunch of properties and methods. The properties are the object's data, which basically means the variables that belong to the object. The methodsif you are coming from a functional backgroundare basically the functions that the object supports. Going one step further, the functionality that is intended for other objects to be accessed and used during interaction is called an object's interface.

Figure 3.1 represents a class. A class is a template for an object and describes what methods and properties an object of this type will have. In this example, the class represents a person. For each person in your application, you can make a separate instance of this class that represents the person's information. For example, if two people in our application are called Joe and Judy, we would create two separate instances of this class and would call the setName() method of each with their names to initialize the variable holding the person's name, $name. The methods and members that other interacting objects may use are a class's contract. In this example, the person's contracts to the outside world are the two set and get methods, setName() and getName().

Figure 3.1. Diagram of class Person.


The following PHP code defines the class, creates two instances of it, sets the name of each instance appropriately, and prints the names:

 class Person {     private $name;     function setName($name)     {         $this->name = $name;     }     function getName()     {         return $this->name;     } }; $judy = new Person(); $judy->setName("Judy"); $joe = new Person(); $joe->setName("Joe"); print $judy->getName() . "\n"; print $joe->getName(). "\n"; 



    PHP 5 Power Programming
    PHP 5 Power Programming
    ISBN: 013147149X
    EAN: 2147483647
    Year: 2003
    Pages: 240

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net