Phone类的怎么实现

技术Phone类的怎么实现这篇文章主要讲解了“Phone类的怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Phone类的怎么实现”吧! Decorat

本文主要讲解“如何实现Phone类”。本文的解释简单明了,易学易懂。请跟随边肖的思路一起学习和学习“如何实现手机课堂”!

装饰模式从类中移除了装饰函数,从而简化了原始类。创建一个新的类来处理这些装饰功能。

装饰模式:动态地给对象添加一些额外的职责。在添加函数方面,装饰模式比生成子类更灵活。有时我们想给一个对象而不是整个类添加一些函数。比如有一款手机,可以让你给手机添加功能,比如添加挂件、屏幕贴纸等等。一种灵活的设计方法是将手机嵌入到另一个对象中,这个对象可以添加功能。我们称之为嵌入式物体装饰。这种装饰与它所装饰的组件接口是一致的,因此对于使用组件的客户来说是透明的。装饰器模式的UML图如下。

Phone类的怎么实现

在这种设计中,手机的装饰功能是独立的,可以独立开发,从而简化了特定手机的设计。电话类的实现如下所示:

//公共抽象类

课堂电话

{

公众号:

Phone(){}

虚拟~电话(){}

virtualvoitshowDetail(){ }

};特定手机类别的定义。

//特定手机类别

classiPhone:publicPhone公共电话

{

私人:

stringm _ name//手机名称

公众号:

iPhone(string name):m _ name(name){ }

~iPhone(){}

装饰结束;of void show definition(){ coutm _ name ' }

};

//特定手机类别

类别诺基亚电话:公共电话

{

私人:

stringm _ name

公众号:

诺基亚手机(stringname):m_name(name){}

~诺基亚手机(){}

装饰结束;of void show definition(){ coutm _ name ' }

};装修班的实施:

/装饰类别

类别装饰电话:公共电话

{

私人:

Phone * m _ phone//待装修手机

公众号:

装饰手机(电话*电话):m_phone(电话){}

virtualvoidShowDecorate装修(){ m _ phone-show装修();}

};

//具体装修类别

class decoratororphone a : public decoratororphone

{

公众号:

装饰电话(电话*电话):装饰电话(电话){}

空隙显示装饰(){装饰字体:3360如何装饰();addDePartment();}

私人:

void department(){ cout ' Add pendant ' endl;}//增加了装饰

};

//具体装修类别

class decoratororphone b : public decoratororphone

{

公众号:

装饰手机b(电话*电话):装饰手机(电话){}

空隙显示装饰(){装饰字体:3360如何装饰();addDePartment();}

私人:

void department(){ cout ' screen paste ' endl;}//增加了装饰

};客户使用情况:

intmain()

{

phone * phone=new nokiaaphone(' 6300 ');

Phone*dpa=newDecoratorPhoneA(电话);//装饰,增加挂件

Phone*dpb=newDecoratorPhoneB(电话);//装饰,屏幕粘贴

dpb-show装修();

deletedpa

deletedpb

deleteiphone

返回0;

} decorator pattern动态地向现有函数添加一些函数。当系统需要新功能时。向旧代码添加不重要的新函数违反了开放封闭原则。我们经常使用一个新的类来处理新函数的添加。新类包含要修饰的对象。有效区分班级的核心责任和装饰功能。

感谢阅读。以上就是《如何实施电话课堂》的内容。学习完这篇文章,相信你对Phone类如何实现有了更深的理解,具体用法还需要实践验证。在这里,边肖将为您推送更多关于知识点的文章,敬请关注!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/137951.html

(0)

相关推荐

  • sql怎么优化效率(sql如何调优化)

    技术SQL该怎么优化这篇文章主要讲解了“SQL该怎么优化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL该怎么优化”吧!一、避免进行null判断。 应尽量避免在 wh

    攻略 2021年12月17日
  • Apache Flink POC漏洞示例分析CVE-2020-17518/17519

    技术Apache Flink POC漏洞CVE-2020-17518/17519的示例分析今天就跟大家聊聊有关 Apache Flink POC漏洞CVE-2020-17518/17519的示例分析,可能很多人都不太了解

    攻略 2021年12月22日
  • 春天有哪些花开,春夏秋冬各有哪些花开哟

    技术春天有哪些花开,春夏秋冬各有哪些花开哟一年四季各有什么花对应开放1、春天春天开花的种类有很多,比如:梅花、水仙、迎春、白玉兰、琼花、君子兰、牡丹、芍药、丁香、杜鹃、西洋杜鹃、樱花、含笑、玫瑰、紫荆、棣棠、锦带花、连翘

    生活 2021年10月20日
  • 美国服务器如何选择合适服务商

    技术美国服务器如何选择合适服务商对于博客作者和小型网站而言,为其网站提供合适的网络服务器非常重要。这是为了确保他们的网站随时能够访问。各种各样的供应商这为购买者提供了足够的灵活性来做出正确的选择。然而,如何选择合适的服务

    礼包 2021年10月26日
  • JBuilder 6如何用Borland方式的Java集成开发环境

    技术JBuilder 6如何用Borland方式的Java集成开发环境JBuilder 6如何用Borland方式的Java集成开发环境,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇

    攻略 2021年12月2日
  • oracle中出现ora-01013错误怎么办

    技术oracle中出现ora-01013错误怎么办小编给大家分享一下oracle中出现ora-01013错误怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们

    攻略 2021年11月12日