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)

相关推荐

  • 6组-Alpha冲刺-总结

    技术6组-Alpha冲刺-总结 6组-Alpha冲刺-总结组长博客链接:https://www.cnblogs.com/GuoHail/p/15586232.html
    一、基本情况
    组长博客链接:htt

    礼包 2021年11月22日
  • SequoiaDB 分布式事务实现原理是什么

    技术SequoiaDB 分布式事务实现原理是什么这篇文章将为大家详细讲解有关SequoiaDB 分布式事务实现原理是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1分

    攻略 2021年11月23日
  • SqlServer Mysql数据库修改自增列的值及相应问题的解决方案是怎样的

    技术SqlServer Mysql数据库修改自增列的值及相应问题的解决方案是怎样的今天就跟大家聊聊有关SqlServer Mysql数据库修改自增列的值及相应问题的解决方案是怎样的,可能很多人都不太了解,为了让大家更加了

    攻略 2021年11月30日
  • iOS ScrollView嵌套tableView联动滚动的思路分析

    技术iOS ScrollView嵌套tableView联动滚动的思路分析这篇文章主要讲解了“iOS ScrollView嵌套tableView联动滚动的思路分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小

    攻略 2021年11月4日
  • swing五种常见的布局是什么(swing中的常用布局方式)

    技术怎样进行Swing Set示例的分析怎样进行Swing Set示例的分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Swing 工具包提供各种用于

    攻略 2021年12月19日
  • 如何在Sublime3中设置自己的代码片段

    技术如何在Sublime3中设置自己的代码片段本篇内容主要讲解“如何在Sublime3中设置自己的代码片段”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在Sublime3

    攻略 2021年11月2日