Класс это так называемый чертеж по которому будет строится класс
при прописывании в коде class my_class класс не создается это описание
сначала класс надо проинстанцировать создается класс через
$person = new my_class {}
свойство класса это
переменная только внутри класса
class animal {
public $name;
public $age = 0;
}
$cat = new animal();
$dog = new animal;
$cat->name = 'murzik';
$dog->name = 'tuzik';
echo $cat->name;
у животного есть поведение
описывается поведение методами класса или обьекта
метод класса = функция только внутри класса
class animal {
public $name;
public $age = 0;
function sayHello(){
echo "Hello";
}
}
вызвать метод say hello класса cat
$cat->sayHello();
-------------------------------------------------------------
class animal {
public $name;
public $age = 0;
function sayHello($word){
echo "Hello";
}
}
$cat ->sayHello('meow');
$dog ->sayHello('gav');
----------------------------------
!!!!! обращение из методов к свойствам только через this !!!!
ссылка на тот обьект который вызвал этот метод
this это тот кто вызвал
class animal {
public $name;
public $age = 0;
function sayHello($word){
echo $this->name. ' say ' .$word;
}
function drawBr(){
echo '<br>'
}
!!! обращение внутри метода к другому методу этого же класса тоже через this !!!!!!!!
class animal {
public $name;
public $age = 0;
function sayHello($word){
echo $this->name. ' say ' .$word;
this->drawBr();
}
function drawBr(){
echo '<br>'
}
}
псевдоконстанты
__METHOD__
__CLASS__
конструктор это метод автоматически вызывается при создании обьекта
если нужно описать конструктор то нужно писать
магические методы
function __construct($num){
echo "object #num created" }
очень удобен дя инициализации
деструктор не принимается параметров
function __destruct() {
echo "object #num created" }
метод который дергается при удалении обьектов
очередность удаления не определена
удалением обьектов занимается сборщик мусора
из деструктора не обращатся к другим обьектам
также конструктор можно вызвать как
одноименный метод с именем класса
то есть конструктор класса my class может быть вызвать чезе отдноименный метод function my class
когда удаляется обьект в пхп
- когда не ведет ниодна ссылка
скопировать обьект
$bigcat = clone $cat;
конструктор вызывается только при создании а не при копировании
при прописывании в коде class my_class класс не создается это описание
сначала класс надо проинстанцировать создается класс через
$person = new my_class {}
свойство класса это
переменная только внутри класса
class animal {
public $name;
public $age = 0;
}
$cat = new animal();
$dog = new animal;
$cat->name = 'murzik';
$dog->name = 'tuzik';
echo $cat->name;
у животного есть поведение
описывается поведение методами класса или обьекта
метод класса = функция только внутри класса
class animal {
public $name;
public $age = 0;
function sayHello(){
echo "Hello";
}
}
вызвать метод say hello класса cat
$cat->sayHello();
-------------------------------------------------------------
class animal {
public $name;
public $age = 0;
function sayHello($word){
echo "Hello";
}
}
$cat ->sayHello('meow');
$dog ->sayHello('gav');
----------------------------------
!!!!! обращение из методов к свойствам только через this !!!!
ссылка на тот обьект который вызвал этот метод
this это тот кто вызвал
class animal {
public $name;
public $age = 0;
function sayHello($word){
echo $this->name. ' say ' .$word;
}
function drawBr(){
echo '<br>'
}
!!! обращение внутри метода к другому методу этого же класса тоже через this !!!!!!!!
class animal {
public $name;
public $age = 0;
function sayHello($word){
echo $this->name. ' say ' .$word;
this->drawBr();
}
function drawBr(){
echo '<br>'
}
}
псевдоконстанты
__METHOD__
__CLASS__
конструктор это метод автоматически вызывается при создании обьекта
если нужно описать конструктор то нужно писать
магические методы
function __construct($num){
echo "object #num created" }
очень удобен дя инициализации
деструктор не принимается параметров
function __destruct() {
echo "object #num created" }
метод который дергается при удалении обьектов
очередность удаления не определена
удалением обьектов занимается сборщик мусора
из деструктора не обращатся к другим обьектам
также конструктор можно вызвать как
одноименный метод с именем класса
то есть конструктор класса my class может быть вызвать чезе отдноименный метод function my class
когда удаляется обьект в пхп
- когда не ведет ниодна ссылка
скопировать обьект
$bigcat = clone $cat;
конструктор вызывается только при создании а не при копировании
Комментариев нет:
Отправить комментарий