<?php
//抽象类.在设计类的层次时,可能会想部分地保留一些方法给继承类执行
//继承抽象类,子类必须实现抽象类中所有“抽象方法”,如果A类继承了一个抽象类 B,则要求A类实现从B类继承的所有抽象方法
//抽象类,顾名思义,就是抽象,就是把一些公共的东西抽象出来,放到一个类里, 抽象的意义是模糊的,不清楚的,没有具体含义的意思,需要子类去把它变清楚,变清晰 所以抽象方法没有方法体,也不能有方法体,而且必须被子类重写; 并不是什么公共的东西...那样我也可以定义一个父类,把公共的东西都拿出来,而没必要弄个抽象类
//抽象类不能被实例
//它的作用就是产生子类的同时给于子类一些特定的属性和方法.
abstract class Shape{
function setCenter($x,$y){
$this->x=$x;
$this->y=$y;
}
abstract function draw();
abstract function test();
protected $x,$y;
}
class Square extends Shape{
function draw(){
echo "draw square";
}
function test(){
echo "test square";
}
}
class Circle extends Shape{
function draw(){
echo "draw circle";
}
function test(){
echo "test circle";
}
}
$class=new Square();
echo $class->draw();
echo "<br>";
$class=new Circle();
echo $class->draw();
echo "<br>";
echo $class->test();