1921年にニュージャージー州ベイヨンで俳優ロバート・キースと舞台女優ヘレナ・シップマンの間に生まれ、両親の巡業に伴い、旅の中で育つ。ハリウッドで子役としての活動を始め、1924年に父と共演したサイレント映画『Pied Piper Malone』で子役デビューする。両親の離婚に伴い、ニューヨーク州ロングアイランドで祖母に育てられる。1927年に父ロバートが女優ペグ・エントウィスルと再婚するが、1929年に離婚。原因の1つはロバートに離婚歴があり、息子ブライアンがいることをペグに隠していたからとされる。ラジオや舞台で演技の仕事をした後、1941年にアメリカ海兵隊に入隊、第二次世界大戦に従軍する。退役後に本格的に俳優として活動を始め、1946年にブロードウェイデビュー、1952年にコロンビア映画と契約し、映画だけでなくテレビにも出演するようになる。1966年から1971年までCBSで放送されたシチュエーション・コメディ『ニューヨーク・パパ』が大ヒット。プライムタイム・エミー賞主演男優賞（コメディ部門）に3度ノミネートされる。本作は日本でも放送された。1972年から1974年までNBCでシチュエーション・コメディ『The Brian Keith Show』が放送される。1997年6月に拳銃自殺。同年4月の娘デイジーの自殺と本人の肺気腫と肺癌を苦にしたと見られる。その後、2008年になってハリウッド・ウォーク・オブ・フェームにテレビ部門で星を授与される。
有明 淑（ありあけ しず 1919年 - 1981年）は太宰治の短篇小説「女生徒」の題材となった日記の筆者。微生物学者有明文吉の次女として東京に生まれる。成女高等女学校（現在の成女高等学校）を卒業する直前に、敬愛する父が死去。1936年に同校を卒業し、イトウ洋裁学校に通学。このころから太宰文学に親しむと共に、自らも文章を書き始めた。1938年4月30日から1938年8月8日まで大学ノートに日記を綴る。1938年9月、この日記を太宰に郵送。翌1939年、太宰がこの日記を一日の出来事に圧縮する形で短篇「女生徒」を書き上げ、「文学界」4月号に発表。有明は太宰からこの掲載誌と単行本「女生徒」を贈呈されて感激した。1942年、軍医有坂恭二と結婚。のち二児を儲けたが、長男に先立たれた。1958年、夫と死別したことを機に洗礼を受け、クリスチャンとなった。彼女の日記は、2000年2月に青森県近代文学館から「資料第一輯（有明淑の日記）」の題名で公刊された。
ドローソフトを例に取る。このプログラムは任意の時点においてさまざまなツールのうちの1つとして振る舞うマウスカーソルを持つ。複数のカーソルオブジェクトを切り替える代わりに、カーソルは現在使用されているツールを表す内部的な状態を保持する。（例えばマウスクリックの結果として）ツールに依存するメソッドが呼ばれると、メソッド呼び出しはカーソルの状態へと渡される。各ツールは1つの状態に対応している。共有される抽象状態クラスはAbstractToolである。 class AbstractTool is     function moveTo(point) is         input:  the location point the mouse moved to         (this function must be implemented by subclasses)      function mouseDown(point) is         input:  the location point the mouse is at         (this function must be implemented by subclasses)      function mouseUp(point) is         input:  the location point the mouse is at         (this function must be implemented by subclasses)この定義により、各ツールはマウスカーソルの移動およびクリック／ドラッグの開始と終了を扱わなければならない。その基底クラスを用い、単純なペンと範囲選択の各ツールを定義すると以下のようになる。 subclass PenTool of AbstractTool is     last_mouse_position := invalid     mouse_button := up      function moveTo(point) is         input:  the location point the mouse moved to         if mouse_button = down             (draw a line from the last_mouse_position to point)             last_mouse_position := point      function mouseDown(point) is         input:  the location point the mouse is at         mouse_button := down         last_mouse_position := point      function mouseUp(point) is         input:  the location point the mouse is at         mouse_button := up   subclass SelectionTool of AbstractTool is     selection_start := invalid     mouse_button := up      function moveTo(point) is         input:  the location point the mouse moved to         if mouse_button = down             (select the rectangle between selection_start and point)      function mouseDown(point) is         input:  the location point the mouse is at         mouse_button := down         selection_start := point      function mouseUp(point) is         input:  the location point the mouse is at         mouse_button := upこの例では、コンテキストのためのクラスはCursorと呼ばれている。抽象状態クラス（この場合AbstractTool）で名付けられたメソッド群はコンテキストにおいても実装されている。コンテキストクラスではこれらのメソッドは、current_toolにより表される現在の状態の、対応するメソッドを呼び出す。 class Cursor is     current_tool := new PenTool      function moveTo(point) is         input:  the location point the mouse moved to         current_tool.moveTo(point)      function mouseDown(point) is         input:  the location point the mouse is at         current_tool.mouseDown(point)      function mouseUp(point) is         input:  the location point the mouse is at         current_tool.mouseUp(point)      function usePenTool() is         current_tool := new PenTool      function useSelectionTool() is         current_tool := new SelectionToolCursorオブジェクトが、適切なメソッド呼び出しをアクティブとなっているツールへと渡すことにより、異なる時点においてPenToolとSelectionToolのどちらとしてでも振舞えるのである。これがStateパターンの本質である。この場合では、PenCursorクラスとSelectCursorクラスを作ることで状態とオブジェクトを結合することも可能であり、単なる継承へと単純化できたであろうが、実践においては新しいツールが選択される毎に新しいオブジェクトへとコピーするにはコストがかかりすぎたりエレガントでなかったりするようなデータをCursorが保持していることもあるであろう。