X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2
Открыть тему
Добавить ответ в эту тему
> Как понять ООП?
PrsDevs
PrsDevs
сообщение 24.10.2019, 10:52; Ответить: PrsDevs
Сообщение #11


Новичок
*

Группа: User
Сообщений: 21
Регистрация: 29.9.2019
Поблагодарили: 4 раза
Репутация:   0  


x64, не совсем так. Например, self и this. Self смотрит на свой экземпляр класса, а this так же и на родителей.


WoWeb, тут много чего не так если честно. Например, id надо присваивать в конструкторе. Clearall делать статик функцией.
П. С. могу объяснить что, зачем и как. Напиши в ЛС скайп. Вот мой если что, не могу лс писать live:.cid.aec3570a9c0e0903

Сообщение отредактировал PrsDevs - 24.10.2019, 11:01
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 24.10.2019, 11:42; Ответить: x64
Сообщение #12


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3812
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 3200 раз
Репутация:   314  


Цитата(PrsDevs @ 24.10.2019, 9:52) *
Self смотрит на свой экземпляр класса

self не смотрит на экземпляр, он служит для обращения к методам/полям класса. С экземплярами работает $this.
Если уж решили поумничать, хоть базовые вещи не перевирайте.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
PrsDevs
PrsDevs
сообщение 24.10.2019, 12:07; Ответить: PrsDevs
Сообщение #13


Новичок
*

Группа: User
Сообщений: 21
Регистрация: 29.9.2019
Поблагодарили: 4 раза
Репутация:   0  


Цитата(x64 @ 24.10.2019, 11:42) *
Цитата(PrsDevs @ 24.10.2019, 9:52) Self смотрит на свой экземпляр класса
self не смотрит на экземпляр, он служит для обращения к методам/полям класса. С экземплярами работает $this.
Если уж решили поумничать, хоть базовые вещи не перевирайте.

Тогда поясните такой момент, вот код.
Код
class Person {
    private $name;

    public function __construct($name) {
        $this->name = $name;
    }

    public function getName() {
        return $this->name;
    }

    public function getTitle() {
        return $this->getName()." the person";
    }

    public function sayHello() {
        echo "Hello, I'm ".$this->getTitle()."<br/>";
    }

    public function sayGoodbye() {
        echo "Goodbye from ".self::getTitle()."<br/>";
    }
}

class Geek extends Person {
    public function __construct($name) {
        parent::__construct($name);
    }

    public function getTitle() {
        return $this->getName()." the geek";
    }
}

$geekObj = new Geek("Ludwig");
$geekObj->sayHello();
$geekObj->sayGoodbye();
Выведет:

Hello, I'm Ludwig the geek
Goodbye from Ludwig the person

Почему так? Почему они выведут разные значения... Если я как вы выразились вру...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Gerga
Gerga
сообщение 27.10.2019, 5:49; Ответить: Gerga
Сообщение #14


Бывалый
****

Группа: User
Сообщений: 304
Регистрация: 15.2.2013
Из: Одесса
Поблагодарили: 201 раз
Репутация:   50  


Цитата(PrsDevs @ 24.10.2019, 9:52) *
Self смотрит на свой экземпляр класса, а this так же и на родителей.

Self - это ссылка на текущий класс. Обращаясь к self, вы обращаетесь к классу.

Простой пример:
Код
class Test {
    public function isTest() {
        return $this instanceof self;
    }  
}

$test = new Test();
echo $test->isTest();

Будет выведено 1.

Метод "isTest" идентичен подобной проверке:
Код
$test instanceof Test


Цитата(PrsDevs @ 24.10.2019, 11:07) *
Почему так? Почему они выведут разные значения...

Потому что в данном случае self из класса "Person" ссылается на класс "Person".

Сообщение отредактировал Gerga - 27.10.2019, 5:52


--------------------
Разработка на WordPress -> Верстка/Разработка/Модификация тем и плагинов WordPress.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V  < 1 2
Открыть тему
Добавить ответ в эту тему
Быстрый ответ
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как выгодней закинуть наличных денег в криптовалюту?
25 Webranger 2417 Сегодня, 0:11
автор: Emtec
Горячая тема (нет новых ответов) Как выучить WordPress?
36 Кетрин2020 2312 Вчера, 23:06
автор: rest2011
Открытая тема (нет новых ответов) Как за такие деньги в Минюст идут?
27 тр
6 kirch 129 17.11.2019, 17:20
автор: x64
Открытая тема (нет новых ответов) Индивидуальный инвестиционный счёт: как и для чего его открыть?
passivdohod.ru - сайт про заработок, инвестиции, пассивный доход
4 Totleben 242 16.11.2019, 11:58
автор: Totleben
Открытая тема (нет новых ответов) Как распознать музыку с потока на смартфоне?
11 rownong27 685 15.11.2019, 18:51
автор: Santorini


 



RSS Текстовая версия Сейчас: 19.11.2019, 10:11
Дизайн