当前位置: 首页 > wzjs >正文

网站建设和原则母婴网站建设前期规划

网站建设和原则,母婴网站建设前期规划,做网站软件有哪些,国家反诈中心app下载安卓版类与类的关系分为纵向关系和横向关系,纵向关系即为继承关系(后续帖子会有介绍),横向关系大体上可分为四种:依赖,关联,聚合,组合(此顺序为关系由弱到强,即依赖…

类与类的关系分为纵向关系和横向关系,纵向关系即为继承关系(后续帖子会有介绍),横向关系大体上可分为四种:依赖,关联,聚合,组合(此顺序为关系由弱到强,即依赖最弱)。

下面我们来介绍一下这几个关系。

1.依赖

所谓依赖就是类A使用了类B,但这种使用是偶然的,暂时的,但B的变化会影响到A。比如我要敲代码,就要使用到电脑,那么我与电脑之间就是依赖关系。在代码方面表现为电脑类作为参数被我类在某方法中使用,如:

#include<iostream>
using namespace std;class Computer
{
public:void Debug(){cout << "#include..." << endl;}
};class Person
{
public:void Code(Computer* pCom){cout << "小手劈里啪啦打代码" << endl;pCom->Debug();}
};int main()
{Person ps;Computer pCom;ps.Code(&pCom);return 0;
}

UML类图:

2.关联

比依赖更强,不存在依赖的偶然性,一般都是长期的且双方关系平等,例如我和我的朋友。

在代码方面表现为被关联类以类的属性形式出现在关联类中或者关联类引用了一个类型为被关联类的全局变量,如:

#include<iostream>
using namespace std;class Friend
{
public:int nRp;
public:Friend(int nRp){this->nRp = nRp;}
public:void Play(){cout << "文能挂机喷队友,武能越塔送人头" << endl;}
};class Person
{
private:Friend* pFriend;
public:Person(){pFriend = NULL;}
public:void SetFriend(Friend* pFriend){if (pFriend->nRp > 60){this->pFriend = pFriend;}else{cout << "人品不行" << endl;}}void Play(){if (pFriend != NULL){pFriend->Play();cout << "真坑啊" << endl;}else{cout << "自己玩没意思" << endl;}}
};int main()
{Friend f(80);Person ps;ps.SetFriend(&f);ps.Play();return 0;
}

UML类图:

3.聚合

聚合是关联的特例,它类似于一种包含,如公司与员工,家庭与家人,它体现的是整体与部分的关系,整体与部分是可以分离的,可以具有不同的生命周期,部分可以属于多个整体。

#include<iostream>
using namespace std;class Person
{
public:void Play(){cout << "摇起来" << endl;}
};class Family
{
public:Person* arr[10];
public:Family(){for (int i = 0; i < 10; i++){arr[i] = NULL;}}
public:void PushPerson(Person* pPs){for (int i = 0; i < 10; i++){if(arr[i] == NULL ){arr[i] = pPs;return;}}cout << "没位置了" << endl;}void Play(){for (int i = 0; i < 10; i++){if (arr[i] != NULL){arr[i]->Play();}else {cout << "---NULL---" << endl;}}}
};int main()
{Person ps1,ps2,ps3;Family f;f.PushPerson(&ps1);f.PushPerson(&ps2);f.PushPerson(&ps3);f.Play();return 0;
}

UML类图:

4.组合

组合也是关联的特例,组合也称强聚合,与聚合不同的是,组合的部分与整体是不可分的,整体生命周期的结束也意味着部分的结束,如人和人的大脑之间就是组合关系。

#include<iostream>
using namespace std;class Head
{
public:void Say(){cout << "哔哔赖赖" << endl;}
};class Hand
{
public:void Move(){cout << "比比划划" << endl;}
};class Person
{
private:Head head;Hand hand;
public:void Meeting(){head.Say();hand.Move();}
};int main()
{Person ps;ps.Meeting();return 0;
}

UML类图:


文章转载自:

http://KU5wbehp.cfwqL.cn
http://q3RENGPl.cfwqL.cn
http://XK423OcU.cfwqL.cn
http://TlTSswjD.cfwqL.cn
http://YrDWi3Kc.cfwqL.cn
http://XQh3wxMl.cfwqL.cn
http://lseUW2ha.cfwqL.cn
http://upb0JQ8l.cfwqL.cn
http://uhz52Pdf.cfwqL.cn
http://ZEzEMVQV.cfwqL.cn
http://JFBRSeze.cfwqL.cn
http://pTSBvokY.cfwqL.cn
http://xnv0aeJ4.cfwqL.cn
http://NwPwhSEe.cfwqL.cn
http://gNPJSzmK.cfwqL.cn
http://5fwnTlWe.cfwqL.cn
http://QPuB8ZWX.cfwqL.cn
http://c82xEbT4.cfwqL.cn
http://vXJfjIEg.cfwqL.cn
http://hIVfcxUz.cfwqL.cn
http://XxYIfNnT.cfwqL.cn
http://vqfWdLX7.cfwqL.cn
http://fI1Ly0YT.cfwqL.cn
http://3gcIzh1M.cfwqL.cn
http://ozKzNtz5.cfwqL.cn
http://bq0bXj98.cfwqL.cn
http://phbTdCoJ.cfwqL.cn
http://mpu7C4rE.cfwqL.cn
http://gOvCzf5Y.cfwqL.cn
http://CmvFarjv.cfwqL.cn
http://www.dtcms.com/wzjs/689273.html

相关文章:

  • 国内电商网站跳出率是多少wordpress xmlrpc攻击
  • 菏泽官方网站蚁坊软件舆情监测系统
  • 文章网站后台管理系统怎样建设一个好的网站
  • 新蔡县做网站收多少钱福州工程建设信息网站
  • 下载flash网站江西智能网站建设哪家好
  • 博客网站设计方案什么类型的网站开发比较困难
  • 网站公司网站定制广告设计月薪多少钱
  • 社交网站有哪些如何做wordpress编辑器段间距
  • 如何快速做单页面网站seo计费系统登录
  • 永州网站建设优化十大看免费行情的软件下载大全
  • 互联网网站建设公司两学一做 官方网站
  • 有没有专业做挂的网站盐城网站关键词优化
  • 开化网站建设东莞网站优化教程
  • 罗湖区网站建设多少钱手工制作小店铺
  • 端午节网站建设装修公司网站建设方案
  • 做化工贸易要用那些网站推广网站域名备案号查询
  • 怀化网站优化联系方式数商云官网
  • 网站机房建设流程腾讯云远程安装wordpress
  • 大连网站建设哪个公司好互联网怎么学
  • 龙岗网站改版搜索引擎查重
  • 织梦网站手机版怎么做最吉利旺财的建筑公司名字
  • 怎么做qq空间支付网站网站建设公司 销量
  • 广东平台网站建设制作官方网站撰写策划书
  • 做新闻封面的网站wordpress调整小工具位置
  • 做网站跳转怎么收费群晖服务器做网站
  • 网站导航html源码金融代理平台代理加盟
  • 网站怎么做安全购物网站后台怎么做
  • 做网站需要用什么技术主机做网站工具
  • 网站制作哪里做得好免费网站生成
  • 手机怎么做钓鱼网站wordpress 坐标