前提・実現したいこと
phpで雑かつ簡単にオブジェクト指向の練習をしています。
インスタンスを作成したあとsetKanojoした後getKanojoで$anata->nameを表示したいです
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
やった! Notice: Undefined property: Boku::$getKanojo in C:\xampp\htdocs\object.php on line 85
該当のソースコード
PHP
1<?php 2 3class Hito 4{ 5 private $name; 6 public $kareshi; 7 public function __construct($name) 8 { 9 $this->name = $name; 10 } 11 12 public function naku() 13 { 14 return 'うえええん'; 15 } 16 17 public function ureshii() 18 { 19 return 'やった!'; 20 } 21 22 public function horeta($hito) 23 { 24 if (get_class() == 'Hito') { 25 return true; 26 } else { 27 return false; 28 } 29 } 30 31 public function kokuhaku($answer) 32 { 33 if ($answer == 'OK') { 34 return true; 35 } else { 36 throw new Anata_kareshigairu; 37 } 38 } 39 40 public function getName() { 41 return $this->name; 42 } 43 44} 45 46class Boku extends Hito 47{ 48 private $name; 49 public $kanojo; 50 public function __construct($name, $kanojo) 51 { 52 $this->name = $name; 53 $this->kanojo = $kanojo; 54 } 55 56 public function setKanojo($kanojo) { 57 $this->kanojo = $kanojo; 58 } 59 60 public function getKanojo() { 61 return $this->kanojo; 62 } 63} 64 65class Anata_kareshigairu extends Exception 66{ 67 public function __construct() 68 { 69 parent::__construct('彼氏いるじゃん'); 70 } 71 72 public function getMessages() { 73 return '彼氏いるじゃん'; 74 } 75} 76 77$err = new Anata_kareshigairu(); 78$boku = new Boku("男性", null); 79$anata = new Hito("女性"); 80if ($boku->horeta($anata)==true && $boku->kanojo==null) { 81 try { 82 if($boku->kokuhaku('OK')==true) { 83 echo $boku->ureshii(); 84 $boku->setKanojo($anata->getName()); 85 echo $boku->getKanojo; 86 } else { 87 echo $boku->naku(); 88 } 89 } catch(Anata_kareshigairu $e) { 90 echo $boku->naku(); 91 echo $err->getMessages(); 92 } 93} 94
補足情報
xampp環境
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/11/29 02:50 編集
2020/11/28 23:17