stanford-oval/wikipedia huggingface dataset:
星野桂
早年

星野於1980年4月21日出生於日本滋贺县，有一個異卵雙胞胎姊姊和一個差了好幾歲的弟弟。小時候，星野的夢想是成為太空人。星野自承她當時不喜歡上學，經常編藉口來翹課，並會在考卷上塗鴉。星野童年時經常閱讀弟弟持有的漫畫《勇者鬥惡龍 達伊的大冒險》，也會看母親買的大人向漫畫，比如說惣領冬實和槙村（日语：）的作品。不過她更鍾情於日本動畫，特別是吉卜力的作品。當中她最愛的作品是小學四年級時看的《風之谷》（1984年），並且百看不厭。觀賞了《天空之城》（1986年）後，星野確定自己想當動畫師。
中學時期，星野會在筆記本上畫漫畫，雖然還只是塗鴉的程度，且故事支離破碎。當時她畫自己想畫的東西，並受到當時喜歡的漫畫如《美少女戰士》所影響。高校時期，她為了就讀同校的姊姊而在上課時繪製四格漫畫，下課時拿給她看，希望能搏她一笑。據星野所述，她一直到21歲左右才認真想成為漫畫家並頭一次正式畫漫畫，在那之前大多是當成興趣。
對於高校畢業後的出路，星野當時真心想讀美術學校，但父母希望她就讀商業高等學校（日语：）。高校二年級（17歲）時，星野抱著叛逆的心態嘗試應徵了一家動畫公司，但沒有成功。高校三年級，星野的成績處於留級邊緣，老師告訴她只要確定有工作就讓她畢業。於是星野努力地再次應徵，並成功内定（日语：）。為了工作，星野搬到東京都住，並成為動畫師，第一份接到的工作是《HUNTER×HUNTER》和《烏龍派出所》。但過了一陣子，她開始覺得自己也許該嘗試不同的東西，便不顧母親勸阻辭掉了工作，之後試著投稿繪本失敗，並在雜誌編輯部兼差。因為經濟拮据，星野搬回老家後，又跟著姊姊一起搬去京都市。在京都，星野度過了一段茫然的居候生活。之前編輯部的好友建議星野畫漫畫，星野為了讓姊姊覺得她有在從事某種東西，所以就試著拿起畫筆。星野首先嘗試將作品交給集英社週刊《週刊少年Jump》過目，雖然與編輯首次見面的過程非常不平順，但她確實得到了一名責任編輯T氏，開啟了她的漫畫生涯。之後星野又搬到東京，並在2006年如願把母親接過來住。2010年左右，星野搬家到較親近自然的地方。
職業生涯

星野得到責任編輯T氏後，她首先被要求摸索出屬於自己的畫。星野自知一直以來的畫都是在模仿他人，沒有真正畫過漫畫，便開始投入繪製漫畫草稿。但因為對以畫漫畫為業感到不確定，星野找了一份遊戲公司的動畫師工作。在T氏的強烈請求下，星野打消了求職的念頭，專心在漫畫上。T氏後來因人事異動被調走，星野的責編變成吉田幸司（Y氏）。
星野的出道作是單篇漫畫「zone」，該單篇於2002年12月刊登於《週刊少年Jump》的增刊《赤丸Jump》。2003年7月，她的下一部單篇「Continue」登上了《週刊少年Jump》。由於「Continue」人氣不佳，集英社編輯建議星野改將「zone」發展成連載。以「zone」為原型的連載即是《驅魔少年》，於2004年5月起在《週刊少年Jump》連載。《驅魔少年》已連載兩百多話之長，並在其餘十多個國家出版，包含美國、法國和德國。《驅魔少年》在日本人氣頗高，在2007年和2008年皆是《週刊少年Jump》單行本暢銷榜的第九名。根據Oricon統計，單行本第15卷是2008年日本銷量第22高的漫畫，而第14卷和第16卷則分別排在第27名和第30名。該漫畫的改編日本動畫於2006年10月至2008年9月間播出，由鍋島修擔任監督，TMS娛樂製作動畫。小說家城崎火也（日语：）執筆了三部《驅魔少年》的衍生輕小說，科樂美則開發了兩款改編電子遊戲和一款交換卡片遊戲。
《驅魔少年》經歷多次休刊，其中一次是因為星野因诺如病毒而得重病，還有一次是脖子受傷所導致。這兩次連載中斷都在不久後恢復正常。2008年11月，《週刊少年Jump》宣布星野因為手腕受傷而休刊。2009年3月連載再開，但在5月11日又進入休刊。《驅魔少年》於8月17日在《赤丸Jump》上發表一話，之後於11月4日在同社月刊《Jump Square》恢復連載。
2013年，星野為日昇動畫製作的電視動畫《革命機Valvrave》進行角色設計。《驅魔少年》在同年再度休刊，直到2015年7月17日才改至《Jump Square CROWN》繼續連載。2016年，《驅魔少年》的動畫續篇《D.Gray-man HALLOW》播出。2018年1月19日，《Jump Square CROWN》停刊，《驅魔少年》改至同年4月16日創刊的《Jump Square RISE》連載。
個人方面

