当前位置:首页 > 日记 > 正文

第十节摘要法和抽象类10

第十节摘要法和抽象类10
通过类的层次结构建立面向对象程序。在PHP这样的单一继承语言中,是继承树。根类有一个或多个子类别,从每个子类继承一个或多个低级子类。当然,也可以有多个根类,来实现不同的功能。在设计良好的系统中,每个根类都应该有一个有用的接口,可以由应用程序代码使用。如果我们的代码的应用程序设计为与根类一起工作,那么它也可以与从根类继承的任何一个进行合作。子类。

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

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

不同的语法和方法声明方法的一般语句。抽象方法不包含在一般的方法,在用形象的主要部分,并用分号来结束。

在例子6.13中,我们定义了一个类的形状。含有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)
* /

清单6.13抽象类

抽象根类抽象根类
抽象类
{
抽象函数GetArea();文件: / /定义一个抽象方法
}

抽象子类抽象子类
抽象类多边形扩展形状文件:多边形
{
摘要getnumberofsides()函数;
}

具体类实体类三角形类
类三角形延伸多边形
{
公共基础;
公共高度;

公共函数GetArea()文件: / /覆盖面积计算方法
{
返回((($)…))2;
}

覆盖公共功能getnumberofsides边数的统计方法()文件: / /
{
返回(3);
}
}

具体的类实体类
类矩形扩展多边形
{
公共宽度;
公共高度;

公共函数GetArea()
{
返回($ >宽度* $ - >高度);
}

公共功能getnumberofsides()
{
返回(4);
}
}

具体类实体类循环
类圆扩展形状
{
公共半径;

公共函数GetArea()
{
返回(pi);
}
}

具体的根类定义了一个颜色类。
类的颜色
{
公开名称;
}

我的收藏美元=阵列();文件: / /建立一套形状放在一个数组

创建一个矩形
新矩形;
$ =宽度= 5;
$ =高度= 7;
我的收藏美元{ } = r;
unset(r);

创建三角形
新三角形;
$ =基础= 4;
$ =高度= 5;
我的收藏美元{ } = $ T;
设置(T);

创建一个圆
新圆;
$ =半径= 3;
我的收藏{ } = $ C $;
unset($ C);

创建颜色
新颜色;
$name蓝色;
我的收藏{ } = $ C $;
unset($ C);

foreach(合我的美元)
{
如果(合的是形状)文件: / /如果的是形状类的一个实例
{
打印()区域:。$ S -> GetArea()。


}

如果($ S是多边形)
{
打印(边:)。
$ S -> getnumberofsides()。


}

如果(合的是颜色)
{
打印(颜色

}

打印()

}

>

相关文章

鱿鱼3.2.0.6beta版正式发布

鱿鱼3.2.0.6beta版正式发布

鱿鱼,正式发布,电脑软件,beta,Squid缓存(简称SQUID)是一种流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。枪乌贼被广泛用来提高Web服务器的速度从预缓存服务器缓存相关请求作为Web服务器,为一群人和万维网高速缓存的网络资源…

长城宽带第一推按视频点播今年夏季

长城宽带第一推按视频点播今年夏季

在线,视频点播,长城宽带,夏季奥运会,电脑软件,作者:新闻网 {说互联网新闻}为广大体育爱好者,这届奥运会将不再是痛苦和快乐。8月中旬,长城宽带将开放宽带奥运视频免费实现体育迷的梦想看奥运容易。 宽带奥运视频是由长城宽带和新浪网发起的…

公牛桌面:软件快速启动灵巧手

公牛桌面:软件快速启动灵巧手

桌面,快速启动,公牛,灵巧,电脑软件,不小心,2010就要结束了。我们要迎接新的一年的时候,我们总是要准备一个大礼物给自己来满足我们的小愿望。送你一个软件,是值得拥有的,它会满足你。无意中在小牛牛桌面管理大师的使用,发现软件的启动速度非常快…

2008以太网交换市场十大事件

2008以太网交换市场十大事件

以太网,事件,市场,十大,电脑软件,如果有更多的有意义的新闻事件,似乎在2008的以太网交换市场没有失望:瞻博网络已进入市场,思科已经发布了其下一代平台,和其他一些企业已经整合。新的一年进行了回顾,我们在这里列出的十大事件,今年在以太网外汇市…

的提交包CMPP代码示例

的提交包CMPP代码示例

代码示例,提交,电脑软件,CMPP,如果(int(slabel.size(CPKMsg pkMsg)); 如果(!PkMsg.stPK(slabel,人体)) { ostringstream之上OSS; OSS gruninfo.addinfo(oss.str()); } 国际npknum = int(pkmsg.m_vbody.size()); 为(int = i 0;i {) 字符串scurbody = pkmsg.m_vbody.at…

2012高清晰度的技能使用暴风影音

2012高清晰度的技能使用暴风影音

暴风影音,高清晰度,技能,电脑软件,2012高清晰度的技能使用暴风影音 与许多普通的电视画面相比,最热门、最受欢迎的全高清视频画面确实能带来的视听体验和心灵震撼完全不同,像6倍的DVD质量的1080P高清、3倍于DVD质量的720p高清视频播放,画面十…

多线程是最美味的!Windows7可以增强

多线程是最美味的!Windows7可以增强

硬件,增强,多线程,性能,美味,Windows 7不仅界面更漂亮。该系统的一些变化将使英特尔、英伟达和AMD芯片制造商改善Windows 7的性能,超过微软的操作系统。 微软星期三(7月22日)表示,已经完成了Windows 7代码,并将于10月22日推出新的操作系统。系…

WindowsXP系统中虚拟内存的标准设

WindowsXP系统中虚拟内存的标准设

设置,系统,虚拟内存,方法,标准,雨涵 第一页:系统虚拟内存(图形)第二页的标准设置方法:系统虚拟内存的标准设置方法(图)(2) 当你玩游戏的时候,或者在冲浪的激情中打开多个窗口,你总是出现在系统提示符上,机器像蜗牛一样慢,好心情突然消失,这个问题引起…

在ASP使用Oracle对象访问Oracle8

在ASP使用Oracle对象访问Oracle8

对象,电脑软件,ASP,Oracle,ASP(Active Server页面)是微软公司提出的开发Internet应用程序的工具之一,它是一个类似的HTML(超文本)。 标记语言超文本标记语言),脚本和CGI的结合(通用网关接口通用网关接口),但它能高效运行。 与CGI相比,编程比HTML更方便…

思科警告说,一些Wi-Fi接触有缺陷,被

思科警告说,一些Wi-Fi接触有缺陷,被

缺陷,黑客,接触,思科,电脑软件,思科警告说,公司的产品,部分在Aironet Wi-Fi点缺陷,这些缺陷可能被黑客利用。这些有缺陷的接触(接入点)与未加密的文本形式实现无线传输的安全密钥,这意味着黑客可以拦截,这些钥匙,黑客可以很容易破坏加密的Wi-Fi传输…

苹果最新的系统ios4.2快速突破(有详

苹果最新的系统ios4.2快速突破(有详

解锁,系统,突破,教程,快速,苹果官方网站关于iOS 4.2的页面截图 新浪科技讯北京时间11月24日上午消息,iPhone Dev redsn0w 0.9.6b4队刚刚在其官方网站发布(俗称红雪,国内)所有iOS 4.2.1设备越狱成功,运行Cydia和MobileSubstrate。越狱不超过24小…