[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Результаты метода другого класса
Страницы: 1, 2
Sergen
Подскажите, а как можно в методе класса получить результаты вычислений метода (не static) другого класса? Только через наследование?
kaww
class someClass {

public function foo() {

$bar = new Bar();
$bar->someMethod();
}
}
Sergen
Понял. Спасибо kaww.
Вопрос из этой же оперы. А как в методе наследника можно обращаться к статическому методу родительского класса?
Игорь_Vasinsky
 class Parent_class{
static function patrentMethod(){
return 'this return parent static method';
}
}


class Child_class extends Parent_class{

public function getParentStaticMethod(){
$parent = new Parent_class;
echo $parent::patrentMethod();
}


}


$obj = new Child_class;
echo $obj->getParentStaticMethod();


так же как и публичный - но обращаться как к статическому

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
блин.. если бы не было своих тараканов в голове, то наверн уже месяцов 5 как перепрыгнул с процедурного и практиковался.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Invis1ble
Игорь_Vasinsky
Игорь, это фэйспалм... ))) тебе тоже по ссылке выше )
$parent = new Parent_class; - зачем экземпляр создавать?

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Игорь_Vasinsky
а я тебе сказал про тараканов а не ТС.

вообще - поясни - как часто используются на практике интерфейсы и абстрактные классы?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
ты про это говорил?

 class Child_class extends Parent_class{

public function getParentStaticMethod(){
echo $this::patrentMethod();
}


}


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Invis1ble
Игорь_Vasinsky
parent::parentMethod() - вот так
http://php.net/manual/ru/keyword.parent.php

---
а причем тут интерфейсы и абстрактные классы?

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Sergen
почему у меня вылезает ошибка?

class A
{
public $a;
public function __construct($a)
{
$this->a = $a;
}
public static function func_a($a)
{
return $a + $a;
}
}


class B extends A
{

public function __construct()
{
parent::__construct();
}
public function func_b($a)
{
$aa = (( $this->a * $this->a ) + ( A::func_a( $a ) ));
return $aa;
}
}


$a = 100;
$obj_b = new B($a);
echo $obj_b -> func_b($a);

Игорь_Vasinsky
Invis1ble
Цитата
а причем тут интерфейсы и абстрактные классы?

это опять про тараканов, раз тема оопешная

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
T1grOK
$obj_b = new B($a);

Конструктор аргументов не принимает. А родительский конструктор принимает, а у вас все наоборот.

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Invis1ble
человек полтора года почти как на форуме
ему дают ссылку на раздел мануала, но он упорно продолжает задавать вопросы по программе средней группы детского сада
вы уверены, что таким полезна помощь в виде готовых ответов?

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Sergen
Цитата (T1grOK @ 1.02.2013 - 19:39)
$obj_b = new B($a);

Конструктор аргументов не принимает. А родительский конструктор принимает, а у вас все наоборот.


Спасибо T1grOK, прохлопал...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.