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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


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


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

Сообщение отредактировал PrsDevs - 24.10.2019, 11:01


--------------------
Мошенник https://www.maultalk.com/topic354771.html
Карты Сбербанка 4274320049958518
5469300810181286
Имя - Максим
Город - Севастополь
Почты: maksym2017maksym@gmail.com
prsdevs@ya.ru
Телеграм @prsonic
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 24.10.2019, 11:42; Ответить: x64
Сообщение #13


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

self не смотрит на экземпляр, он служит для обращения к методам/полям класса. С экземплярами работает $this.
Если уж решили поумничать, хоть базовые вещи не перевирайте.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
PrsDevs
PrsDevs
сообщение 24.10.2019, 12:07; Ответить: PrsDevs
Сообщение #14


Цитата(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

Почему так? Почему они выведут разные значения... Если я как вы выразились вру...


--------------------
Мошенник https://www.maultalk.com/topic354771.html
Карты Сбербанка 4274320049958518
5469300810181286
Имя - Максим
Город - Севастополь
Почты: maksym2017maksym@gmail.com
prsdevs@ya.ru
Телеграм @prsonic
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Gerga
Gerga
сообщение 27.10.2019, 5:49; Ответить: Gerga
Сообщение #15


Цитата(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".

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Сообщение отредактировал Gerga - 27.10.2019, 5:52
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V  < 1 2
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
151 adw-kupon.ru 19809 Сегодня, 13:52
автор: Vmir
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
20 uahomka 3441 Сегодня, 11:54
автор: Skyworker
Открытая тема (нет новых ответов) Как в пушсетках покупают по 100-200 тысяч кликов за день?
1 Boymaster 510 Сегодня, 11:45
автор: Skyworker
Горячая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
30 freeax 5005 20.4.2024, 16:49
автор: Liudmila
Открытая тема (нет новых ответов) Арбитражники, как ведете учет расходов и доходов?
13 Boymaster 2017 20.4.2024, 15:06
автор: Boymaster


 



RSS Текстовая версия Сейчас: 23.4.2024, 20:21
Дизайн