Что такое классы в ОПП ?

Лекции по PHP

-------------------------------------------------НА FKN.---------------------------
Авторы:VEDRO-COMPOTA, AlF TUNER и FGH.

Обращение к свойству класса которое не объявили
Псевдопеременная $this

Что такое классы? Классы - это тип данных. Именно тип данных. Например, в паскале, есть встроенный тип данных - integer. Мы можем дать переменной a тип integer.

var a:integer.

Отлично. Теперь в переменную a можно записывать только целые числа!
В Паскале и в языке PHP можно делать свои типы! Они называются пользовательскими или составными. Пользовательскими потому что их сам делает пользователь. А составные потому что, как правило пользовательский тип данных состоит из НАБОРОВ встроенных типов данных. Пример:

class Animal // создали класс с именем Animal
  { 
... 
  }

Потом объявляем переменную в классе или объявляем свойство класса

class Animal // создали класс объекта
  { 
    public $imyalva;  // объявили свойство класса имя льва
  }

ВСЁ! Пользовательский тип данных ГОТОВ! Теперь нам нужно это ТИП данных присвоить какой нибудь переменной.
Для этого ПРИНЯТО сначала объявить переменную ( как var i: integer в паскале) вот так:

class Animal // создали класс объекта
  { 
    public $imyalva;  // объявили переменную класса, в ООП это называется свойство класса имя льва
  }
  $Lions= new Animal; // объявили объект класса или создали объект класса с названием Lions, ЛЬВЫ.

Теперь нам надо вывести эту переменную в браузере. Попробуем! Cмотрите, класс мы объявили это Animal. Потом мы как бы выделили из класса Animal объект Lions - львы. Ведь львы это конкретный зверь из всех животных мира млекопитающих. Но вывести просто львы нельзя, потому что это просто ОБЪЕКТ класса. Нам нужен конкретный лев. Например с именем SFG. А для этого мы должны присвоить имя SFG этому льву! Присваиваем.

class Animal // создали класс объекта
  { 
    public $imyalva;  // объявили свойство класса
  }

  $Lions= new Animal; 
  $Lions -> imyalva = sfg;
  echo $Lions -> imyalva;

Что мы получили! Мы можем теперь вывести имя льва через запись

echo $Lions -> imyalva; 

в любом месте нашей программы! Например,

class Animal // создали класс объекта
  { 
    public $imyalva = [];  // объявили свойство класса
  }

  $Lions= new Animal; 


for ($n = 0; $n < 10; $n++) 
  {    
 $Lions -> imyalva = "Imya"."\n".$n."\n"."Lva:"."\n".sfg.$n."<BR>"; 

// Здесь используется конкатенация при выводе строки-мы складываем разные типы данных и используем специальный символ \n для разделения слов.

 echo $Lions -> imyalva;

  }

Еще раз, класс - это составной, пользовательский ТИП данных. Приведем пример самолета. Вот, например, представьте самолет. Крыло, нос - это свойства объекта (параметры, переменные). То что он может пролететь из точки А в точку B имеет расход топлива сколько то литров на 100 км и так далее - это МЕТОДЫ класса.
А План, схема самолета - это КЛАСС, а сам самолет - это ОБЪЕКТ класса.
Класс - это схема из чего состоит самолет
Объект класса - это самолет
Свойства объекта класса - это крылья, нос самолета
Методы объекта класса - это способность самолета пролететь из точки А в точку B

ПРЕДСТАВИМ себе класс машины
В класс машины входят свойства - автомобили, роботы и так далее
Свойства машин - это вес, размер кузова, количество выполняемых действий
Методы класса машин - возможность передвигаться, делать сложную монотонную работу.

Или давайте представим класс животных - МЛЕКОПИТАЮЩИЕ это КЛАСС
СВОЙСТВА класса млекопитающих - весь зверя, размер клюва
В класс млекопитающие входят - птицы, кошачьи и так далее это ОБЪЕКТЫ КЛАССА млекопитающих
они способны охотиться, прыгать - это методы КЛАССА

-------------------------------------------------НА FKN.---------------------------