星野的身高是170公分，星座為金牛座，血型為O型。單行本附錄小劇場中的自稱為「卡七公」。在相關活動的插圖中，星野的形象是一個寫著「星野BOX」的紙箱。飼養的愛貓名叫「koro」（），星野稱牠為自己的愛人。這隻貓在《驅魔少年》開始連載時出生，被人丟棄後輾轉由星野收養。
星野曾稱小畑健與秋本治是啟發她作品的人物，前者在她心目中的地位足以與宮崎駿比肩。星野在20幾歲時喜歡西洋電影之類的東西和歐洲事物，《驅魔少年》的舞台也設定在歐洲，不過後來則迷上了時代劇以及真人影劇。星野經常看《裝苑》雜誌，先前也有過讀很多時尚雜誌和看很多哥德式洋片的時期。
星野將角色設定都放在腦海裡，據她所述，她所想的內容有95%都不會用在漫畫裡，像是該角色的家庭組成和討厭的東西等，並自稱如果不發想到這種程度就描繪不了這個角色。比起用紙筆或電腦，星野覺得因為角色設定會隨著劇情發展不斷更新，在腦中管理設定較為方便。星野平常一定會帶著的東西包含PSP、IPod、戒指、圓珠筆和一雙她母親做給她的工作用袖套。她在工作室會聽音樂，包含《最終幻想》系列的原聲帶和《七龍珠》的CD，喜歡的音樂則有色情涂鸦和彩虹乐团的歌曲，以及爵士乐。星野一開始使用紙筆畫漫畫，《驅魔少年》連載初期使用的主要器材為斑馬文具的G筆。《驅魔少年》連載數年後，星野漸漸採用數位作畫的方式，2013年4月至5月時開始數位處理背景，2020年之後改成全數位。星野於2021年表示，她使用的數位作畫用具為Wacom的Cintiq Companion和VAIO的Z Canvas。
風格

Coolstreak Cartoons的編者雷羅伊·杜爾索（Leroy Douresseauxt）認為星野的角色設計是「最具視覺吸引力」的要素，角色設計和動作場面富含想像力。杜爾索也表示，星野筆下的漫畫背景帶有怪異和洛夫克拉夫特式風格，稱「幾乎每一頁漫畫都是令人愉快的驚喜，有著哥德風和迷人的暴力」，並認為星野的筆觸與美國漫畫家喬·馬杜瑞拉（英语：）、凱利·瓊斯和克里斯·巴卡洛（英语：）的作品類似。ComicsVillage.com的評論家查爾斯·譚（Charles Tan）給予較為持平的評價，認為星野的畫功足以讓讀者辨別角色，同時也提供華麗炫目的橋段，伴隨著少年漫畫的常見主題。Mania.com的評論者班·利瑞（Ben Leary）批評星野根本不會或是不肯畫物理打鬥。動畫新聞網的編者凱西·布里恩扎（Casey Brienza）也認為戰鬥場面難以理解，不過對其他方面讚譽有加，稱之為「業界數一數二的美術成品」。她將星野的畫風形容為「具審美感又活力十足，美麗無比卻又無比暴力」，指出這種風格類似於CLAMP與高河弓一類。布里恩扎也稱讚了星野的角色設計「特別令人喜愛且能同時滿足男女讀者」。
作品列表 > 漫畫

| 0 | 1 | 2 | 3 |
| --- | --- | --- | --- |
|  | 連載作品 |  | 單篇作品 |
|  | 原文標題 | 中文標題 | 類別 | 出版者 | 刊載雜誌 | 收錄於 | 備註 |
| --- | --- | --- | --- | --- | --- | --- | --- |
2000年代
| 1 | zone | 不適用 | 單篇 | 集英社 | 《赤丸Jump》2003年WINTER號 | 《驅魔少年公式漫迷手冊 灰色聖櫃》 | 出道作，47頁 |
| 2 | Continue | 不適用 | 單篇 | 集英社 | 《週刊少年Jump》2003年34號 | 《驅魔少年公式漫迷手冊 灰色記錄》 | 49頁 |
| 3 | D.Gray-man | 驅魔少年 | 連載 | 集英社 | 《週刊少年Jump》2004年27號－2009年22・23合併号 《赤丸Jump》2009年SUMMER號 《Jump Square》：2009年12月号－2013年2月号 《Jump Square CROWN》2015年SUMMER号－2018年WINTER号 《Jump Square RISE》2018年SPRING号－連載中 | 單行本 | 已發行28卷（截至2022年10月9日 (2022-10-09)）  |
2010年代
| 4 |  | 不適用 | 單篇 | 集英社 | 《Jump SQ.LaB》2011年8月號 | － |  |
| 5 |  | 不適用 | 單篇 | 集英社 | 《Miracle Jump》No.14（2013年4月30日發售） | － |  |
| 6 |  | 不適用 | 單篇 | 集英社 | 《Jump Square CROWN》2016年AUTUMN号 | － | 「」的加筆修正版 |
作品列表 > 其他

小說《》（2010年，集英社文庫）：封面插圖
日本動畫《革命機Valvrave》（2013年）：角色設計
小說《》（2019年1月18日，作者：水守糸子）：封面插圖
雜誌專欄連載《》（《》vol.51－vol.69）
關聯人物 > 責任編輯

