Classes
are used to group functions and variables in a single unit. Once you define a
class, you can instantiate any number of objects from that class.
Objects and class in Real World scenario
Object
An Object is a real world entity. For example, book, cat, box, bus,
keyboard, person, screen, cell phone etc., all are objects.
So How can we differentiate objects
1.
Depend on their properties
2.
Depend on their behaviors
Differentiating two objects based on their
properties
Let’s say, there are two persons A and B, we already discussed, each
real time entity is an object. So these two persons are objects.
First let’s try to find what are the possible properties for the person
object
Possible properties of a person
height, weight, colour, Education Qualification, country, address are
all come under person properties.
Now by comparing these properties we can easily differentiate two
persons.
Properties
|
Person A
|
Person B
|
Height
|
6ft
|
5.5ft
|
Weight
|
75Kg
|
60Kg
|
Color
|
white
|
Black
|
Country
|
India
|
America
|
As shown in the above table, both the persons has their own properties,
So we can differentiate based on them.
Differentiating two objects based on their behaviour
consider the same two persons A and B. will try to figure out possible behaviours
for the person object
Possible behaviours are
walk, run, swim, eat, sleep, see, hear etc., Now by comparing these
behaviors we can easily differentiate two persons.
Behavior
|
Person A
|
Person B
|
Walk
|
10km/hr
|
12km/hr
|
run
|
20km/hr
|
18km/hr
|
sleep
|
8 Hrs/day
|
6Hrs/day
|
Class
In normal terms I call class as a category.
All persons come under Human category
cat, lion, Elephant come under Animals Category
So a class or category is a group of objects with similar properties and
behaviours.
Objects and class in Programming Terminology
What Is an Object?
An object is a software bundle of related state and behavior. The main
advantage of java is you can compare objects in Java with real world objects.
So it is very easy to work with objects in Java
What Is a Class?
A class is a blueprint or prototype from which objects are created.
How to
define a class?
You can
define a class using ‘class’ keyword.
Syntax
class ClassName{
}
As per the
convention, class name starts with a capital letter and every first character
in subsequent word also a capital letter.
Example
1
class Person{
}
Example
2
class EmployeeInfo{
}
What
are properties and methods?
Variables
defined in a class are called properties and functions defined in a class are
called methods.
How to
define properties in a class?
Using ‘var’ keyword,
you can define properties in a class. For example, following snippet defines
four variables $id, $first_name, $last_name and $age.
class Employee{
var $id;
var $first_name;
var $last_name;
var $age;
......
......
}
What is
constructor?
Constructor is used
to instantiate an object at the time of creation. You can define a construction
using ‘function’ keyword and __construct function.
class Employee{
var $id;
var $first_name;
var $last_name;
var $age;
function __construct($id, $first_name, $last_name, $age){
$this->id = $id;
$this->first_name = $first_name;
$this->last_name = $last_name;
$this->age = $age;
}
......
......
}
$this is
used to refer current instance or object properties.
Public
and private methods
Within a
class, you can define both public and private method. Public methods can be
called by an object, whereas private methods are accessible within the class.
You can
define a public method using ‘public’ keyword.
public function set_age($new_age){
$this->age = $new_age;
}
You can
define a private method using ‘private’ keyword.
private function full_name(){
return $this->get_first_name() . ',' . $this->get_last_name();
}
How to
define an object?
An object
is created using new keyword followed by class name and constructor arguments.
Example
$emp1 =
new Employee(1, 'Krishna', 'Gurram', 31);
How to
call the methods of an object?
Syntax
$object_name
-> method_name(arguments);
Example
$emp1->to_string();
Find the
below working example.
class_demo_1.php
<?php
class Employee{
var $id;
var $first_name;
var $last_name;
var $age;
function __construct($id, $first_name, $last_name, $age){
$this->id = $id;
$this->first_name = $first_name;
$this->last_name = $last_name;
$this->age = $age;
}
public function get_id(){
return $this->id;
}
public function get_first_name(){
return $this->first_name;
}
public function get_last_name(){
return $this->last_name;
}
public function get_age(){
return $this->age;
}
public function set_id($new_id){
$this->id = $new_id;
}
public function set_first_name($new_first_name){
$this->first_name = $new_first_name;
}
public function set_last_name($new_last_name){
$this->last_name = $new_last_name;
}
public function set_age($new_age){
$this->age = $new_age;
}
public function to_string(){
return $this->get_id() . ', ' . $this->full_name() . ', ' . $this->get_age();
}
private function full_name(){
return $this->get_first_name() . ',' . $this->get_last_name();
}
}
$emp1 = new Employee(1, 'Krishna', 'Gurram', 31);
$emp2 = new Employee(2, 'Chamu', 'Gurram', 30);
echo"id, name, age\n";
echo $emp1->to_string();
echo "\n";
echo $emp2->to_string();
?>
Output
$./class_demo_1.php
id, name, age
1, Krishna,Gurram, 31
2, Chamu,Gurram, 30
Previous
Next
Home