-3

私はプログラミングにかなり慣れていないので、私の無知に耐えてください。

単純に 1 つのパラメーターを取る Name というクラスがあるとします。

private $first;

public function __construct($f) {
    $this->first=$f;
}

これには 2 つのアクセサーが必要です。1 つは指定されたとおりに名を返すもの (getNameNormal() など) と、すべて大文字で返すもの (getNameCaps() など) です。

これは可能ですか?これを行うにはどうすればよいでしょうか。

4

2 に答える 2

1

何かのようなもの:

class Name {
    private $first;

    public function __construct($f=null){
        if(!is_null($f)){
            $this->first = $f;
        }
    }

    public function getFirst(){
        return $this->first;
    }

    public function getUpperFirst(){
        return strtoupper($this->first);
    }
}
$n = new Name("test");
echo $n->getFirst().'<br>';
echo $n->getUpperFirst();

http://codepad.viper-7.com/tdidmO

于 2013-03-01T22:05:46.130 に答える
0

それを行うにはいくつかの異なる方法がありますが、あなたは正しい方向に進んでいます。

public function getFirst(){
    return $this->first;
}

public function getFirstCaps(){
    return strtoupper($this->first);
}

また

public function getFirst($caps=false){
    if($caps){
      return strtoupper($this->first);
    }else{
      return $this->first;
    }
}
于 2013-03-01T22:05:07.880 に答える