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)

相关推荐

  • 兄弟造句两种意思造句,一个词语有两个意思,造句

    技术兄弟造句两种意思造句,一个词语有两个意思,造句一兄弟造句两种意思造句、手腕  1、手和臂连接的部分。
    举例:那用圆润的手腕,遮着太阳,一对黑大的眼睛,向我注视的,不是S是谁?
    2、手段,伎俩。
    举例:他作梦也想

    生活 2021年10月25日
  • 大建Rust开发环境

    技术大建Rust开发环境 大建Rust开发环境介绍
    Rust是一门系统编程语言,专注于安全,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。
    和Ruby,Python等脚本语言程序不同

    礼包 2021年11月25日
  • JAVA中使用SQL语句查询 EXCEL文件数据

    技术JAVA中使用SQL语句查询 EXCEL文件数据这篇文章将为大家详细讲解有关JAVA中使用SQL语句查询 EXCEL文件数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了

    攻略 2021年12月2日
  • 清除浮动的方法

    技术清除浮动的方法 清除浮动的方法1、直接设置父元素高度:
    特点:①、优点:简单粗暴,方便;②、缺点:有些布局中不能固定父元素的高度。例如:新闻列表、京东推荐模;2、额外标签法:
    (1)、操作:①、在父

    礼包 2021年11月18日
  • mysql如何修改字段注释

    技术mysql如何修改字段注释这篇文章主要介绍“mysql如何修改字段注释”,在日常操作中,相信很多人在mysql如何修改字段注释问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql如

    攻略 2021年12月1日
  • spark python 机器学习(python和spark)

    技术机器学习实践中如何将Spark与Python结合本篇文章给大家分享的是有关机器学习实践中如何将Spark与Python结合,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小

    攻略 2021年12月17日