T氏：星野剛投稿給集英社時期的責編。
吉田幸司（Y氏）：陪伴星野出道，《驅魔少年》連載期間的第一任責編（單行本第1－13卷），《赤丸Jump》2009年SUMMER號回歸擔任責編。角色科穆伊·李和兔子阿吉的設計原型。
中路（N氏）：《週刊少年Jump》2007年29号起擔任責編，《驅魔少年》連載期間的第二任責編（單行本第13－17卷）。
中村（N氏二世）：《週刊少年Jump》2008年41號起擔任責編，《驅魔少年》連載期間的第三任責編（單行本第17－18卷）。
細野：《驅魔少年》連載期間的第四任責編（單行本第19－21卷）。
玉田：《驅魔少年》連載期間的第五任責編（單行本第22－24卷）。
小菅：《驅魔少年》連載期間的第六任責編（單行本第25卷－），單行本中寫作「」。2016年時的現任編輯。
關聯人物 > 師父

河下水希：星野曾擔任此人的助手。
關聯人物 > 知名助手

晓月明
近藤憲一
佐藤祐紀
外部連結

星野桂的Instagram帳戶
星野桂在動畫新聞網百科全書中的資料（英文）
星野桂 （页面存档备份，存于）在中的資料（日語）
|   |
| --- | --- |
国际:  FAST  ISNI  VIAF  WorldCat 
各地:  西班牙  法国  BnF data  德国  美国  台湾  日本  韩国 
学术:  CiNii 
艺术家:  MusicBrainz 
其他:  IdRef
多分派

多分派或译多重派发（multiple dispatch）或多方法（multimethod），是某些编程语言的一个特性，其中的函数或者方法，可以在运行时间（动态的）基于它的实际参数的类型，或在更一般的情况下于此之外的其他特性，来动态分派。这是对单分派多态的推广， 那里的函数或方法调用，基于在其上调用方法的对象的派生类型，而动态分派。多分派使用一个或多个实际参数的组合特征，路由动态分派至实现函数或方法。
理解分派

软件工程师通常把代码写进代码块中，代码块通常称作过程、函数、方法。代码通过被调用来执行，调用时将控制权传入函数中，当函数执行完成后将控制权返回给调用者。
函数名通常用来描述函数的目的。有时会将多个函数起同样的名称。比如同名函数在逻辑上处理相同的任务，但是操作在不同类型的输入值上。在这种情况下，无法仅仅通过函数名，来判断目标代码块。那么，函数的实际参数的个数和类型，也就被用来判断。
通常，单分派面向对象语言，在调用一个方法时，方法参数中一个参数会被特殊对待，并用来决定哪一个方法（如果有多个同名方法）会被调用。在许多语言中，这个特殊的参数是在语法上指明的，许多编程语言在调用方法时，把特殊参数放在小圆点（.）之前。例如 special.method(other, arguments, here)，这样 lion.sound() 将会发出狮吼，同时 sparrow.sound() 只会吱吱地叫。一般来说，对于面向对象的编程语言，这个小圆点之前的参数（上例中的lion和sparrow）被称为接收者。
相反，在实现了多分派的语言中，被调用的函数，即是那些参数个数一样多，并且类型也匹配的调用。在调用中并没有特殊参数，来决定那个方法被调用。也就是说，所有参数的运行时类型都参与分派。CLOS是早期和著名的多分派语言。
理解分派 > 数据类型

对于编译时间可以区分数据类型的编程语言，在交替（英语：）（alternative）函数中进行选择，可以发生在编译时间，创建交替函数用于编译时间选择的活动，通常被叫做函数重载。
在有些编程语言中，这种数据类型的识别，可以被延后至运行时间（后期绑定（英语：））。交替函数的选择发生在运行时间，并依据动态确定的函数实际参数的类型。以这种方式选择交替实现的函数，通常被称为多方法。
例子

可以通过例子更加清晰的区分多分派和单一分派。假想一个游戏，它有两种（用户可见的）物体：飞船和小行星。当两个物体要相撞的时候，程序需要依据什么物体要相撞而做不同的事情。
例子 > 具有内建多分派的语言 > Common Lisp

在具有多分派的Common Lisp语言中，可以在Common Lisp对象系统中如下这样实现：
(defgeneric collide (x y))
(defclass asteroid () ())
(defclass spaceship () ())
(defmethod collide-with ((x asteroid) (y asteroid))
  ;; deal with asteroid hitting asteroid
  )
(defmethod collide-with ((x asteroid) (y spaceship))
  ;; deal with asteroid hitting spaceship
  )
(defmethod collide-with ((x spaceship) (y asteroid))
  ;; deal with spaceship hitting asteroid
  )
(defmethod collide-with ((x spaceship) (y spaceship))
  ;; deal with spaceship hitting spaceship
  )
并且对其他方法也是类似的。没有使用显式测试和“动态转换”。
由于多分派的存在，方法要定义在类中并包含在对象中的传统想法，变得不再吸引人了，上述每个collide-with方法，都附属于两个不同的类而非一个类。因此方法调用的特殊语法，一般会消失，从而方法调用看起来完全就像正常的函数调用，并且方法被组织入泛化函数而非类中。
例子 > 具有内建多分派的语言 > Julia

Julia有内建的多分派，并且它是语言设计的中心。Julia版本的例子如下：
collide_with(x::Asteroid, y::Asteroid) = ... # deal with asteroid hitting asteroid
collide_with(x::Asteroid, y::Spaceship) = ... # deal with asteroid hitting spaceship
collide_with(x::Spaceship, y::Asteroid) = ... # deal with spaceship hitting asteroid
collide_with(x::Spaceship, y::Spaceship) = ... # deal with spaceship hitting spaceship
例子 > 具有内建多分派的语言 > C#

