Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Непонятный момент по ООП наследование и объявление объектов.
 
 автор: makeloo   (06.02.2014 в 22:42)   письмо автору
 
 


class auto {
    protected $cvet;
    protected $toplivo;
    
    public function __construct($cvet,
                              $toplivo)
                {
    $this->cvet = $cvet;
    $this->toplivo = $toplivo;
                }                
            }


class sportauto extends auto {
    protected $speed;
    protected $price;
    
    public function __construct($speed,
                                $price)
                            
                            {
        parent::__construct($cvet,
                            $toplivo);
                            
                            $this->speed = $speed;
                            $this->price = $price;
                            
                            }
                        }
                        
$obj = new sportauto(100,900000,yellow,dizel);
echo "<pre>";    

print_r($obj);

//Обратите внимание цвет и топливо остаются не инициализированы.
//sportauto Object
//(
//    [speed:protected] => 100
//    [price:protected] => 900000
//    [cvet:protected] => 
//    [toplivo:protected] => 
//)

echo "</pre>";    


Подскажите пожалуйста:
Как инициализировать свойства родительского класса создавая объект дочернего класса?
Как в объекте класса sportauto задать значения свойствам цвет и топливо???

  Ответить  
 
 автор: moonfox   (06.02.2014 в 23:49)   письмо автору
 
   для: makeloo   (06.02.2014 в 22:42)
 



<?php

class auto 
{
    protected 
$cvet;
    protected 
$toplivo;
    
    public function 
__construct($cvet$toplivo)
    {
      
$this->cvet $cvet;
      
$this->toplivo $toplivo;
    }                
}


class 
sportauto extends auto 
{
    protected 
$speed;
    protected 
$price;
    
    public function 
__construct($speed$price$cvet$toplivo)
    {
        
parent::__construct($cvet$toplivo);
                            
        
$this->speed $speed;
        
$this->price $price;
                            
    }
}

$obj = new sportauto(100,900000,'yellow','dizel');

print_r($obj); 


?>

  Ответить  
 
 автор: makeloo   (06.02.2014 в 23:57)   письмо автору
 
   для: moonfox   (06.02.2014 в 23:49)
 

Спасибо))) Оказывается все элементарно... Не догадался прописать в конструкторе.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования