diff options
| author | Kyle Kaminski <kyle@xenomedia.com> | 2014-04-09 22:02:09 -0500 | 
|---|---|---|
| committer | Kyle Kaminski <kyle@xenomedia.com> | 2014-04-09 22:02:09 -0500 | 
| commit | af5272c6784050a97ce968d067274b86099fc3af (patch) | |
| tree | 916d087495e8e67647597931ddb0fed79aa58544 /oo | |
| parent | 55cfec6918fca9d3790ec8ab231d0178349fe2fa (diff) | |
| download | phpsandbox-af5272c6784050a97ce968d067274b86099fc3af.tar.gz phpsandbox-af5272c6784050a97ce968d067274b86099fc3af.tar.bz2 phpsandbox-af5272c6784050a97ce968d067274b86099fc3af.zip  | |
some oo concepts
Diffstat (limited to 'oo')
| -rw-r--r-- | oo/abstract.php | 27 | ||||
| -rw-r--r-- | oo/magic_methods.php | 16 | ||||
| -rw-r--r-- | oo/singleton.php | 3 | 
3 files changed, 46 insertions, 0 deletions
diff --git a/oo/abstract.php b/oo/abstract.php new file mode 100644 index 0000000..141f7b7 --- /dev/null +++ b/oo/abstract.php @@ -0,0 +1,27 @@ +<?php + +abstract class Polygon { +    protected $sides = 0; +    abstract protected function area(); +    public function getSidesNum() { +        return $this->sides; +    } +} + +class Triangle extends Polygon { +    private $width = 0; +    private $height = 0; +    function __construct($w, $h) { +        /* parent::__construct(); perhaps abstract classes do not have a ctor */ +        $this->width = $w; +        $this->height = $h; +        $this->sides = 3; +    } + +    public function area() { +        return $this->width * $this->height * 1/2; +    } +} + +$rightTri = new Triangle(4,4); +echo "area: {$rightTri->area()}, sides: {$rightTri->getSidesNum()}" . PHP_EOL; diff --git a/oo/magic_methods.php b/oo/magic_methods.php new file mode 100644 index 0000000..8d9da79 --- /dev/null +++ b/oo/magic_methods.php @@ -0,0 +1,16 @@ +<?php + +abstract class Base { +    protected $arr; + +    function __construct() { +        echo 'dispatching ctor'; +        $this->arr = array(); +    } + +    abstract protected function foo(); +} + +class Derived extends Base { + +}
\ No newline at end of file diff --git a/oo/singleton.php b/oo/singleton.php new file mode 100644 index 0000000..50cce95 --- /dev/null +++ b/oo/singleton.php @@ -0,0 +1,3 @@ +<?php + +  | 