C#在版本4（2010年4月），使用关键字dynamic，介入了对动态多方法的支持。下面的例子展示多方法协同于在版本8（2019年9月）中介入的switch表达式。像很多其他静态类型的语言语言一样，C#还支持静态方法重载，Microsoft预期开发者在多数场景下会选用静态类型超过动态类型。dynamic关键字支持COM对象和动态类型的.NET语言的互操作。
class Program
{
    static void Main()
    {
        Console.WriteLine(Collider.Collide(new Asteroid(101),  new Spaceship(300)));
        Console.WriteLine(Collider.Collide(new Asteroid(10),   new Spaceship(10)));
        Console.WriteLine(Collider.Collide(new Spaceship(101), new Spaceship(10)));
    }
}

static class Collider
{
    public static string Collide(SpaceObject x, SpaceObject y) =>
        ((x.Size > 100) && (y.Size > 100)) ?
            "Big boom!" : CollideWith(x as dynamic, y as dynamic);
    private static string CollideWith(Asteroid x, Asteroid y) => "a/a";
    private static string CollideWith(Asteroid x, Spaceship y) => "a/s";
    private static string CollideWith(Spaceship x, Asteroid y) => "s/a";
    private static string CollideWith(Spaceship x, Spaceship y) => "s/s";
}

abstract class SpaceObject
{
    public SpaceObject(int size) => Size = size;

    public int Size { get; }
}

class Asteroid : SpaceObject
{
    public Asteroid(int size) : base(size) { }
}

class Spaceship : SpaceObject
{
    public Spaceship(int size) : base(size) { }
}
输出：
big-boom
a/s
s/s
例子 > 具有内建多分派的语言 > Groovy

Groovy是通用的Java兼容/互用的JVM语言，它对立于Java，使用后期绑定/多分派。
/*
    Groovy implementation of C# example above
    Late binding works the same when using non-static methods or compiling class/methods statically
    (@CompileStatic annotation)
*/
class Program {
    static void main(String[] args) {
        println Collider.collide(new Asteroid(101), new Spaceship(300))
        println Collider.collide(new Asteroid(10), new Spaceship(10))
        println Collider.collide(new Spaceship(101), new Spaceship(10))
    }
}

class Collider {
    static String collide(SpaceObject x, SpaceObject y) {
        (x.size > 100 && y.size > 100) ? "big-boom" : collideWith(x, y)  // Dynamic dispatch to collideWith method
    }

    private static String collideWith(Asteroid x, Asteroid y) { "a/a" }
    private static String collideWith(Asteroid x, Spaceship y) { "a/s" }
    private static String collideWith(Spaceship x, Asteroid y) { "s/a" }
    private static String collideWith(Spaceship x, Spaceship y) { "s/s"}
}

class SpaceObject {
    int size
    SpaceObject(int size) { this.size = size }
}

@InheritConstructors class Asteroid extends SpaceObject {}
@InheritConstructors class Spaceship extends SpaceObject {}
例子 > 用多分派库扩展的语言

在不于语言定义或语法层次支持多分派的语言中，可能经常使用库扩展来增加多分派。
例子 > 用多分派库扩展的语言 > JavaScript

JavaScript和TypeScript不在语言语法层次上支持多方法，但可以通过库来增加多分派。例如，使用multimethod包，它提供了多分派、泛化函数的实现。JavaScript的动态类型版本：
import { multi, method } from '@arrows/multimethod'

class Asteroid {}
class Spaceship {}

const collideWith = multi(
  method([Asteroid, Asteroid], (x, y) => {
    // deal with asteroid hitting asteroid
  }),
  method([Asteroid, Spaceship], (x, y) => {
    // deal with asteroid hitting spaceship
  }),
  method([Spaceship, Asteroid], (x, y) => {
    // deal with spaceship hitting asteroid
  }),
  method([Spaceship, Spaceship], (x, y) => {
    // deal with spaceship hitting spaceship
  }),
)
TypeScript有对应的静态类型版本。
例子 > 用多分派库扩展的语言 > Python

可以使用库扩展来向Python增加多分派。例如，最早的模块multimethods.py，它为Python提供了CLOS风格的多方法而不用变更语言的底层语法或关键字。在功能上，这非常类似于CLOS例子，但是语法是常规Python的。
Guido van Rossum使用Python 2.4介入的修饰器（decorator），出品了多方法的具有简化了的语法的一个简单实现，他为此定义了multimethod修饰器。
multipledispatch采用的形式与之一致。
模块multimethod，采用了修饰器和Python 3.5介入的类型提示实现多方法：
from multimethod import multimethod

class Asteroid(): pass

class Spaceship(): pass

@multimethod
def collide_with(x: Asteroid, y: Asteroid):
    '''deal with asteroid hitting asteroid'''
    print("asteroid hitting asteroid")

@multimethod
def collide_with(x: Asteroid, y: Spaceship):
    '''deal with asteroid hitting spaceship'''
    print("asteroid hitting spaceship")

@multimethod
def collide_with(x: Spaceship, y: Asteroid):
    '''deal with spaceship hitting asteroid'''
    print("spaceship hitting asteroid")

@multimethod
def collide_with(x: Spaceship, y: Spaceship):
    '''deal with spaceship hitting spaceship'''
    print("spaceship hitting spaceship")
