通过特定程序了解PHP中的抽象类

通过特定程序了解PHP中的抽象类
当然,可能有一个以上的根类,用来实现不同的功能。在设计良好的系统中,每个根类都应该有一个有用的接口,可以由应用程序代码使用。如果我们的代码的应用程序设计为与根类一起工作,那么它也可以从根类中继承任何继承根类的继承。

抽象方法是一种一般的方法,作为占位符中的子类(占地方不工作),它与一般方法不同没有任何代码。如果类有一个或多个抽象方法,则该类成为抽象类。不能实例化抽象类。你必须继承他们。然后实例化子类。您也可以将抽象类作为模板的子类。

如果重写所有抽象方法,子类将变成一个普通类。如果没有重写所有方法,子类仍然是抽象的。如果一个类包含抽象方法(甚至只有一个),则必须声明这个类是抽象的、抽象的。在类关键字前加

不同的语法和方法声明方法的一般语句。抽象方法不包含在一般的方法,在用形象的主要部分,并用分号来结束。
在下面的过程中,我们定义了一个类的形状。含有getArea方法而是因为他们不知道它的形状是不可能确定图形的面积,我们声明为抽象方法getArea方法。您不能实例化一个形状对象,但您可以继承它,或者在表达式中使用它,如示例6.13那样。

如果只构建类的抽象方法,则可以定义接口(接口)。为了说明这一点,接口和实现关键字PHP。可以使用接口来替换抽象类,使用工具而不是扩展来解释类或使用接口。你可以写一个MyClass实现myiterface。这两种方法可以根据个人喜好进行选择。

代码
复制代码代码如下所示:
附注:
两种手段:
1。抽象类AAA(注意AAA中只有抽象方法,没有一般方法)
BBB级延伸AAA {}(覆盖在AAA BBB抽象方法)
2。接口AAA { }
Class BBB implements aaa{} (overwriting an abstract method in AAA in BBB)
* /
< PHP

抽象根类抽象根类
抽象类
{
摘要功能(GetArea); / /定义一个抽象方法
}

抽象子类抽象子类
抽象类多边形扩展形状/多边形
{
摘要getnumberofsides()函数;
}
具体类实体类三角形类
类三角形延伸多边形
{
公共基础;
公共高度;
公共功能(GetArea) / /覆盖面积计算方法
{
返回((($)…))2;
}
公共功能(getnumberofsides) / /覆盖边数
{
返回(3);
}
}
具体的类实体类
类矩形扩展多边形
{
公共宽度;
公共高度;
公共函数GetArea()
{
返回($ >宽度* $ - >高度);
}
Public function getNumberOfSides ()
{
返回(4);
}
}
具体类实体类循环
类圆扩展形状
{
公共半径;
公共函数GetArea()
{
返回(pi);
}
}
具体的根类定义了一个颜色类。
Class Color
{
公开名称;
}
我的收藏美元=(阵列); / /套收集到一个数组的形状
创建一个矩形
新矩形;
$ =宽度= 5;
$ =高度= 7;
我的收藏美元{ } = r;
unset(r);
创建三角形
新三角形;
$ =基础= 4;
$ =高度= 5;
我的收藏美元{ } = $ T;
设置(T);
创建一个圆
新圆;
$ =半径= 3;
我的收藏{ } = $ C $;
unset($ C);
/ /使颜色
新颜色;
$name蓝色;
我的收藏{ } = $ C $;
unset($ C);
foreach(合我的美元)
{
如果(合的是形状)打印(区域)..的-> GetArea();如果$是形状类的实例
如果($ S是多边形)打印(方面。$ S -> getnumberofsides()。;
如果(合的是彩色)打印(颜色的美元->名称。;
打印();
}
>

运行结果:
面积:35
面:4
面积:10
面:3
面积:28.274333882308
颜色:蓝色

tag:抽象类程序电脑软件php

相关内容