paiza レベルアップ問題集クラス・構造体メニュー「コンストラクタ PHP編」

ひとつ前と同じコードを提出してしまった。通ってしまった。正直問題文の意味が分からないというありさま。

コンストラクタを使おうということなので、たぶん作ってはいるが、使っているのかどうかわかりません。

<?php
    // 自分の得意な言語で
    // Let's チャレンジ!!

    $num = trim(fgets(STDIN));
    
    for ($i = 0; $i < $num; $i++) {
        $s = trim(fgets(STDIN));
        $s = str_replace(array("\r\n","\r","\n"), '', $s);
        $s = explode(" ", $s);
        //echo "hello = ".$s[0]." , world = ".$s[1]."\n";
        
        $commond = $s[0];
        $no = $s[1];
        if($commond=="make"){
            $name = $s[2];
        }
        
        
        if($commond=="make"){
            $dogs[] = new employee($no,$name);

        }elseif($commond=="getnum"){
            echo ($dogs[$no-1]->getnum()), PHP_EOL;
        }elseif($commond=="getname"){
            echo ($dogs[$no-1]->getname()), PHP_EOL;
        }

        
    }

    
    //Classを定義
    class employee {
    
        // プロパティを定義
        private $number;
        private $name;
        
        // インスタンス化するときに引数を受け取れるようにする
        public function __construct($number,$name) {
            $this->number = $number;
            $this->name = $name;
        }
        
        // 数字を取得するメソッドを追加
        public function getnum(){
            return $this->number;
        }
        public function getname(){
            return $this->name;
        }
    
    }

?>

つらいな・・・。

これというのも、phpのクラスの説明の相性のいい本が見つかってないからで、もっと真面目に探そうと思います

あぶらぼうず
相性の良いプログラミングの本を探すのが苦手なあぶらぼうず

プログラミングの本はどうしてあんなに、無駄にキャラクタを出したり、吹き出しをつけたり(私が言うかですが)、デザインチックにしたり、カラフルにしたり、視線誘導があちこちだったりするんだろう。正直苦手です。小説の文庫本のように淡々と文字のみで解説の方がありがたい(あまりないですね)

paiza

https://paiza.jp/works/mondai/class_primer/class_primer__constructor
0

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です