>>> a = Asteroid()
>>> b = Spaceship()
>>> collide_with(a, b)
asteroid hitting spaceship
此外，还有PEAK-Rules包提供语法类似上述例子的多分派，它后来被替代为PyProtocols。Reg库也支持多分派和谓词分派。
例子 > 用多分派库扩展的语言 > C

C语言使用C Object System库，可以支持类似于CLOS的动态分派。它是完全可扩展的并且方法不需要任何的手工处理。动态消息（方法）通过COS分派器来分派，它比Objective-C更快。下面是使用COS的例子：
#include <stdio.h>
#include <cos/Object.h>
#include <cos/gen/object.h>

/* 类 */
defclass (Asteroid)
/* 数据成员 */
endclass

defclass (Spaceship)
/* 数据成员 */
endclass

/* 泛化函数 */
defgeneric (_Bool, collide_with, _1, _2);

/* 多方法 */
defmethod (_Bool, collide_with, Asteroid, Asteroid)
 /* deal with asteroid hitting asteroid */
endmethod

defmethod (_Bool, collide_with, Asteroid, Spaceship)
 /* deal with asteroid hitting spaceship */
endmethod

defmethod (_Bool, collide_with, Spaceship, Asteroid)
 /* deal with spaceship hitting asteroid */
endmethod

defmethod (_Bool, collide_with, Spaceship, Spaceship)
 /* deal with spaceship hitting spaceship */
endmethod

/* 用例 */
int main(int argc, char *argv[])
{
  OBJ a = gnew(Asteroid);
  OBJ s = gnew(Spaceship);

  printf("<a,a> = %d\n", collide_with(a, a));
  printf("<a,s> = %d\n", collide_with(a, s));
  printf("<s,a> = %d\n", collide_with(s, a));
  printf("<s,s> = %d\n", collide_with(s, s));

  grelease(a);
  grelease(s);
}
编程语言支持 > 主范型

Julia
编程语言支持 > 支持通用的多方法

C# 4.0（英语：）
Cecil（英语：）
Clojure
Common Lisp（通过Common Lisp对象系统）
Dylan
Fortress（英语：）
Groovy
Lasso（英语：）
Nim，在v0.20之后泛化方法被废止，使用多方法需要加编译指令
Raku
R
Seed7（英语：）
TADS（英语：）
VB.Net，通过后期绑定，还通过.Net DLR
Wolfram语言，通过符号模式匹配
Xtend（英语：）
编程语言支持 > 通过扩展

任何.NET语言（通过库MultiMethods.NET）
C（通过库C Object System）
C#（通过库multimethod-sharp）
C++（通过库yomm2和multimethods）
D（通过库openmethods）
Factor（通过标准multimethods词汇表)
Java（使用扩展MultiJava）
JavaScript（通过包@arrows/multimethod）
Perl（通过模块Class::Multimethods）
Python（模块multimethod、multipledispatch或Reg库）
Racket（通过库multimethod-lib）
Ruby（通过Multiple Dispatch库、Multimethod包和Vlx-Multimethods包）
Scheme（通过TinyCLOS）
TypeScript（通过包@arrows/multimethod）
模拟多分派 > C

C语言没有动态分派，也可以不使用C Object System库，而以某种形式手工实现。动态分派经常使用enum来标识一个对象的子类型，然后可通过在函数指针分支表中查找这个值来完成。C语言模拟多方法的简单例子：
typedef void (*CollisionCase)(void);

void collision_AA(void) { /* handle Asteroid-Asteroid collision  */ };
void collision_AS(void) { /* handle Asteroid-Spaceship collision */ };
void collision_SA(void) { /* handle Spaceship-Asteroid collision */ };
void collision_SS(void) { /* handle Spaceship-Spaceship collision*/ };

typedef enum {
    THING_ASTEROID = 0,
    THING_SPACESHIP,
    THING_COUNT /* not a type of thing itself, instead used to find number of things */
} Thing;

CollisionCase collisionCases[THING_COUNT][THING_COUNT] = {
    {&collision_AA, &collision_AS},
    {&collision_SA, &collision_SS}
};

void collide(Thing a, Thing b) {
    (*collisionCases[a][b])();
}

int main(void) {
    collide(THING_SPACESHIP, THING_ASTEROID);
}
模拟多分派 > Java

在只有单一分派的语言比如Java中，多分派可以用多层单一分派来模拟：
interface Collideable {
    void collideWith(final Collideable other);

    /* These methods would need different names in a language without method overloading. */
    void collideWith(final Asteroid asteroid);
    void collideWith(final Spaceship spaceship);
}

class Asteroid implements Collideable {
    public void collideWith(final Collideable other) {
        // Call collideWith on the other object.
        other.collideWith(this);
   }

    public void collideWith(final Asteroid asteroid) {
        // Handle Asteroid-Asteroid collision.
    }

    public void collideWith(final Spaceship spaceship) {
        // Handle Asteroid-Spaceship collision.
    }
}

class Spaceship implements Collideable {
    public void collideWith(final Collideable other) {
        // Call collideWith on the other object.
        other.collideWith(this);
    }

    public void collideWith(final Asteroid asteroid) {
        // Handle Spaceship-Asteroid collision.
    }

    public void collideWith(final Spaceship spaceship) {
        // Handle Spaceship-Spaceship collision.
    }
}
运行时间instanceof检查可以在一个或两个层次上使用。
代码示例

↑  
TypeScript的多方法示例：
import { multi, method, Multi } from '@arrows/multimethod'

class Asteroid {}
class Spaceship {}

type CollideWith = Multi & {
  (x: Asteroid, y: Asteroid): void
  (x: Asteroid, y: Spaceship): void
  (x: Spaceship, y: Asteroid): void
  (x: Spaceship, y: Spaceship): void
}

const collideWith: CollideWith = multi(
  method([Asteroid, Asteroid], (x, y) => {
    // deal with asteroid hitting asteroid
  }),
  method([Asteroid, Spaceship], (x, y) => {
    // deal with asteroid hitting spaceship
  }),
  method([Spaceship, Asteroid], (x, y) => {
    // deal with spaceship hitting asteroid
  }),
  method([Spaceship, Spaceship], (x, y) => {
    // deal with spaceship hitting spaceship
  }),
)
↑  
Python的multimethods.py示例：
from multimethods import Dispatch
from game_objects import Asteroid, Spaceship
from game_behaviors import as_func, ss_func, sa_func
collide = Dispatch()
collide.add_rule((Asteroid, Spaceship), as_func)
collide.add_rule((Spaceship, Spaceship), ss_func)
collide.add_rule((Spaceship, Asteroid), sa_func)
def aa_func(a, b):
    """Behavior when asteroid hits asteroid."""
    # ...define new behavior...
collide.add_rule((Asteroid, Asteroid), aa_func)

# ...later...
collide(thing1, thing2)
↑  
Python的van Rossum最初的多方法实现：
@multimethod(Asteroid, Asteroid)
def collide(a, b):
    """Behavior when asteroid hits a asteroid."""
    # ...define new behavior...
@multimethod(Asteroid, Spaceship)
def collide(a, b):
    """Behavior when asteroid hits a spaceship."""
    # ...define new behavior...
# ... define other multimethod rules ...
引用

↑  Ranka, Sanjay; Banerjee, Arunava; Biswas, Kanad Kishore; Dua, Sumeet; Mishra, Prabhat; Moona, Rajat. . Springer. 2010-07-26  [2021-03-23]. ISBN 9783642148248. （原始内容存档于2021-04-27）.
↑  Igor Wojda. . Kt.Academy. 2018-02-08  [2020-02-27] （英语）.
↑  Bezanson, Jeff; Edelman, Alan; Karpinski, Stefan; Shah, Viral B. . SIAM Review. 7 February 2017, 59 (1): 65–98. arXiv:1411.1607 . doi:10.1137/141000671.
↑  .   [2020-05-14]. （原始内容存档于2021-05-26）.
↑  .   [2020-05-14]. （原始内容存档于2021-06-28）.
↑  .   [2020-05-14]. （原始内容存档于2021-04-16）.
↑  .   [2020-05-14]. （原始内容存档于2021-05-24）.
↑  .   [2021-04-15]. （原始内容存档于2021-04-16）.
1 2 3  @arrows/multimethod （页面存档备份，存于） Multiple dispatch in JavaScript/TypeScript with configurable dispatch resolution by Maciej Cąderek.
↑  multimethods.py （页面存档备份，存于）, Multiple dispatch in Python with configurable dispatch resolution by David Mertz, et al.
↑  .   [2014-07-13]. （原始内容存档于2021-05-29）.
1 2  .   [2021-04-15]. （原始内容存档于2020-11-11）.
1 2  Coady, Aric, ,   [2021-01-28], （原始内容存档于2020-12-31）
↑  . Python Package Index.   [21 March 2014]. （原始内容存档于2017-03-14）.
↑  . Python Enterprise Application Kit.   [26 April 2019]. （原始内容存档于2021-05-05）.
1 2  . Read the docs.   [26 April 2019]. （原始内容存档于2021-03-05）.
1 2  . 2019-02-19  [2021-03-30]. （原始内容存档于2021-05-01）.
↑  . The Julia Manual. Julialang.   [11 May 2014]. （原始内容存档于2016-07-17）.
↑  .   [2009-08-20]. （原始内容存档于2009-08-25）.
↑  .   [2008-04-13]. （原始内容存档于2016-09-01）.
↑  .   [2008-09-04]. （原始内容存档于2015-09-20）.
↑  Steele, Guy L. . . Bedford, MA, U.S.A: Digital Press. 1990  [2021-03-30]. ISBN 978-1-55558-041-4. （原始内容存档于2017-12-17）.
↑  .   [2008-04-13]. （原始内容存档于2020-04-04）.
↑   (PDF).   [2010-04-23]. （原始内容 (PDF)存档于2013-01-20）.
↑  .   [2008-04-13]. （原始内容存档于2011-08-12）.
↑  .   [2014-11-11]. （原始内容存档于2021-06-13）.
↑  .   [2008-04-13]. （原始内容存档于2021-02-05）.
↑  .   [2020-09-11]. （原始内容存档于2021-06-15）.
↑  .   [2008-04-13]. （原始内容存档于2012-03-13）.
↑   (PDF).   [2008-04-13]. （原始内容存档 (PDF)于2021-05-10）.
↑  .   [2011-04-23]. （原始内容存档于2021-01-29）.
↑  .   [2012-03-19]. （原始内容存档于2017-02-14）.
↑  .   [2020-03-31]. （原始内容存档于2021-04-11）.
↑  .   [2020-03-31]. （原始内容存档于2021-02-01）.
↑  .   [2016-08-21]. （原始内容存档于2021-06-26）.
↑  .   [2021-03-30]. （原始内容存档于2021-05-08）.
↑  .   [2014-07-13]. （原始内容存档于2010-02-26）.
↑  .   [2021-03-30]. （原始内容存档于2016-01-23）.
↑  .   [2021-03-30]. （原始内容存档于2020-11-12）.
↑  .   [2021-03-30]. （原始内容存档于2020-11-22）.
↑  openmethods
↑  .   [2014-07-13]. （原始内容存档于2021-04-29）.
↑  .   [2014-07-13]. （原始内容存档于2021-04-11）.
↑  .   [2014-07-13]. （原始内容存档于2013-10-21）.
↑  .   [2021-03-30]. （原始内容存档于2021-04-29）.
↑  .   [2021-03-30]. （原始内容存档于2021-04-30）.
↑  .   [2021-03-30]. （原始内容存档于2021-04-29）.
↑  .   [2021-03-30]. （原始内容存档于2021-04-27）.
↑  .   [2014-07-13]. （原始内容存档于2008-12-11）.
岡山車站 (臺灣鐵路)

