Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2010, 01:57   #1
Golovastik
Заблокирован
 
Регистрация: 25.05.2009
Сообщений: 284
По умолчанию Вызов конструктора суперкласса

На яве для вызова конструктора суперкласса используют ключевое слово super, пробую на пхп практиковать не выходит.
Вот код на Java рабочий
Код:
package u;
 class A{
private int a,b,c;
A(){}
A(int x1, int y1, int z1){
    a = x1; b = y1; c = z1;
 }


void result(){
   System.out.println(a*b*c);
}
}

 class B extends A{
    B(){}
    B(int s1, int s2, int s3){
        super(s1,s2,s3);
    }
}

public class Main {
    public static void main(String[] args) {
     B obj = new B(5,7,9);
     obj.result();
    }
}
На пхп застряло на 15 строке и не идёт:
Код:
<?php
class Base {

private  $a, $b, $c;
function Base($x, $y, $z){
    $a = $x; $b = $y; $c = $z;
}
 function result(){
    echo $a*$b*$c;
 }
}

class B extends Base {
  function B($w1,$w2, $w3){
  super($w1,$w2,$w3);  
  }
 }
 
$obj = new B;
$obj->result();

?>
Golovastik вне форума Ответить с цитированием
Старый 04.07.2010, 00:35   #2
werewolf999
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 46
По умолчанию

языки програмирования конечно во многом похожи, но различия есть, и это особенно касается реализации ООП в PHP
в PHP для обращению к родителю используется ключевое слово parent
и конструктор дочернего класса будет выглядеть так
PHP код:
function B($w1,$w2$w3){
  
parent::Base($w1,$w2,$w3);  
  } 
кстати даже с этим изменением ваш код ничего не выведет - для доступа к свойствам объекта используется псевдопеременная $this->, а echo $a*$b*$c; будет искать локальные переменные в пределах функции

Последний раз редактировалось werewolf999; 04.07.2010 в 00:41.
werewolf999 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание конструктора Superlotles Общие вопросы C/C++ 5 23.05.2010 01:38
Вопрос про new и вызов конструктора Gtx541 Общие вопросы C/C++ 5 20.05.2010 12:18
Параметр конструктора Voody Компоненты Delphi 6 14.12.2009 19:52
Перегрузка конструктора Spice Общие вопросы C/C++ 3 20.07.2009 14:37
Переопределение конструктора формы daunito Общие вопросы Delphi 5 23.11.2008 01:58