在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

組合模式(Composite Pattern)的用法

冬至子 ? 來源:全棧開發(fā)的碼農(nóng) ? 作者:全棧開發(fā)的碼農(nóng) ? 2023-06-01 15:30 ? 次閱讀

組合模式主要是為了表達(dá)“部分-整體”的層次結(jié)構(gòu),例如公司的組織架構(gòu),每個(gè)部門下又有若干個(gè)下級(jí)部門,再如菜單結(jié)構(gòu),每個(gè)菜單下可能有一個(gè)或多個(gè)子菜單。

下例以員工的層級(jí)結(jié)構(gòu)說明組合模式的用法。每個(gè)員工都有姓名、部門、工資等屬性,每個(gè)員工可能有0個(gè)或多個(gè)下屬員工。

圖片

Employee類的代碼如下:

package composite;


import java.util.ArrayList;
import java.util.List;


public class Employee {
  private String name;
  private String department;
  private int salary;
  private List < Employee > subordinates;
  //構(gòu)造函數(shù)
  public Employee(String name, String department, int salary) {
    this.name=name;
    this.department=department;
    this.salary=salary;
    this.subordinates=new ArrayList < Employee > ();
  }
  //添加下屬
  public void add(Employee employee) {
    subordinates.add(employee);
  }
  //移除下屬
  public void remove(Employee employee) {
    subordinates.remove(employee);
  }
  //獲取下屬
  public List < Employee > getSubordinates(){
    return subordinates;
  }
  //轉(zhuǎn)成字符串
  public String toString() {
    return "員工(姓名:"+name+",部門:"+department+",工資:"+salary+")";
  }
}

主函數(shù)調(diào)用方式:

package main;
import composite.*;


public class CompositePattern {
  public static void main(String[] args) {
    //創(chuàng)建一個(gè)員工:總裁
    Employee president = new Employee("李剛","管理層",30000);
    //創(chuàng)建兩個(gè)員工:部門領(lǐng)導(dǎo)
    Employee directorSales = new Employee("王孟","銷售部",20000);
    Employee directorRND = new Employee("嚴(yán)明","研發(fā)部",20000);
    //創(chuàng)建兩個(gè)員工:銷售部銷售員
    Employee saler1 = new Employee("孟德貴","銷售部",10000);
    Employee saler2 = new Employee("肖亮高","銷售部",10000);
    //創(chuàng)建兩個(gè)員工:研發(fā)部工程師
    Employee engineer1 = new Employee("左弓成","研發(fā)部",10000);
    Employee engineer2 = new Employee("成顏發(fā)","研發(fā)部",10000);
    //總裁添加下屬
    president.add(directorSales);
    president.add(directorRND);
    //銷售部部門領(lǐng)導(dǎo)添加下屬
    directorSales.add(saler1);
    directorSales.add(saler2);
    //研發(fā)部部門領(lǐng)導(dǎo)添加下屬
    directorRND.add(engineer1);
    directorRND.add(engineer2);
    //打印輸出所有員工
    System.out.println(president);
    for(Employee directorEmployee: president.getSubordinates()) {
      System.out.println(directorEmployee);
      for(Employee employee: directorEmployee.getSubordinates()) {
        System.out.println(employee);
      }
    }
  }
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2983

    瀏覽量

    106469
  • JAVA語言
    +關(guān)注

    關(guān)注

    0

    文章

    138

    瀏覽量

    20453
收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    ADS52J90配置成了test pattern模式,ADC傳輸回來的pattern值出現(xiàn)錯(cuò)位現(xiàn)象,為什么?

    調(diào)試ADS52J90這款芯片時(shí),先將芯片配置成了test pattern模式,但是ADC傳輸回來的pattern值出現(xiàn)錯(cuò)位現(xiàn)象,抓取frame clk時(shí)發(fā)現(xiàn)在設(shè)定某些特定的pattern
    發(fā)表于 01-03 07:21

    dlpc3470 Splash Pattern模式為什么會(huì)設(shè)置最大Pattern周期,這個(gè)最大周期能否更改?

    dlpc3470 Splash Pattern 模式為什么會(huì)設(shè)置最大 Pattern 周期,這個(gè)最大周期能否更改?
    發(fā)表于 02-19 08:41

    lightcrafter4500. Pattern sequence模式下,圖像源(pattern source)中Video port怎么使用?

    你好,我們?cè)谧鋈S測(cè)量,需要通過該模塊投影結(jié)構(gòu)光。但是lightcrafter4500 的閃存大小只有32MB,不能將所需的結(jié)構(gòu)光圖像完全存入。因此,在使用Pattern sequence模式
    發(fā)表于 02-28 07:38

    請(qǐng)問external pattern sequence子模式的正確使用方式是什么?

    在做結(jié)構(gòu)光成像的相關(guān)研究中,想投影大量正弦條紋圖(比如60張)并配合相機(jī)實(shí)現(xiàn)外觸發(fā),根據(jù)查閱用戶手冊(cè)和編程手冊(cè),應(yīng)該將lightcrafter設(shè)置為hdmi模式下的external pattern
    發(fā)表于 02-28 08:38

    DLP中video模式pattern模式有什么區(qū)別?

    你好,請(qǐng)問,在DLP相關(guān)文檔中,有提到video模式pattern模式,請(qǐng)問這兩種模式有什么區(qū)別?
    發(fā)表于 03-03 08:32

    10 Composite設(shè)備

    10 Composite設(shè)備
    發(fā)表于 10-11 09:12 ?4次下載
     10 <b class='flag-5'>Composite</b>設(shè)備

    Land Pattern File

    Land Pattern File
    發(fā)表于 02-02 08:12 ?0次下載
    Land <b class='flag-5'>Pattern</b> File

    Land Pattern File

    Land Pattern File
    發(fā)表于 02-02 08:43 ?9次下載
    Land <b class='flag-5'>Pattern</b> File

    Land Pattern and Solder Stencil

    Land Pattern and Solder Stencil
    發(fā)表于 02-19 11:47 ?7次下載
    Land <b class='flag-5'>Pattern</b> and Solder Stencil

    Land Pattern and Solder Stencil

    Land Pattern and Solder Stencil
    發(fā)表于 02-19 11:48 ?3次下載
    Land <b class='flag-5'>Pattern</b> and Solder Stencil

    Land Pattern and POD

    Land Pattern and POD
    發(fā)表于 03-05 15:59 ?0次下載
    Land <b class='flag-5'>Pattern</b> and POD

    嵌入式C語言軟件設(shè)計(jì)之裝飾器模式(Decorator Pattern

    裝飾器模式(Decorator Pattern),是結(jié)構(gòu)型設(shè)計(jì)模式的一種,裝飾器模式允許向一個(gè)現(xiàn)有的對(duì)象添加新的功能,而又不改變其對(duì)象結(jié)構(gòu),這種方式比使用子類繼承的方式更加靈活。
    發(fā)表于 03-01 10:55 ?528次閱讀

    設(shè)計(jì)模式結(jié)構(gòu)性:組合模式

    組合模式Composite Pattern),又叫部分整體模式,是用于把一組相似的對(duì)象當(dāng)作一個(gè)單一的對(duì)象。
    的頭像 發(fā)表于 06-08 10:34 ?1353次閱讀
    設(shè)計(jì)<b class='flag-5'>模式</b>結(jié)構(gòu)性:<b class='flag-5'>組合</b><b class='flag-5'>模式</b>

    演示裝飾器模式用法

    裝飾器模式(Decorator Pattern)允許向一個(gè)現(xiàn)有的對(duì)象添加新的功能,同時(shí)又不改變其結(jié)構(gòu)。這種類型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,它是作為現(xiàn)有的類的一個(gè)包裝。
    的頭像 發(fā)表于 06-08 11:16 ?678次閱讀
    演示裝飾器<b class='flag-5'>模式</b>的<b class='flag-5'>用法</b>

    組合模式應(yīng)該怎么用

    uniformly. 組合模式Composite Pattern):將對(duì)象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu), 使得用戶對(duì)單個(gè)
    的頭像 發(fā)表于 10-09 10:37 ?570次閱讀
    <b class='flag-5'>組合</b><b class='flag-5'>模式</b>應(yīng)該怎么用
    主站蜘蛛池模板: 一级片视频在线观看 | 亚洲视频欧美视频 | 亚洲精品精品一区 | 天堂国产 | 久久香蕉综合色一综合色88 | 色婷五月 | 91插插视频| 手机看片a永久免费看大片 手机毛片 | 夜色资源站www国产在线观看 | 一道精品视频一区二区三区男同 | 韩国三级hd | 国产片一级特黄aa的大片 | 欧美日一区二区三区 | 亚洲91在线视频 | 欧美无遮挡一区二区三区 | 欧美极品色影院 | 91国在线啪精品一区 | 四虎最新入口 | 婷婷综合激情网 | 亚洲香蕉毛片久久网站老妇人 | 在线天堂中文在线网 | 国产伦一区二区三区免费 | 恐怖片大全恐怖片免费观看好看的恐怖片 | 日本免费一区二区老鸭窝 | 亚洲深夜在线 | 超黄视频在线观看 | 美女视频一区二区 | 国产精品久久久久影视不卡 | 亚洲先锋资源 | 亚洲福利二区 | 日韩免费无砖专区2020狼 | 四虎永久免费最新在线 | 久久九九国产精品怡红院 | 国产片无遮挡在线看床戏 | 久久国产精品永久免费网站 | 四虎在线永久免费观看 | 国产三级跑 | 视频免费在线 | 一级做a爰片久久毛片人呢 一级做a爰片久久毛片图片 | 国产主播在线看 | 国产高清精品自在久久 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品