此條目介紹的是臺鐵縱貫線（南段）的鐵路車站。关于高雄捷運紅線的車站，请见「」。关于其他同名車站，请见「」。
岡山車站位於臺灣高雄市岡山區，為臺灣鐵路公司縱貫線的鐵路車站，是岡山區內重要的交通轉運樞紐之一，在高雄縣市合併之前，曾是高雄縣內僅次於鳳山車站的第二大鐵路車站。
歷史

参见：岡山舊車站
1900年（明治33年）11月29日：設立「阿公店驛」
1920年10月1日：地名變革，改為日式地名「岡山」（日语：／ Okayama ）。
第二代岡山車站建於1923年11月，為日式古典木造建築。
1966年：為配合都市計畫，省府決定車站東遷約380公尺至頂後紅（今碧紅里）。
1985年
7月1日：改線工程開始。
8月14日：新站房動土典禮。
1993年10月29日：現今車站及新線啟用。
1995年11月3日：第二代木造站房燒燬，官方說法為電線走火，但真正火災原因目前仍不明。
2013年9月30日：啟用多卡通刷卡機。
2014年3月，火車站前果菜市場聯合開發案，經由國家發展委員會審查通過。
2019年3月10日：立委邱志偉向國防部爭取一架除役F-5E戰鬥機，作為在地特色裝置藝術，將矗立在車站前廣場作為入口意象。
車站概要

本站為台鐵一等站，停靠部分自強號列車、所有莒光號及區間車。
可於站外「臺鐵岡山車站（捷運岡山車站）」公車站轉乘17條公車路線、2條公車式小黃路線，或租借YouBike。
2014年4月行政院宣布通過高雄捷運岡山路竹延伸線第一階段可行性評估，10月發布公報，將由南岡山站（現為岡山高醫站）再往北延伸一站至岡山車站，與臺鐵岡山車站為站外轉乘車站，而在2024年6月30日正式完工全面通車。
車站構造

本站為平面車站，設島式月台2座，站舍位於車站西側，面向站前廣場與中山北路、民有路與岡燕路交叉口，經由地下通道和電梯與月台相連，並未設置後站。車站下方為岡燕路地下道，車行地下道的通風口直接設立於車站月台之上，旅客可從月台上直接觀看到地下道車來車往的情況。
車站構造 > 月臺配置 > 臺鐵

| 0 | 1 | 2 | 3 |
| --- | --- | --- | --- |
| 1~3 | 無月臺 |  █ 貨運線 | 工務用 |
| 4 | 1A |  █ 西部幹線（順行待避） | 往 路竹、大湖、中洲 方向 |
| 5 | 1B |  █ 西部幹線（順行停靠） | 往 臺南、新營、嘉義 方向 |
| 5 | 1B |  █ 西部幹線（順行通過） | 不靠站通過 |
| 6 | 2A |  █ 西部幹線（逆行通過） | 不靠站通過 |
| 6 | 2A |  █ 西部幹線（逆行停靠） | 往 新左營、高雄、屏東 方向 |
| 7 | 2B |  █ 西部幹線（逆行待避） | 往 楠梓、橋頭、左營（舊城） 方向 |
| 8~10 | 無月臺 |  █ 貨運線 | 工務用 |
車站構造 > 車站出口

現今之新站房興建時，有進站與出站人潮分流的規劃，將站房分為南側的入口區（有售票口與候車室）與北側的出口區；但後來因為流量未達預期，目前僅將南側同時作為入口與出口使用，北側則用於機車託運等業務用途。
註釋

↑  日治時期假名；站名英譯引自美軍岡山地圖：File:City Plans Okayama.jpg
相關條目

岡山區
岡山舊車站
外部連結

國營臺灣鐵路股份有限公司 – 岡山車站 （页面存档备份，存于）
高雄市公車動態資訊系統 （页面存档备份，存于）
侯觀

| 侯觀 |
| --- | --- |
大明太子太保資政大夫戶部尚書
籍貫: 直隸保定府雄縣民籍
字號: 字士賓
出生: 景泰五年甲戌十月十一日 
逝世: 嘉靖元年（1522年）九月十七日 
配偶: 娶何氏
親屬: 父 侯瓚、（子）侯謐（詹事府主簿）
出身
 成化十三年丁酉科順天鄉試七十九名舉人  成化十四年戊戌科同進士出身 
侯觀（1454年—1522年），字士賓，號二山，直隸保定府雄縣（今河北省雄縣）人，明朝政治人物。
生平

早年出身儒士，成化十三年（1477年）中式丁酉科順天鄉試，成化十四年（1478年）聯捷戊戌科進士。授河南登封縣知縣，以治行卓異，升戶部主事。歷升員外郎、郎中。
弘治十八年（1505年），陞南京太僕寺少卿。正德五年（1510年），改太常寺少卿，提督四夷館。不久，晉太常寺卿。正德七年（1512年），陞戶部右侍郎，總督京、通倉塲。次年，理部事。正德十四年，陞戶部尚書。嘉靖元年（1522年）乞休回鄉，同年九月十七日病卒，贈太子少保。
家族

曾祖父侯文質。祖父侯林，曾任庫大使贈主事。父亲侯瓚，曾任光祿寺卿，累官南京工部尚書。母王氏，封安人。具庆下。兄侯泰、侯豫。弟侯節、侯巽、侯颐。
石瑞琦

| 石瑞琦 |
| --- | --- |
2019年攝於越南太平

 中華民國駐越南代表
任期 2016年1月—2025年2月
前任: 黃志鵬
继任: 劉世忠
 中華民國外交部禮賓處長
任期 2011年12月—2014年1月
前任: 劉德立
继任: 曾瑞利
 中華民國駐甘比亞大使
任期 2008年5月—2011年11月
前任: 張北齊
继任: 陳士良
 中華民國駐南非代表
任期 2004年8月—2008年5月
前任: 杜稜
继任: 傅迪
 中華民國外交部新聞文化司長兼外交部發言人
任期 2003年—2004年8月
前任: 張小月
继任: 呂慶龍
 中華民國駐奧克蘭處長
任期 1996年7月—2001年11月
前任: 廖偉平
继任: 劉融和
 
个人资料
出生:  (1956-06-19) 1956年6月19日（68歲）
国籍:  中華民國
配偶: 宋勇輝
母校: 中央警察大學、西雅圖太平洋大學
专业: 外交官
获奖: 甘比亞司令級勳章（2010年）

 学历  中央警察大學正科43期公共安全學系學士  西雅圖太平洋大學企業管理所碩士 
 经历  內政部警政署警官隊組員 （1978年－1982年）  外交部薦任科員 （1982年－1986年）  駐西雅圖辦事處秘書 （1986年－1991年）  駐格瑞那達大使館二等秘書、一等秘書 （1991年－1994年）  外交部秘書處薦任秘書、專門委員 （1994年－1996年）  駐奧克蘭辦事處處長 （1996年－2001年）  外交部亞東太平洋司副司長 （2001年－2003年）  外交部非政府組織國際事務會副主任委員 （2002年－2003年）  外交部新聞文化司司長兼外交部發言人 （2003年－2004年）  駐南非代表處代表 （2004年－2008年）  駐甘比亞大使 （2008年－2011年）  外交部禮賓處處長 （2011年－2014年）  駐越南代表處大使銜代表 （2016年－2025年） 
 
石瑞琦（英語：，1956年6月19日—），中華民國警察、外交官。畢業於中央警察大學公共安全學系學士、西雅圖太平洋大學企業管理所碩士，曾任行政院長孫運璿座車隨扈警官、駐格瑞那達大使館一等秘書、駐奧克蘭臺北經濟文化辦事處長、外交部亞東太平洋司副司長、外交部非政府組織國際事務會副主任委員、外交部新聞文化司長兼外交部發言人、駐南非共和國臺北聯絡代表處代表、駐甘比亞大使、外交部禮賓處長、駐越南臺北經濟文化辦事處大使銜代表等職務。
職業生涯

2003年3月19日，中華民國外交部表示，外交部發言人石瑞琦18日有關希望伊拉克總統海珊父子出亡的談話，並非中華民國政府立場，亦非呼應美國要求海珊父子限期出亡的政策。外交部重申支持全球反恐活動，願意配合國際人道救援作出貢獻以及堅決維護亞太及台海局勢穩定的立場。
2013年11月14日，甘比亞與中華民國斷交，外交部派出有「甘比亞通」之稱的前駐甘比亞大使石瑞琦與國際合作發展基金會秘書長陶文隆緊急前往斡旋。17日，與甘比亞副總統賈莎迪（英语：）、總統府（英语：）秘書長、外交部（英语：）副政務次長等高層會面。18日，在確認是總統賈梅的個人意願且沒有轉圜空間後，中華民國決定斷交。
注釋

↑  Commander of the National Order of the Republic of The Gambia
↑  格瑞那達於2005年1月27日斷交、甘比亞於2013年11月14日斷交。
↑  2012年9月1日，中華民國外交部為統一駐外人員內部職稱，明定大使館、代表處設大使、公使，代表處對外仍稱代表、副代表；辦事處設總領事、副總領事，對外仍稱處長、副處長。
代表處館長為特任或簡任第十三職等至第十四職等者任大使銜代表、簡任第十二職等至第十三職等者任公使銜代表；辦事處長為簡任第十二職等者任總領事銜處長、副處長為簡任第十職等至第十一職等者任副總領事銜副處長。
註：部分駐外機構名稱雖使用「辦事處」，但層級等同「代表處」，館長為代表。