<?php
class Person { // ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ ΠΠΈΡΠ½ΠΎΡΡΠΈ
var $first_name; // ΠΈΠΌΡ Π»ΠΈΡΠ½ΠΎΡΡΠΈ
var $last_name; // ΡΠ°ΠΌΠΈΠ»ΠΈΡ Π»ΠΈΡΠ½ΠΎΡΡΠΈ
function make_person($t,$a){
// ΠΌΠ΅ΡΠΎΠ΄ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ
// Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΡΠ°ΠΌΠΈΠ»ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
$this->first_name = $t;
$this->last_name = $a;
}
function show_person(){
// ΠΌΠ΅ΡΠΎΠ΄ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π»ΠΈΡΠ½ΠΎΡΡΠΈ
echo ("<h2>" . $this->first_name . " " .
$this->last_name . "</h2>");
}
}
class Programmer extends Person{
// ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ
// Programmer, ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠΉ Person
var $langs = array ("Lisp");
// ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ
// Π·Π°Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² var ΠΌΠΎΠΆΠ½ΠΎ
function set_lang($new_lang){
// ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΅ΡΠ΅
// ΠΎΠ΄ΠΈΠ½ ΡΠ·ΡΠΊ ΠΊ ΡΠΏΠΈΡΠΊΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
$this->langs[] = $new_lang;
}
}
?>
ΠΠ»Π°ΡΡ Programmer ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎ ΠΈ ΠΊΠ»Π°ΡΡ Person, ΠΏΠ»ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ $langs, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΡΡΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ ΡΠ·ΡΠΊΠΎΠ², ΠΈ ΡΡΠ½ΠΊΡΠΈΡ set_lang Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΊ ΡΠΏΠΈΡΠΊΡ ΠΈΠ·ΡΡΠ΅Π½Π½ΡΡ . Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΊΠ»Π°ΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ new. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ·ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π½Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ, ΠΈ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π·Π°Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ° Person, Ρ.Π΅. ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠΌΡ ΠΈ ΡΠ°ΠΌΠΈΠ»ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π½Π΅ΠΌ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅:
<?php
$progr = new Programmer;
$progr -> set_lang("PHP");
// ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π»Ρ
// ΠΊΠ»Π°ΡΡΠ° Programmer
print_r ($progr->langs);
// ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ° Person
$progr->make_person("Bill","Gates");
$progr->show_person();
?>
ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΡΠΎΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π½Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΡ Person ΠΈ Programmer, Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡβΠΏΠΎΡΠΎΠΌΠΎΠΊ. ΠΠ»Π°ΡΡ Person β ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ, Π° Π΅Π³ΠΎ ΠΏΠΎΡΠΎΠΌΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠ»Π°ΡΡ Programmer, ΡΠΎΠ·Π΄Π°ΡΡΡΡ, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° Π½Π΅ΠΌ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ. ΠΡΠ±ΠΎΠΉ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΡΠΎΠ΄ΠΈΡΡ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ².
ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ΅Π»ΡΠ·Ρ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠ»Π°ΡΡ Programmer, ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠΉ ΠΊΠ»Π°ΡΡ Person, Π° ΡΠΆΠ΅ ΠΏΠΎΡΠΎΠΌ ΡΠ°ΠΌ ΠΊΠ»Π°ΡΡ Person. ΠΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ (ΡΠ°ΡΡΠΈΡΡΡΡΡΡ).
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΏΠΎΡΠ»Π΅ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π° Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π² PHP, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°ΠΌΠΈ PHP4 ΠΈ PHP3 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°Ρ Π²ΠΎΠΎΠ±ΡΠ΅. ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ Π² PHP3 ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ°. Π Π² PHP4 β ΡΡΠ½ΠΊΡΠΈΡ, ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°.
<?php
class Programmer extends Person{
// ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ
// Programmer, ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠΉ Person
var $langs = array ("Lisp");
function Programmer(){
// ΡΡΠΎΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π±ΡΠ΄Π΅Ρ
// ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π² PHP3, ΠΈ Π² PHP4
$this->make_person("ΠΠ²Π°Π½","ΠΠ΅ΡΡΠΎΠ²");
}
}
?>
ΠΠ΄Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Programmer() ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ, Ρ.Π΅. Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΊΠ»Π°ΡΡΠ° Programmer, Π·Π°Π΄Π°Π²Π°Ρ Π΅ΠΌΡ ΠΈΠΌΡ Β«ΠΠ²Π°Π½Β» ΠΈ ΡΠ°ΠΌΠΈΠ»ΠΈΡ Β«ΠΠ΅ΡΡΠΎΠ²Β». ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΊΠ»Π°ΡΡΠ°, Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
<?php
class Programmer extends Person{
// ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ
// Programmer, ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠΉ Person
var $langs = array ("Lisp");
function Programmer($n = "ΠΠ²Π°Π½",
$f = "ΠΠ΅ΡΡΠΎΠ²"){
// ΡΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
$this->make_person($n,$f);
}
}
$default_progr = new Programmer();
// ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΠ²Π°Π½Π° ΠΠ΅ΡΡΠΎΠ²Π°
$new_progr = new Programmer("ΠΠ°ΡΡ",
"Π‘ΠΈΠ΄ΠΎΡΠΎΠ²");
// ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΠ°ΡΡ Π‘ΠΈΠ΄ΠΎΡΠΎΠ²Π°
print_r($new_progr);
/* Π²ΡΠ²Π΅Π΄Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
$new_progr, Ρ.Π΅. ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°
ΠΈ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ */
?>
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π² PHP3, ΠΈ Π² PHP4, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ Π΅ΡΠ»ΠΈ Π΄ΠΎΠΏΠΈΡΠ°ΡΡ Π² Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Person. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³Π°Ρ: ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Person:
<?php
class Person { // ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ ΠΠΈΡΠ½ΠΎΡΡΠΈ
var $first_name;
var $last_name;
function Person($t,$a){ // ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
$this->first_name = $t;
$this->last_name = $a;
}
/* ... */
}
class Programmer extends Person{
// ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ
// Programmer, ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠΉ Person
var $langs = array ("Lisp");
function set_lang($new_lang){
$this->langs[] = $new_lang;
}
}
$new_progr = new Programmer("ΠΠ°ΡΡ",
"Π‘ΠΈΠ΄ΠΎΡΠΎΠ²");
?>
Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ° Programmer, Π±ΡΠ΄Π΅Ρ Π»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ·Π²Π°Π½Π° ΠΊΠ°ΠΊΠ°Ρ-Π»ΠΈΠ±ΠΎ ΡΡΠ½ΠΊΡΠΈΡ? Π PHP3 Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ Π½Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Programmer() (Π·Π΄Π΅ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ°). Π PHP4 Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Ρ.Π΅. Π²ΡΠ·ΠΎΠ²Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Person() ΠΈΠ· ΠΊΠ»Π°ΡΡΠ° Person (Π·Π΄Π΅ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ β ΡΡΠ½ΠΊΡΠΈΡ, ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°).
ΠΡΠ΅ ΠΎΠ΄Π½Π° ΡΠΈΡΡΠ°ΡΠΈΡ β Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π° Π² ΡΠ°ΡΡΠΈΡΡΡΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ΅ Π½Π΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°.
<?php
class Person { // ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ ΠΠΈΡΠ½ΠΎΡΡΠΈ
var $first_name;
var $last_name;
function Person($t,$a){ // ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
$this->first_name = $t;
$this->last_name = $a;
}
function Programmer($new_lang){
echo "Π― β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ";
}
}
class Programmer extends Person{
// ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ
// Programmer, ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠΉ Person
var $langs = array ("Lisp");
function set_lang($new_lang){
$this->langs[] = $new_lang;
}
}
$new_progr = new Programmer("ΠΠ°ΡΡ",
"Π‘ΠΈΠ΄ΠΎΡΠΎΠ²");
?>
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ PHP3 Π²ΡΠ·ΠΎΠ²Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Programmer() ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° Person. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎ ΠΆΠ΅ ΠΈΠΌΡ, ΡΡΠΎ ΠΈ Ρ ΠΊΠ»Π°ΡΡΠ°. Π Π½Π΅Π²Π°ΠΆΠ½ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π»ΠΈ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΈΠ»ΠΈ ΠΎΠ½Π° Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΈΠ· Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. Π PHP4 ΠΊΠ»Π°ΡΡ Programmer Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ·ΠΎΠ²Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΠΈ Π² PHP 3, Π½ΠΈ Π² PHP 4 ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ· ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ::
ΠΠ½ΠΎΠ³Π΄Π° Π²Π½ΡΡΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΎΡΠ»Π°ΡΡΡΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ· Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅, Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΠ΅ Π½Π΅ ΡΠΎΠ·Π΄Π°Π½. ΠΠ°ΠΊ Π±ΡΡΡ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅? Π PHP4 Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«::Β»
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° Programmer ΡΡΠ½ΠΊΡΠΈΡ show_name() ΠΈΠ· Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Person ΠΈ ΡΡΠ½ΠΊΡΠΈΡ say_hello(), Π·Π°Π΄Π°Π½Π½ΡΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° Programmer, ΠΊΠΎΠ³Π΄Π° Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½:
<?php
class Person { // ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ ΠΠΈΡΠ½ΠΎΡΡΠΈ
var $first_name;
var $last_name;
function Person($t,$a){ // ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
$this->first_name = $t;
$this->last_name = $a;
}
function show_name(){
// ΠΌΠ΅ΡΠΎΠ΄ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π»ΠΈΡΠ½ΠΎΡΡΠΈ
echo ("ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ, " .
$this->first_name . " " .
$this->last_name . "!<br>");
}
}
class Programmer extends Person{
// ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ
// Programmer, ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠΉ Person
function set_lang($new_lang){
// ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΅ΡΠ΅
// ΠΎΠ΄ΠΈΠ½ ΡΠ·ΡΠΊ ΠΊ ΡΠΏΠΈΡΠΊΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
$this->langs[] = $new_lang;
Person::show_name();
// Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ· Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°
echo "Π Ρ Π·Π½Π°Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π΅ΡΠ΅ ΠΈ " .
$new_lang;
}
function show_name(){
echo ("Π― ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ, " .
$this->first_name . " " .
$this->last_name . "!<br>");
}
function say_hello(){
echo "ΠΡΠΈΠ²Π΅Ρ!<br>";
}
}
Programmer::say_hello();
// Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π½ΠΈ
// ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ Π΅Π΅ ΠΊΠ»Π°ΡΡΠ° Π΅ΡΠ΅ Π½Π΅ ΡΠΎΠ·Π΄Π°Π½
$new_progr = new Programmer("ΠΠ°ΡΡ","Π‘ΠΈΠ΄ΠΎΡΠΎΠ²");
$new_progr->set_lang("PHP");
?>
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΡΠΈΠ²Π΅Ρ!
ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ°ΡΡ Π‘ΠΈΠ΄ΠΎΡΠΎΠ²!
Π Ρ Π·Π½Π°Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π΅ΡΠ΅ ΠΈ PHP
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Programmer::say_hello(); ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ say_hello ΠΊΠ»Π°ΡΡΠ° Programmer ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠ²ΡΡ, Π° Π½Π΅ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠ° Π½Π΅Ρ. ΠΠΎΡΡΠΎΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠ΅ Π΄ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ this, Π½ΠΎ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ.