色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

組合模式(Composite Pattern)的用法

冬至子 ? 來源:全棧開發的碼農 ? 作者:全棧開發的碼農 ? 2023-06-01 15:30 ? 次閱讀

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

下例以員工的層級結構說明組合模式的用法。每個員工都有姓名、部門、工資等屬性,每個員工可能有0個或多個下屬員工。

圖片

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;
  //構造函數
  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;
  }
  //轉成字符串
  public String toString() {
    return "員工(姓名:"+name+",部門:"+department+",工資:"+salary+")";
  }
}

主函數調用方式:

package main;
import composite.*;


public class CompositePattern {
  public static void main(String[] args) {
    //創建一個員工:總裁
    Employee president = new Employee("李剛","管理層",30000);
    //創建兩個員工:部門領導
    Employee directorSales = new Employee("王孟","銷售部",20000);
    Employee directorRND = new Employee("嚴明","研發部",20000);
    //創建兩個員工:銷售部銷售員
    Employee saler1 = new Employee("孟德貴","銷售部",10000);
    Employee saler2 = new Employee("肖亮高","銷售部",10000);
    //創建兩個員工:研發部工程師
    Employee engineer1 = new Employee("左弓成","研發部",10000);
    Employee engineer2 = new Employee("成顏發","研發部",10000);
    //總裁添加下屬
    president.add(directorSales);
    president.add(directorRND);
    //銷售部部門領導添加下屬
    directorSales.add(saler1);
    directorSales.add(saler2);
    //研發部部門領導添加下屬
    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);
      }
    }
  }
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    19

    文章

    2972

    瀏覽量

    104865
  • JAVA語言
    +關注

    關注

    0

    文章

    138

    瀏覽量

    20114
收藏 人收藏

    評論

    相關推薦

    ADS5404/ADS5402怎么使用test pattern模式才能正確回讀到數據呢?

    使用ADS5402/ADS5404采集數據,想通過test pattern模式測試下回傳數據,根據手冊中提示先將HP置0,然后寫0x3c,0x3d,0x3e三個寄存器,但是按照提示操作后回傳數據為
    發表于 12-11 07:01

    ADS52J90配置成了test pattern模式,ADC傳輸回來的pattern值出現錯位現象,為什么?

    調試ADS52J90這款芯片時,先將芯片配置成了test pattern模式,但是ADC傳輸回來的pattern值出現錯位現象,抓取frame clk時發現在設定某些特定的pattern
    發表于 01-03 07:21

    【LabVIEW技巧】LabVIEW OOP怎么學

    Pattern)橋接模式(Bridge Pattern)過濾器模式(Filter、Criteria Pattern
    發表于 08-08 08:35

    10 Composite設備

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

    Land Pattern File

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

    Land Pattern File

    Land Pattern File
    發表于 02-02 08:25 ?4次下載
    Land <b class='flag-5'>Pattern</b> File

    Land Pattern File

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

    Land Pattern and Solder Stencil

    Land Pattern and Solder Stencil
    發表于 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
    發表于 02-19 11:48 ?3次下載
    Land <b class='flag-5'>Pattern</b> and Solder Stencil

    Land Pattern and POD

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

    嵌入式C語言軟件設計之裝飾器模式(Decorator Pattern

    裝飾器模式(Decorator Pattern),是結構型設計模式的一種,裝飾器模式允許向一個現有的對象添加新的功能,而又不改變其對象結構,這種方式比使用子類繼承的方式更加靈活。
    發表于 03-01 10:55 ?431次閱讀

    設計模式行為型:狀態模式

    在狀態模式(State Pattern)中,類的行為是基于它的狀態改變的。這種類型的設計模式屬于行為型模式
    的頭像 發表于 06-07 11:20 ?631次閱讀
    設計<b class='flag-5'>模式</b>行為型:狀態<b class='flag-5'>模式</b>

    設計模式結構性:組合模式

    組合模式Composite Pattern),又叫部分整體模式,是用于把一組相似的對象當作一個單一的對象。
    的頭像 發表于 06-08 10:34 ?1255次閱讀
    設計<b class='flag-5'>模式</b>結構性:<b class='flag-5'>組合</b><b class='flag-5'>模式</b>

    演示裝飾器模式用法

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

    組合模式應該怎么用

    uniformly. 組合模式Composite Pattern):將對象組合成樹形結構以表示“部分-整體”的層次結構, 使得用戶對單個
    的頭像 發表于 10-09 10:37 ?462次閱讀
    <b class='flag-5'>組合</b><b class='flag-5'>模式</b>應該怎么用
    主站蜘蛛池模板: 亚洲欧美中文字幕高清在线| 琉璃美人煞在线观看| 掀开奶罩边躁狠狠躁软学生| 久久re热线视频国产| 持田香织abc| 中字幕视频在线永久在线观看免费 | 东热rq大乱交| 97免费视频在线| 亚洲免费视频日本一区二区| 日日夜夜狠狠干| 嫩草影院在线观看精品视频| 精品无人区麻豆乱码无限制| 国产精品久久久精品日日| www.青青草| 99国产热视频在线观看| 一个人看的WWW高清电影| 亚洲AV怡红院AV男人的天堂| 肉欲横流(NP高H)| 秋霞在线观看视频一区二区三区| 另类欧美尿交| 久久中文字幕免费高清| 狠狠色狠狠色狠狠五月ady | 黄色片中文| 国产婷婷午夜无码A片| 国产成人女人在线视频观看| 把腿张开再深点好爽宝贝| 99re久久免费热在线视频手机| 与邻居换娶妻子2在线观看| 亚洲成人99| 亚洲AV无码专区国产精品麻豆| 视频一区国产在线二区| 日本一本2017国产| 热久久国产欧美一区二区精品| 暖暖日本在线手机免费完整版| 榴莲推广APP网站入口官网| 久久久亚洲国产精品主播| 久久88综合| 久久久精品免费视频| 久久精品手机观看| 久久久中日AB精品综合| 久热在线这里只有精品7|