PHP вопрос по классам

LH
На сайте с 26.09.2013
Offline
89
851

Как "забирать" свойства родителя из класса потомка?

class Test {
function __construct( $name ){
$this->name_ = $name;
}
}

class TestA extends Test {
function __construct() {
// Как забрать свойство name_ родителя?
echo $this->name_;
}
}

$test = new Test( 'Leo' );
$testA = new TestA();
Оптимизайка
На сайте с 11.03.2012
Offline
396
#1

Что вы имеете ввиду под "забрать свойство"? Вы класс от экземпляра класса отличаете, нет?

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
Ваано
На сайте с 01.08.2009
Offline
112
#2

В конструкторе значение задаётся для экземляра класса, а TestA наследует класс Test

Вот к примеру так сработает:

class Test {
public $name_='Leo';
}

class TestA extends Test {
function getName () {
return $this->name_;
}
}

$testA = new TestA();
echo $testA->getName();

Из экземляра класса Test передать значение экземляру класса-наследника TestA не получится 🤪

Туры в Мексику тут (http://www.metmexico.com). Оптимальное отношение цена/качество.
Оптимизайка
На сайте с 11.03.2012
Offline
396
#3
Ваано:
Из экземляра класса Test передать значение экземляру класса-наследника TestA не получится 🤪

<?php


class Test {
public static $name_;

function __construct( $name ){
self::$name_ = $name;
}
}

class TestA extends Test {
function __construct() {
echo self::$name_;
}
}

$test = new Test( 'Leo' );
$testA = new TestA();
LH
На сайте с 26.09.2013
Offline
89
#4
Оптимизайка:
<?php


class Test {
public static $name_;

function __construct( $name ){
self::$name_ = $name;
}
}

class TestA extends Test {
function __construct() {
echo self::$name_;
}
}

$test = new Test( 'Leo' );
$testA = new TestA();

То что надо!

Оптимизайка
На сайте с 11.03.2012
Offline
396
#5
Leonid H:
То что надо!

Лучше не надо 😂

Ваано
На сайте с 01.08.2009
Offline
112
#6
Оптимизайка:
<?php

class Test {
public static $name_;

function __construct( $name ){
self::$name_ = $name;
}
}

class TestA extends Test {
function __construct() {
echo self::$name_;
}
}

$test = new Test( 'Leo' );
$testA = new TestA();

Спасибо, посыпаю голову пеплом) Поспешил с ответом.

А можно пример, где такая конструкция может использоваться? :)

LH
На сайте с 26.09.2013
Offline
89
#7
Оптимизайка:
Лучше не надо 😂

Почему же? ) :)

JH
На сайте с 29.06.2013
Offline
48
#8
Leonid H:
Почему же? ) :)

Test::$name_

Доступен везде

M
На сайте с 04.12.2013
Offline
223
#9

Hamon, вот сначала вникните, а уже потом судите, где больше знающего народа ;)

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий