class myPHP4Class - This class.
1
2
3
4
5
6
7
|
class Demo {
public $name; // это свойство с открытым уровнем видимости
private $_name; // это свойство с частным уровнем видимости (может использоваться только внутри класса. )
protected $name; // это свойство с защищенным уровнем видимости
function dima() { // это метод
}
}
|
or
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
class myPHP4Class {
private $my_variable="Второй";
function my_method($param) {
echo "Вызван метод $param <br/>";
echo $this->dima();
}
function dima() {
echo "Вызван метод $this->my_variable";
}
}
$a= new myPHP4Class;
echo $a->my_method("Первый");
// Вызван метод Первый
// Вызван метод Второй
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
class myPHP5Class {
private $ My_variable;
function my_method($ Param) {
echo "Method is called my_method $ Param! <br /> ";
echo ;
echo "{$ This-> my_variable}\n";
}
}
$ Myobject = new myPHP5Class();
$ Myobject->my_method("MyParam");
$ Myobject->my_variable = 10;
/ / Call method my_method MyParam!
// Fatal error: Cannot access private property myPHP5Class::$ My_variable in P:\home\p1\www\ageent.php on line 12
|
Exceptions
1
2
3
4
5
6
7
8
9
10
11
12
|
class foo {
function divide($x,$y) {
if($y==0) throw new Exception("Division by zero is inadmissible");
return $x/$y;
}
}
$x = new foo();
try {
$x->divide(3,0);
} catch (Exception $e) {
echo $e->getMessage();
}
|
Static class members
1
2
3
4
5
6
7
|
class calculator {
static public function add($x,$y) {
return $x + $y;
}
}
$result = calculator::add(3,7);
print("$result");
|
$ This
1
2
3
4
5
6
7
8
|
class Demo {
public $ Name="Hello Word!";
function dima() {
echo $ This->;
}
}
$a= new Demo;
$a->dima();
|
instance (instance)
1
2
|
$myinstance = new myPHP4Class();
$anotherinstance = new myPHP4Class();
|
Access to the underlying object $ my_variable
1
2
3
4
5
6
7
8
9
10
11
12
|
class myPHP4Class {
public $ My_variable="Values";
function my_method($ Param) {
echo "Method is called <b>$ Param! </ B> <br/> ";
echo $ This-> my_variable;
}
}
$a= new myPHP4Class;
echo $a->my_method("My_method");
echo $a->my_variable=10;
/ / Call method my_method!
Values , а это присвоенное значение - 10
|
Abstract classes -
1
2
3
4
5
6
7
8
9
10
11
|
abstract class MyClass {
abstract public function abstrFunc();
}
class MyClass1 extends MyClass {
public function abstrFunc() {
echo 1;
}
}
$ Obj = new MyClass1;
$ Obj->abstrFunc();
// 1
|
Interfaces - интерфейсом называется класс, в котором не реализуется ни один метод, определяются только названия методов и набор передаваемых им параметров. Впоследствии классы могут 'реализовывать' сколь угодно много интерфейсов, показывая тем самым, что тот or иной класс реализует методы, определённые в интерфейсе.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
interface displayable {
function display();
}
interface printable {
function doprint();
}
class foo implements displayable,printable {
function display() {
// код
}
function doprint() {
// код
}
}
|
extends - Used for communication classes.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
class ParentClass {
public function parentOne() {
echo "Called parentOne ()";
}
private function parentTwo() {
echo "Called parentTwo ()!";
}
}
class ChildClass extends ParentClass {
public function childOne() {
echo "Called childOne ()!";
}
}
$v = new ChildClass();
$v->parentOne();
/ / Called parentOne ()
|
or
1
2
3
4
5
6
7
8
9
10
11
12
13
|
class ParentClass {
function callMe() {
echo "Caused by a parent class!";
}
}
class ChildClass extends ParentClass {
function callMe() {
echo "Caused the child class!";
}
}
$ Child = new ChildClass;
$ Child->callMe();
/ / Call the child class!
|
another option
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
class ParentClass {
public function callMe() {
$ This->anotherCall();
}
}
class ChildClass extends ParentClass {
public function anotherCall() {
echo "Caused the child class!";
}
}
$ Child = new ChildClass;
$ Child->callMe();
/ / Call the child class!
|
parent::
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
class Cart {
public $dim;
function dima(){
$this->dim = 100;
|