Mushegh
4.07.2014 - 18:26
Пожалуйста помоготе с решением проблемы. Скрипт выдает эрор. Мне кажется все написал правильно, но что-то не-то. Большое спасибо. А вот и сам код:
<?php
class Auto{
protected $x;
protected $y;
public function __construct($x = 0, $y = 0){
$this->x = $x;
$this->y = $y;
}
public function move($x, $y){
strMove($x, $y);
}
protected function strMove($x, $y, $type = ""){
if (type == "") echo "111";
else echo "222";
}
}
class Car extends Auto{
public function __construct($x = 0, $y = 0){
parent::__construct($x,$y);
}
public function move($x,$y){
strMove($x, $y, "car");
}
}
class Truck extends Auto{
private $capacity;
public function __construct($x = 0, $y = 0, $capacity = 5000){
parent::__construct($x,$y);
$this->capacity = $capacity;
}
public function move($x,$y){
strMove($x, $y, "truck");
}
}
$auto = new Auto();
$car = new Car();
$truck = new Truck();
$auto->move(10,20);
$car->move(30,40);
$truck->move(50,50);
?>
McLotos
4.07.2014 - 19:21
Что конкретно написано в ошибке?
У меня этот скрипт ругнулся на то что ты пытаешься вызвать несуществующую функцию Call to undefined function strMove()
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Mushegh
4.07.2014 - 19:21
Fatal error: Call to undefined function strMove() in D:\wamp\www\3.php on line 13
# Time Memory Function Location
1 0.0970 256544 {main}( ) ..\3.php:0
2 0.0970 257760 Auto->move( ) ..\3.php:51
McLotos
4.07.2014 - 19:23
почитай про области видимости
http://www.php.net/manual/ru/language.oop5.visibility.php
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Mushegh
4.07.2014 - 19:24
ОК, спасибо. Пайду читать это.
Mushegh
4.07.2014 - 19:26
Но если даже все класси делать public, все равно не работает
McLotos
4.07.2014 - 19:30
public function move($x, $y){
strMove($x, $y);
}
а должно быть
public function move($x, $y){
$this->strMove($x, $y);
}
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
McLotos
4.07.2014 - 19:35
Я вот только смысла не понял, зачем создавать метод, который просто передает другому методу?
И зачем создавать якобы extends классы, хотя по сути просто копипаст оригинального класса?
Или это просто для изучения делается?
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Mushegh
4.07.2014 - 19:36
ААААААААААА, Большое спасибо. Сработало. Два дня мучаюсь над этим. Я совсем новичок. Вот захотелось учить PHP. Огромное спасибо.
Mushegh
4.07.2014 - 19:37
Это просто примери изучаю из видеоуроков и разных книг.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.