<MyRusakov.ru />

Программирование на Python с Нуля до Гуру

Программирование на Python с Нуля до Гуру

Данный курс научит Вас программировать на языке Python, который крайне желательно знать любому, кто хоть иногда имеет дело с компьютерами. Курс состоит из 6 разделов, в которых Вы с нуля освоите этот язык и сможете создавать самые разные программы для самых разных задач любой сложности.

К курсу прилагается множество упражнений и все исходники из уроков.

Наконец, Вы получите ещё несколько бонусов: "Создание калькулятора на Python", "Создание игры на Python" и "Правильная работа со справочником".

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Класс и объект в PHP OOП

Класс и объект в PHP OOП

ООП (объектно-ориентированное программирование) – это альтернативный подход в программировании на PHP, в пику процедурному способу. Однако не получится перескочить основы PHP, заложенные в процедурном методе и сразу начать изучать ООП. Вы должны уже понимать, что такое переменная, функция и другие базовые понятия.

Принципы ООП PHP

Принцип ООП заключается в самодостаточности отдельных кусков кода.

Понятие класса и объекта в ООП

Класс – это шаблон кода, с помощью которого создаются объекты. Авторы статей, пытаются объяснить понятие класса в ООП, приводя в пример машины, кошек и собак. Это классные примеры, но слишком далекие от реальных задач в программировании.

На мой взгляд очень удачное сравнение с анкетой. Класс это пустой бланк анкеты (образец), а заполненная анкета с личными данными реального человека - объект. Вот лежит этот образец в какой-нибудь конторе или на сайте. Пришло 100 человек и каждый из них, заполнил анкету (класс) со своими личными данными. Каждая новая заполненная анкета – новый объект.

Методы и свойства объекта

Чтобы объявить класс, пишут ключевое слово class и дают ему осмысленное название. Внутри класса описываются свойства и методы объекта. У анкеты есть поля (имя, фамилия, пол, возраст и.т.д), которые являются свойствами объекта (переменные).

class anketaExample
{
    // свойства и методы объекта
}

Для создания объекта, пишем ключевое слово new и указываем имя класса, объект (экземпляр) которого хотим создать.

new anketaExample();

Что такое методы? В классическом понимании методы – это функции. Удалить, размножить, распечатать, переслать – все это методы объекта. Некий набор действий, которые можно проделывать с анкетой.

Любимый всеми авторами статей по ООП, пример объекта из реальной жизни – это кот. У кота есть свойства:

  • порода
  • кличка
  • возраст
  • цвет шерсти

Ещё котам присущи методы:

  • спать
  • гулять
  • кушать
  • мяукать

Но зачем создавать класс ради одного кота? А фишка в том, что свойства у всех котов одинаковые, а вот их значения разные. Ведь каждый кот индивидуален. По классу (шаблону) создаются разные объекты.

Пример в PHP ООП

Вернемся к нашей анкете и создадим класс anketaExample и перечислим названия полей анкеты (name, age, email, phone). Это и есть свойства. Перед каждым свойством нужно указать модификатор области видимости. Мы хотим, чтобы свойства были глобальными, поэтому добавим ключевое слово public. Это значит, что мы можем работать с заданными свойствами и вне класса anketaExample.

Присвоим свойствам значения, чтобы они не были пустыми.

class anketaExample
{
    public $name = Max;
    public $age = 40;
    public $email = max@gmail.com;
    public $phone = 34533334;
}

Теперь создадим объект.

$user1 = new anketaExample();

На основе одного класса, объектов может создаваться много.

$user1 = new anketaExample();
$user2 = new anketaExample();

Для объекта $user2, переопределим значения у свойств.

$user2->name = 'Jack';
$user2->age = '25';
$user2->email = jack@gmail.com;
$user2->phone = 7543099;

Для вывода на странице данные анкеты первого пользователя (объект $user1), воспользуемся следующей конструкцией.

Имя: {$user1->name}
Возраст: {$user1->age}
Email: {$user1->email}
Телефон: {$user1->phone};

А что делать, если таких пользователей будет сотни или тысячи. Согласитесь, что такой вывод данных неоптимальный, и мы плавно переходим к методам объекта.

Методы объекта

У объекта анкета помимо свойств, ещё есть методы. Перед нами стоит задача выводить информацию о пользователях динамически, прописав код вывода только один раз. Для объявления метода пишем ключевое слово public, имя метода с круглыми скобками и внутри фигурных скобок, тело метода.

Внутри класса мы обращаемся к свойствам объекта через специальную конструкцию $this (этот), но не через сам объект $user1. Вот так неправильно и не имеет смысла:

{$user1->name}

Это важный и ключевой момент в понимании методов.

public function getAnketaInfo(){
    Имя: {$this->name}
    Возраст: {$this->age}
    Email: {$this->email}
    Телефон: {$this->phone};
}

Данный код выводит данные нужного пользователя.

echo $user1->getAnketaInfo();
echo $user2->getAnketaInfo();

Весь код целиком:

// создание класса
class anketaExample
{
    public $name = Max;
    public $age = 40;
    public $email = max@gmail.com;
    public $phone = 34533334;

    public function getAnketaInfo(){
        Имя: {$this->name}
        Возраст: {$this->age}
        Email: {$this->email}
        Телефон: {$this->phone};
}
}

// создание объекта класса

$user1 = new anketaExample();
$user2 = new anketaExample();

// вывод данных пользователя

echo $user1->getAnketaInfo();
echo $user2->getAnketaInfo();

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.