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)

相关推荐

  • snowflake官网怎么做的(snowflake讲解)

    技术Snowflake的独特技术优势是什么本篇文章为大家展示了Snowflake的独特技术优势是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。云端原生性Snowflake提出

    攻略 2021年12月23日
  • openwrt设置远程管理(openwrt模式怎么设置)

    技术OpenWRT如何启用工作模式开关和联网小编给大家分享一下OpenWRT如何启用工作模式开关和联网,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 主要配置 rc.local 脚本,内容如下:r

    攻略 2021年12月18日
  • python代码烟花特效需要会什么(python烟花编程代码是什么)

    技术python实现烟花的实例代码怎么编写本篇文章给大家分享的是有关python实现烟花的实例代码怎么编写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。实现

    攻略 2021年12月21日
  • 聚焦近义词,“均匀”的近义词是什么

    技术聚焦近义词,“均匀”的近义词是什么jūn yún[释义] (形)分布或分配在各部分的数量相同聚焦近义词,时间的间隔相等。
    均匀的近义词
    近义词:平均、恰当、匀和、匀称、均匀
    一、平均 píngjūn
    (1) 按份儿均

    生活 2021年10月30日
  • 如何使用Cython为Python编写更快的C扩展

    技术如何使用Cython为Python编写更快的C扩展本篇文章为大家展示了如何使用Cython为Python编写更快的C扩展,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在我们这

    攻略 2021年10月26日
  • 英国的标志性建筑,英国标志性建筑物对应的国家

    技术英国的标志性建筑,英国标志性建筑物对应的国家1、大本钟英国的标志性建筑。即伊丽莎白塔。伊丽莎白塔是坐落在英国伦敦泰晤士河畔。2、伦敦桥。修建于1179年-1209年,是英国伦敦泰晤士河上一座几经重建的大桥,也是该河上

    生活 2021年10月30日