###前提・実現したいこと
現在、PHPを勉強しており、クラスについて学習中です。
Carというクラスを作り、myCarとyourCarといオブジェクトを作成し、それらに油量($Oil)とナンバー($Nunber)というメンバ変数で情報を記録/表示するというものなのですが、エラーが出て想定した実行結果が出ません。
ご教示いただきたく考えております。
###発生している問題・エラーメッセージ
Fatal error: Call to undefined function setNumber() in /home/ubuntu/workspace/index.php on line 33 Call Stack: 0.0015 240320 1. {main}() /home/ubuntu/workspace/index.php:0 0.0015 240576 2. Car->__construct() /home/ubuntu/workspace/index.php:10
###該当のソースコード
PHP
1<!doctype HTML> 2<html> 3 <head> 4 <title>sample page</title> 5 <meta charset="utf-8"> 6 </head> 7 <body> 8 <?php 9 10 $myCar = new Car(1111, 4.5); 11 $yourCar = new Car(2222, 3.4); 12 13 print "<p>myCar's Number: "; 14 print $myCar->getNumber(); 15 print "<br>"; 16 print "myCar's Oil: "; 17 print $myCar->getOil(); 18 print "<br>"; 19 print "yourCar's Number: "; 20 print $yourCar->getNumber(); 21 print "<br>"; 22 print "yourCar's Oil: "; 23 print $yourCar->getOil(); 24 print "</p>"; 25 26 27 // クラス 28 class Car{ 29 private $number = 0; 30 private $oil = 0; 31 32 public function __construct($num, $oi){ 33 setNumber($num); 34 setOil($oi); 35 } 36 37 public function setNumber($num){ 38 $this->number = $num; 39 } 40 41 public function setOil($oi){ 42 if($oi >= 0){ 43 $this->oil = $oi; 44 } else { 45 return -1; 46 } 47 } 48 49 public function getNumber(){ 50 return $this->number; 51 } 52 53 public function getOil(){ 54 return $this->oil; 55 } 56 57 } 58 ?> 59 </body> 60</html>
###試したこと
現在「やさしいPHP(3版)」で学習をしており、コードが誤っていないかなどを前の例文など見ながら確認しましたが、間違いに気づけませんでした。
※これは章末問題となり、回答が記載されておりません。
###補足情報(言語/FW/ツール等のバージョンなど)
cloud9にてコーディング/実行を行っております。
お手数をおかけしますが、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー