PHPのOOPとJavaコードを比較してみた

前回の記事ですが、オリジナルはJavaで書かれています。
Java版とPHP版を比較してみると、コード記述にほとんど差がない。
むしろJavaの方が若干コード量が少ない気がする。
ショック!

Java版

http://www.objectclub.jp/technicaldoc/testing/stack_tdd.pdfより引用
import java.util.EmptyStackException;
/**
* @author koji,hiranabe
*/
public class Stack {

    private int[] value = new int[10];
    private int size;

    public boolean isEmpty() {
        return size == 0;
    }
    public int top() {
        emptyCheck();
        return value[size - 1];
    }
    public void push(int value) {
        this.value[size++] = value;
    }
    public int size() {
        return size;
    }
    public void pop() {
        emptyCheck();
        --size;
    }
    private void emptyCheck() {
        if (isEmpty())
        throw new EmptyStackException();
    }
}

PHP版

<?php
class Stack {

    protected $value = array();
    protected $size = 0;

    public function isEmpty() {
        return $this->size == 0;
    }
    public function top()  {
        $this->emptyCheck();
        return $this->value[$this->size - 1];
    }
    public function push($x)  {
        $this->value[$this->size ++ ] = $x;
    }
    public function size()  {
        return $this->size;
    }
    public function pop()  {
        $this->emptyCheck();
        $this->size--;
    }
    private function emptyCheck()  {
        if($this->isEmpty()){
            throw new OutOfRangeException();
        }   
    }
}
?>
Ligthweight Languageとは名ばかりの。。。
PHPのOOPはもはやLLではないのか(涙
カテゴリ: