継承を積極的に利 することを推奨する専門家の主張 正しい設計を うには継承を正確に使 する事が極めて重要である [Ian Joyner] 開放閉鎖原理 (Open-Close Principle) を可能とするのは継承だけである [Bertrand Meyer] 表 1-1 共変化(co-varia

Size: px
Start display at page:

Download "継承を積極的に利 することを推奨する専門家の主張 正しい設計を うには継承を正確に使 する事が極めて重要である [Ian Joyner] 開放閉鎖原理 (Open-Close Principle) を可能とするのは継承だけである [Bertrand Meyer] 表 1-1 共変化(co-varia"

Transcription

1 第 1 回 : 継承 1 科学的に継承を理解する準備 今回から 継承 について解説します まずは 設計モデル を対象として継承の解説をします モデ ルには 設計モデル 概念モデル 分析モデル があります 設計モデル は 概念モデル 分析モデル とは異なり プログラミング 語や動作させる環境を考慮したモデルです ( 概念モデル 分析モデル は特定のプログラミング 語や動作環境を考慮しないで問題空間の構造と振る舞いおよび制約に焦点をおいたモデルを作成します ) 問題空間 現実の対象 概念モデル 図 1-1 概念モデル 分析モデル と 設計モデル ではモデル作成の目的や視点が異なるので 継承 に対して異なる理論 定理 原理を利 します 概念モデル 分析モデル で継承をどのように考えてモデルを うかについては 別の機会に解説したいと考えています 継承 の可能性を探る 今回は継承を科学的に理解するために準備の解説をします 継承 は 集約/ コンポジッション や 総称 ( ジェネリック / テンプレート ) と共に, オブジェクト指向でソフトウェアコンポーネンを組み てる際の基本的なメカニズムを提供します 効果的にオブジェクト指向設計をおこないたければ 継承 を効果的に利 することが重要です 継承はソフトウエア開発技法や 語設計の専門家の間でも議論が多い技術テーマですが 継承を正確に理解して設計と実装に利 できるようになると 劇的な効果を得る事が可能となります 具体的にはどのような効果があるのか代表的な専門家の意 を取り上げ ていきましょう 特に継承を積極的に利 することを提案している専門家の意 に を傾け 継承の意味と効果を 科学的 に理解していく準備とすることにします 科学的モデリング 1 回 継承 1 CO PYRIGHT HASHIM OT O SO FTW ARE CO NS U LT IN G INTEN AT IONA L INC. A LL R IGHTS RESE RVED.

2 継承を積極的に利 することを推奨する専門家の主張 正しい設計を うには継承を正確に使 する事が極めて重要である [Ian Joyner] 開放閉鎖原理 (Open-Close Principle) を可能とするのは継承だけである [Bertrand Meyer] 表 1-1 共変化(co-variant) 逆変化(contra-variant) 無変化(no-variant) の継承 Ian Joynerは 彼の書著である文献 [1-1] の中で C++JavaおよびEiffelを比較しながら継承の正しい理解と利 が劇的にソフトウエアの設計と実装の能 を向上させることを 説しています Ian Joynerは 実システムの開発において スーパークラスとサブクラスの間の継承関係では is-a 関係あるいは kind-of 関係が成 するが 共変化(co-variant) による継承の利 が多いことを紹介しています 共変化(co-variant) はスーパークラスが型 Aの引数を持っている場合, それをA 型のままに保つか,A の任意のサブクラスの型に再定義出来ることです 共変化(co-variant) の継承以外に 逆変化 (contra-variant) であり 継承が逆の方向に変化することを表します つまり サブクラスで再定義された操作 ( メソッド / 関数 ) の引数の型が スーパークラスの操作 ( メソッド / 関数 ) の型でなければなりません 無変化(no-variant) はJavaやC++ で採 されており 引数の型をサブクラスで再定義できません なお 共変化 (co-variant) 逆変化(contra-variant) 無変化(no-variant) は 操作( メソッド / 関数の ) 返り値と引数に対して 別々に説明する必要がありますが 今回は割愛します Ian Joynerは Erich Gamma 達の有名なデザインパターンを掲載した書籍 ( 文献 [1-6]) を例に挙げ 共変化(co-variant) による継承を いた多くのパターンが存在していることを述べています 具体的には Abstract Factoryパターン Factory Methodパターン Bridgeパターン lteratorパターン Mediatorパターン Observerパターン Template Methodパターンなどが該当します これらのパターンが 共変化 (co-variant) の継承であることを理解した上で利 しないと品質や再利 に影響を与えます 優れた開発が困難になるので要注意です なお JavaやC++ やC# をはじめとする広く利 されているオブジェクト指向 語は 直接 共変化 (co-variant) の継承のメカニズムを採 していませんが 共変化 (co-variant) の継承メカニズムを補足する技法がいくつかあります しかし 直接的に 共変化 (co-variant) の継承のメカニズムがないので Abstract Factoryパターン Factory Methodパターン Bridgeパターン lteratorパターン Mediatorパターン Observerパターン Template Methodパターンなどの 共変化 (co-variant) のパ Page 2

3 ターンを使う時は 共変化 (co-variant) の継承メカニズムを補足する技法を併 することが求められます 共変化(co-variant) 逆変化(contra-variant) 無変化(no-variant) の継承や 共変化 (covariant) の継承メカニズムを補足する技法の詳しい解説は やはり機会を改めて本コラムで詳しく解説します 開放閉鎖原理(Open-Close Principle) Bertrand Meyerは 極めて重要な設計原理 開放閉鎖原理 (Open-Close Principle) を最初に提唱した人として知られています Bertrand Meyerは有名なオブジェクト指向 語 Eiffelの設計者です Bertrand Meyerは文献 [1-2] 及び [1-3] の中で 継承の有 性を詳しく述べています 開放閉鎖原理(Open-Close Principle) は 今後のコラムで詳細に解説しますが 今回は簡単に紹介していておきます 開放閉鎖原理 (Open-Close Principle) クラス (or コンポーネント or モジュール ) は 拡張可能で開放されている こと かつ クラス (or コンポーネント or モジュール ) は 閉鎖されている のでクライアントから利 可能で あること 表 1-2 拡張可能で開放されている とは開発者がクラス (orコンポーネントorモジュール) 振る舞い ( 機能 ) を変更 ( 修正 ) できることを意味し 閉鎖されている とは クライアントがクラス (orコンポーネント orモジュール ) を利 できることを意味します 閉鎖されている については 設計レベルと実装レベルに分けて説明します クライアントは 図 1-2 のクラス client が該当します クラス supperclass の利 者です 拡張可能で開放されている ということが要求されるのはクラス supperclass です 設計レベルにおいて 閉鎖されている の意味は クラス supperclass のインタフェース( 操作 / メソッド / 関数 ) が安定 ( 修正が無い ) していて クラス client に対して修正が不要であることを意味します 実装レベルにおいて 閉鎖されている の意味は クラス supperclass がコンパイル可能で クラス client から利 可能できることを意味します Page 3

4 結局 この原則は 図 1-2 にクラス client に全く影響を与えず クラス supperclass の機能を修正あるいは拡張できると述べているのですが より具体的に えば 開放閉鎖原理 (Open-Close Principle) を遵守して設計と実装を う事で システム開発中あるいは出荷後のコードに対してソースコードを変更せずに機能修正や機能追加を うことができることを意味します つまり 試験中や動作中の既存ソースコードを変更せずに 機能修正や機能追加が可能になります おそらく初めて聞くときは そのようなことが可能なのか? と思うことでしょう 開放閉鎖原理(Open-Close Principle) に遵守するには クラス supperclass のインタフェース ( 操作 / メソッド / 関数 ) が変更をしては 開放閉鎖原理 (Open-Close Principle) を適 できません 開放閉鎖原理(Open-Close Principle) を適 するには クラス supperclass のインタフェース ( 操作 / メソッド / 関数 ) の名称やシグネイチャが変更されないという条件が付きます 開放閉鎖原理(Open-Close Principle) の理解と適 のポイントは継承にあります 図 1-2 でクラス supperclass には サブクラスが存在しています クラス supperclass のインタフェース ( 操作 / メソッド / 関数 ) が変更せず 機能拡張や機能の修正はサブクラスで実施するというものです さらに 開放閉鎖原理 (Open-Close Principle) の理解と適 で重要となるのは 別の重要な原理である 振る舞いタイプ( 型 ) 置換原理 を併 することになります 振る舞いタイプ ( 型 ) 置換原理 が理解できなと 開放閉鎖原理 (Open-Close Principle) を真の意味で使いこなすことは困難です なお 振る舞いタイプ ( 型 ) 置換原理 は 本コラムで別に機会に詳しく解説します Page 4

5 クラス client は影響を受けない 拡張可能で開放されている 同時に 閉鎖されている 図 1-2 機能の拡張はサブクラスで う それから 開放閉鎖原理 (Open-Close Principle) は コードの試験や構成管理のやり方にも影響を与えます 試験や構成管理作業も 開放閉鎖原理 (Open-Close Principle) と同調させることでより効果的な開発が可能となります 開放閉鎖原理 (Open-Close Principle) は単なる設計や実装のテクニックというよりも ソフトウエア開発作業全般に影響を与える原理となっています 試験および構成管理を含めた 開放閉鎖原理 (Open-Close Principle) に興味のある方は文献[1-2][1-3] を参照してください 今回は 開放閉鎖原理 (Open-Close Principle) についての紹介はここまでとします 開放閉鎖原理(Open-Close Principle) 価値を理解し 使いこなすには継承に対して もっと多くのことを理解する必要があります 後述する 表 1-6 にまとめてあります 今後 表 1-6 に登場する内容をコラムで解説する際に あらためて 開放閉鎖原理(Open-Close Principle) も一緒に詳しく解説します 実装継承と多重継承の効果 表 1-3 の内容は巷の書籍やセミナー トレーニングの継承の解説で良く かけます しかし継承の解説が少々単純すぎています もっと えは 表 1-3 の説明は間違いではないものの適切とも えないガイドラインです まだ継承になれていない方には良いかも知れません Page 5

6 巷でよく聞く継承関係のガイドライン 正しい継承関係は クラス間に is-a 関係あるいは kind-of 関係が成 するかどうかで判定する 実装継承 は is-a 関係あるいは kind-of 関係が成 しない間違った継承関係である 多重継承 は難しいので避け 委譲 (delegation) を いて単一継承で設計や実装をした方が良い 表 1-3 最も基本的となる継承に タイプ ( 型 ) 継承 (type inheritance) という種類があります この継承と対をなすのが 実装継承 (implementation inheritance) です 別の継承の分類として 単一継承 (single inheritance) と 多重継承(multiple inheritance) があります なお 本コラムをご覧なる方が まだ タイプ ( 型 ) 継承 (type inheritance) 実装継承 (implementation inheritance) 単一継承(single inheritance) 多重継承(multiple inheritance) についてご存知ない場合は 分かる範囲で読み進めて頂ければ結構です 第 3 回以降で科学的に継承を説明していく中で タイプ ( 型 ) 継承 (type inheritance) 実装継承(implementation inheritance) 単一継承(single inheritance) 多重継承(multiple inheritance) を解説します さて 多重継承 (multiple inheritance) や 実装継承(implementation inheritance) は 多くの場合あまり好ましく考えられていないようです 時には強く 多重継承 や 実装継承 を戒めている書籍やセミナー トレーニングもあるようで 多重継承 や 実装継承 は悪役の感じすら受けます C++ やEiffelには 多重継承 (multiple inheritance) のメカニズムがサポートされていますが Javaをはじめ多くのオブジェクト指向 語では 多重継承 (multiple inheritance) がサポートされていないことからも 多重継承 (multiple inheritance) があまり積極的に利 されない傾向にあることが分かります これは 語設計やコンパイラー作成が複雑になるという理由もありますが 最も きな理由は 語設計時の 多重継承 (multiple inheritance) に対する重要性を反映したものでしょう 一方 オブジェクト指向技術やプログラム 語の専門家達は 多重継承 や 実装継承 をどのように継承を捉えているのでしょうか? 実は専門家の中には 多重継承 や 実装継承 [ 注 1-2] は有 かつ重要と考えている人は多く存在します 開放閉鎖原理(Open-Close Principle) の紹介で登場したBertrand Meyerは 多重継承 や 実装継承 を極めて有 と考えている専門家です Page 6

7 Bertrand Meyerは彼の書著 ( 文献 [1-3]) の中で 彼独自の視点で 継承のテクニック の分類を掲載していいます ( 文献 [1-3] の第 24 章 ) この分類の中で, 継承を3つの きなグループに分け さらに12 個に分類し継承の使い方を特定していています Bertrand Meyerは12 個の継承の分類が全て有 と考えています ( 表 1-4 ) この12 個の分離の中に 多重継承 や 実装継承 を利 した継承が含まれています ただし この12 個に分類された継承を理解するには 表 1-6 の内容を理解しなければなりません また Bertrand Meyerの分類は Bertrand Meyerが設計したオブジェクト指向 語 Eiffelの機能を利 したときに可能な継承の分類になっています オブジェクト指向 語 Eiffelのメカニズムは 特性 (Eiffelではフィチャーと呼ぶ) ごとに細かな継承の設定が可能になる機能を持っています そのため JavaやC++や他のオブジェクト指向では直接実現することが困難な継承もあります Bertrand Meyerの継承の分類部分型継承 モデル継承 (model inheritance) ビュー継承 制約継承 拡張継承 具体化継承 構造継承 ソフトウエア継承 (software inheritance) 実装継承 定数継承 マシン継承 バリエーション (variation inheritance) ファンクショナルバリエーション継承 タイプ ( 型 ) バリエーション継承 無効化継承 表 1-4 Peter Wegnerも文献 [1-5] において 実装継承 に実 的な価値があると考えていることを述べている専門家です Bertrand Meyerは文献 [1-2] [1-3] の中で 多重継承 を持つことをオブジェクト指向 語の定義に含めており 多重継承 が極めて自然な継承である事を述べています Gilad BrachaとWilliam Cookは文献 [1-4] の中で 実装継承 の技法であるミックスイン [ 注 1-3] について 異なる複数のクラスから抽象的でないルーチンの集合を継承して新しい複雑なクラスを構築する能 がある と有効性を述べています Page 7

8 コードを再利 する目的の継承です そのため実装継承は コード継承 (code inheritance) とも呼ばれます スーパークラスとサブクラス間に 実装継承 (implementation inheritance) is-a 関係や a-kind-of 関係は必ずしも成 していません 別の い方をすればポリモフィズム ( 多相 / 多態 ) が出来ない継承ですより正確に えば タイプ置換原理 を満たさない継承となりますポリモフィズム ( 多相 / 多態 ) による利 をしなければ問題はありません 詳しい事は改めてコラムで解説しますミックスイン ( またはミキシンと呼ばれます ) は 多重継承により異なる複数のクラスから抽象的でないルーチン ( 操作 / 関数 ) の集合を継承して 新しい複雑なクラスを構築することが可能になりますミックスインで作成されたクラスはミキシンクラス (mixin class) と呼ばれます スーパークラスとサブクラスに間に 通常は is-a 関係や a-kind-of 関 ミックスイン ( ミキシン ) (mixin) 係は成 していません多くのクラス間には is-a 関係や a-kind-of 関係は成 しなくても 再利 できる機能 ( メソッド / 操作 / 関数 ) が点在しているので それらの機能を効果的に再利 する技法で コード作成の生産性と品質を向上することが可能です逆に えば 既に存在する似た機能が別のクラスの中にあるのに それを利 せず 同じ機能を複数実装することは冗 でありオブジェクト指向の精神に反するとも考えられますミックスインはプログラム 語の持つ継承や総称 ( ジェネリック / テンプレート ) などの機能に依存するので 語によって実装のメカニズムが異なる点は注意が必要です 表 1-5 科学的モデリング で継承を正確に理解する 科学的モデリング の視点で継承を正確に理解し 効果的に利 するには いくつかの重要な理論や定理等を学習する事が必要です 本コラムでは今後下記の重要事項を紹介しながら継承を解説していく予定です Page 8

9 継承に重要となる概念 理論 定理 原理 継承される特性 ( プロパティ ) の種類 タイプ ( 型 ) 安全な継承 クラスの 2 つの性質 タイプ ( 型 ) とモジュール タイプ ( 型 ) 置換原理 (substitute principle) 実装継承 (implementation inheritance) とタイプ ( 型 ) 継承 (type inheritance) 共変化 (co-variant) 逆変化 (contra-variant) 無変化 (no-variant) タイプ ( 型 ) の拡張 (extension) タイプ ( 型 ) の制限 (restriction) タイプ ( 型 ) 推論 (type reasoning) タイプ ( 型 ) の特殊化 (specialization) モジュラー推論 (modular reasoning) タイプ ( 型 ) の再定義 (override,redefine) 構文継承 (syntactic inheritance) 振る舞い継承 (behavior inheritance) 安全なコンポーネント設計 実装および再利 DesignByContract (DbC: 契約による設計 ) 継承を利 した原理群 参考文献 表 1-6 文献 [1-1] [Ian Joyner 1999] Objects Unencapsulated: Java, Eiffel and C++??( 邦訳 オブジェクト指 向 語のはなし ) 文献 [1-2] [Bertrand Meyer 1988] Object-Oriented Software Construction( 邦訳 オブジェクト 指向入門 ) 文献 [1-3] [Bertrand Meyer 1997] Object-Oriented Software Construction( 邦訳 オブジェクト 指向入門第 2 版 - 原則 コンセプト オブジェクト指向入門第 2 版 - 方法論 実践 ) 文献 [1-4] [Gilad Bracha and William Cook] Mixin-based Inheritance 文献 [1-5] [Peter Wegner 1991] Concepts and Paradigm of Object-Oriented Programming 文献 [1-6] [Erich Gamma, その他 1994]Design Patterns: Elements of Reusable Object- Oriented Software ( 邦訳 オブジェクト指向における再利 のためのデザインパターン ) Page 9

科学的モデリング 2 回 継承 2 無断転載 & 無断配布を禁じます 第 2 回 : 科学的モデリング 継承 2 継承される特性( プロパティ ) 第 2 回の話題 継承は何を継承するのか? 今回のコラムの話題は 継承される特性 ( プロパティ ) についてです そもそもサブクラスはスーパークラスか

科学的モデリング 2 回 継承 2 無断転載 & 無断配布を禁じます 第 2 回 : 科学的モデリング 継承 2 継承される特性( プロパティ ) 第 2 回の話題 継承は何を継承するのか? 今回のコラムの話題は 継承される特性 ( プロパティ ) についてです そもそもサブクラスはスーパークラスか 第 2 回 : 科学的モデリング 継承 2 継承される特性( プロパティ ) 第 2 回の話題 継承は何を継承するのか? 今回のコラムの話題は 継承される特性 ( プロパティ ) についてです そもそもサブクラスはスーパークラスからどのような特性 ( プロパティ ) を継承するのか? という疑問に回答し説明します 科学的モデリング の視点から継承される特性 ( プロパティ ) を明確にして 今後の連載コラムの中で正確に継承の意味を探ります

More information

11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ

11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ 11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デザインパターンの主な内容 そのデザインパターンの目的と効果 どのような役割の部品 ( クラス, インタフェース

More information

デザインパターン第一章「生成《

デザインパターン第一章「生成《 変化に強いプログラミング ~ デザインパターン第一章 生成 ~ 梅林 ( 高田明宏 )@ わんくま同盟 デザインパターンとは何か (1) デザインパターンの定義 ソフトウェア開発におけるデザインパターンとは 過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積し 名前をつけ 再利用しやすいように特定の規約に従ってカタログ化したもの (Wikipedia) 参考書籍 オブジェクト指向における再利用のためのデザインパターン

More information

なおここから解説は リスコフ置換原則 に焦点を当てた解説ではなく 専門家が提案している色々な タイプ ( 型 ) 置換原理 の根底となる基本解説であることに留意してください まず 多くの専門家が提案している タイプ ( 型 ) 置換原理 のどれもが クラスのタイプ ( 型 ) の 属性の不変条 件

なおここから解説は リスコフ置換原則 に焦点を当てた解説ではなく 専門家が提案している色々な タイプ ( 型 ) 置換原理 の根底となる基本解説であることに留意してください まず 多くの専門家が提案している タイプ ( 型 ) 置換原理 のどれもが クラスのタイプ ( 型 ) の 属性の不変条 件 第 8 回 : 科学的モデリング 継承 8~ タイプ ( 型 ) 置換原理 と 論理状態空間 第 8 回の話題 ~ タイプ ( 型 ) 置換原理 と 論理状態空間 今回は継承関係をより科学的に理解するために タイプ ( 型 ) 置換原理 (the principle of type substitution/type substitution principle) 自身の解説をします 前回のコラムまでの解説において

More information

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

Microsoft PowerPoint - UML1_2009.ppt

Microsoft PowerPoint - UML1_2009.ppt モデリングとモデル UMLとは UMLの主要モデル UML1.4 UML2.1 UML の概要 モデリングとモデル モデリング 実世界の事柄を別の物体で表現すること モデルを作成すること プログラミング 処理をプログラム言語という手段で表現 オブジェクト指向 データ構造をオブジェクトの属性 処理を振る舞いとしてモデリング モデル ある視点から見たシステムの抽象的な表現 ダイアグラム ( 図 ) により表現

More information

GEC-Java

GEC-Java Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 1 プログラミング初級 (Java) 第 14 回継承 白銀純子 第 14 回の内容 継承 オーバーライド ポリモーフィズム Copyright (C) Junko Shirogane, Waseda University 2019, All rights

More information

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1 ポリテクセンター埼玉セミナー資料 組込み技術者のための C# Monoを用いたマルチプラットフォームアプリケーション開発技術 第 1.2 版 2018 年 8 月 Microbrains Inc. 渋谷 目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い

More information

Microsoft PowerPoint - reject_talks_2007.ppt

Microsoft PowerPoint - reject_talks_2007.ppt ボブおじさんから学んだ オブジェクト指向設計の原則 RejectTalks 2007 Edition Entry [accept] [reject] Lightning Talks RejectTalks ( 株 ) 永和システムマネジメント伊藤浩一 http://www.edit.ne.jp/~koic/ 大事なことは最初に 開発の現場 vol.11(2008 年 1 月発売 ) に 保守プロジェクトとデベロッパーテスティング

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

レコードとオブジェクト

レコードとオブジェクト レコードとオブジェクト レコード class Point attr_accessor("x", "y") インスタンス変数の宣言 point.rb irb(main):004:0> load("point.rb") => true irb(main):005:0> p = Point.new() => # irb(main):006:0> p.x = 3 => 3

More information

2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない メトリクスを使ってリファクタリング対象を自動抽出する仕組みを

2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない メトリクスを使ってリファクタリング対象を自動抽出する仕組みを メトリクス利用によるリファクタリング対象の自動抽出 ローランドディー. ジー. 株式会社 第 4 開発部 SC02 小林光一 e-mail:kouichi.kobayashi@rolanddg.co.jp 2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 3 回継承 オーバーライド インタフェース 前回までのお話 モジュール化 大きなプログラムは部品に分けて設計する オブジェクト指向 モノ中心に考える プログラムでは クラス ( モノの種類 ) を定義する ある特定のモノは インスタンスで表す クラスは型 インスタンスは値 プログラムを書くときも部品ごとに書く モノの部品であるモノはフィールドに書く 手順の部品である手順はメソッドに書く

More information

V8.1新規機能紹介記事

V8.1新規機能紹介記事 WebOTX V8.1 新規機能 EJB 3.0 WebOTX V8.1より Java EE 5(Java Platform, Enterprise Edition 5) に対応しました これによりいろいろな機能追加が行われていますが 特に大きな変更であるEJB 3.0 対応についてご紹介いたします なお WebOTX V7で対応したEJB 2.1についてもWebOTX V8.1で引き続き利用することが可能です

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 2 回オブジェクト指向 テクノロジックアート 瀬 嘉秀

できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 2 回オブジェクト指向 テクノロジックアート 瀬 嘉秀 できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 2 回オブジェクト指向 テクノロジックアート 瀬 嘉秀 内容 オブジェクト指向とは オブジェクト指向のしくみ Java 言語とオブジェクト指向 属性と振る舞い クラスとメソッド オブジェクト指向の特徴 演習問題 勉強会の参考書 Java ( アジャイルソフトウェア開発技術シリーズ 基礎編 ) 発売日 2012 年 5

More information

Microsoft PowerPoint pptx

Microsoft PowerPoint pptx PFCore(RT ミドルウェア ) トレーニング中級編 10:00-11:00 第 1 部 :RT コンポーネントプログラミングの概要 担当 : 安藤慶昭 ( 産業技術総合研究所 ) 概要 :RT コンポーネントの作成方法, 設計時の注意点などの概要について解説します 第 2 部 :RT ミドルウェア (PFcore) 開発支援ツールと RT コンポーネントの作成方法 11:00-12:00 12:00-13:00

More information

メディプロ1 Javaプログラミング補足資料.ppt

メディプロ1 Javaプログラミング補足資料.ppt メディアプロジェクト演習 1 Javaプログラミング補足資料 l Javaとは l JavaScript と Java 言語の違い l オブジェクト指向 l コンストラクタ l 継承 抽象クラス 本資料内のページ番号は, 以下の参考書のページを引用している高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに l プログラミング言語とは? l オブジェクト指向とは?

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 2 第 6 回継承 コンストラクタ 1 講義資料について 新しい言語の機能 ( オブジェクト指向の機構 ) については 随時参考書などを参照するのがよい 過去の資料も参考になる http://java2005.cis.k.hosei.ac.jp/ 今回の範囲は 上記ページの 17 回に詳しい 2 テーマ : 継承 コンストラクタ 継承 (inheritance) インスタンス変数の継承

More information

f2-system-requirement-system-composer-mw

f2-system-requirement-system-composer-mw Simulink Requirements と新製品 System Composer によるシステムズエンジニアリング MathWorks Japan アプリケーションエンジニアリング部大越亮二 2015 The MathWorks, Inc. 1 エンジニアリングの活動 要求レベル システムレベル 要求分析 システム記述 表現 高 システム分析 システム結合 抽象度 サブシステム コンポーネントレベル

More information

Microsoft PowerPoint - A1-2_株式会社ネクスト_藤澤正通_S _005.pptx

Microsoft PowerPoint - A1-2_株式会社ネクスト_藤澤正通_S _005.pptx SQiP シンポジウム 2012 ページオブジェクトパターンによる 動テストメンテナンスの効率化 株式会社ネクスト HOMEʼS事業本部 サービス推進部 品質管理グループ 藤澤 正通 FujisawaMasamichi@next-group.jp 1 動化への取組み 2011 年 4 : リグレッションテストの 動化検討を開始 6 :Selenium IDE を採 動化に着 7 : 機能カバレッジ

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 5 月 Java 基礎 1 タイトル Java 基礎 2 日間 概要 目的 サーバサイドのプログラミング言語で最もシェアの高い Java SE の基本を習得します 当研修ではひとつの技術ごとに実用的なアプリケーションを作成するため 効果的な学習ができます Java SE の多くの API の中で 仕事でよく利用するものを中心に効率よく学びます 実際の業務で最も利用される開発環境である Eclipse

More information

Javaの作成の前に

Javaの作成の前に メディアプロジェクト演習 1 参考資料 Javaとは JavaScript と Java 言語の違い オブジェクト指向 コンストラクタ サーブレット 本資料内のページ番号は, 以下の参考書のページを引用している 高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに プログラミング言語とは? オブジェクト指向とは? Java 言語とは? JavaとJavaScriptの違いとは?

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 基本 Java プログラミング演習 第 13 回 担当 : 植村 今後の予定 7/15 第 13 回 今回 7/22 第 14 回 小テスト ( クラス ) 7/29 第 15 回 総まとめテスト レポート提出 期末テストの時間割に Java のテストの欄がありますが無視してください 再テストはまた別途連絡いたします 2 CHAPTER 11 はじめてのクラス前回の復習 クラスクラスを構成する要素

More information

15288解説_D.pptx

15288解説_D.pptx ISO/IEC 15288:2015 テクニカルプロセス解説 2015/8/26 システムビューロ システムライフサイクル 2 テクニカルプロセス a) Business or mission analysis process b) Stakeholder needs and requirements definieon process c) System requirements definieon

More information

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ Oracle Un お問合せ : 0120- Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよびSOA 対応データ サービスへ ) を網羅する総合的なデータ統合プラットフォームです Oracle

More information

アスペクトの相互作用を解消するアスペクトの提案

アスペクトの相互作用を解消するアスペクトの提案 アスペクトの相互作用を解消する アスペクトの提案 武山文信千葉滋東京工業大学大学院情報理工学研究科数理 計算科学専攻 2009/03/11 武山文信, 千葉滋, アスペクトの相互作用を解消するアスペクトの提案 @PPL2009 in 高山 1/21 アスペクト指向プログラミング (AOP) 横断的関心事をアスペクトとしてモジュール化 オブジェクト指向 (OOP) では上手く分離できない クラス階層に

More information

Microsoft Word - C言語研修 C++編 3.doc

Microsoft Word - C言語研修 C++編 3.doc 2006/05/10 オブジェクト指向... 3 1 クラスの継承... 3 2 継承の書式... 3 3 protected... 5 4 メンバ関数のオーバーライド... 6 5 クラスの型キャスト... 7 6 仮想関数... 8 2 オブジェクト指向 1 クラスの継承 クラスには 継承 という機能があります 継承とは 既にあるクラスを元に 新しいクラスを作る 機能です 継承元のクラスを 親クラス

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

Microsoft PowerPoint - G-1_Flexでつくる初めてのRIA.ppt

Microsoft PowerPoint - G-1_Flexでつくる初めてのRIA.ppt Flex 3 でつくるはじめての RIA ( リッチインターネットアプリケーション ) たいらひでかづ アドビ認定インストラクター (ACI) 1 Who is this guy? たいらひでかづ m-school インストラクター Flex および Flash アドビ認定インストラクター (ACI) *A 10 point footnote can go here, if necessary 2

More information

POSIXスレッド

POSIXスレッド POSIX スレッド (3) システムプログラミング 2011 年 11 月 7 日 建部修見 同期の戦略 単一大域ロック スレッドセーフ関数 構造的コードロッキング 構造的データロッキング ロックとモジュラリティ デッドロック 単一大域ロック (single global lock) 単一のアプリケーションワイドの mutex スレッドが実行するときに獲得, ブロックする前にリリース どのタイミングでも一つのスレッドが共有データをアクセスする

More information

<基礎領域>

<基礎領域> 1. 科目コード 1243 2. 科目名 プログラミング特論 3(Advanced Programming 3) 3. 担当教員 吉田博哉 (Hiroya YOSHIDA) 4. 開講期 2 年次春 1 期 (( 昼 ) 火 3-4 時限 ( 夜 ) 火 6-7 時限 ) 5. 科目の目的 概要 オブジェクト指向言語を用いたアプリケーション開発の基礎知識を身につけることを目的とする Web アプリケーションを開発

More information

Java知識テスト問題

Java知識テスト問題 Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください

More information

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - chap10_OOP.ppt プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,

More information

2004/11/23 オブジェクト指向プログラミング - モデル図とシーケンス図の表現方法 - オブジェクト指向プログラミング (OOP:ObjectOrientedPrograming) オブジェクト指向プログラミング言語 (OOPL) Java,C++,Delphi(Pascal),Visual

2004/11/23 オブジェクト指向プログラミング - モデル図とシーケンス図の表現方法 - オブジェクト指向プログラミング (OOP:ObjectOrientedPrograming) オブジェクト指向プログラミング言語 (OOPL) Java,C++,Delphi(Pascal),Visual オブジェクト指向プログラミング - モデル図とシーケンス図の表現方法 - オブジェクト指向プログラミング (OOP:ObjectOrientedPrograming) オブジェクト指向プログラミング言語 (OOPL) Java,C++,Delphi(Pascal),VisualBasic,smaltalk,Simula オブジェクト指向ソフトウエア開発 ( システム開発 ) システム ( プログラム

More information

Microsoft Word 基_シラバス.doc

Microsoft Word 基_シラバス.doc 4-5- 基 Web アプリケーション開発に関する知識 1 4-5- 基 Web アプリケーション開発に関する知識 スクリプト言語や Java 言語を利用して Ruby on Rails やその他 Web フレームワークを活用して HTML(4, 5) XHTML JavaScript DOM CSS といったマークアップ言語およびスクリプト言語を活用しながら Ⅰ. 概要ダイナミックなWebサービスを提供するアプリケーションを開発する際に

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラマー勉強会 1 回 basic.h 補足 [ 修飾子 ] const 付けた変数は初期化以外で値を設定することができなくなる 定数宣言に使う unsigned 付けた変数は符号がなくなり 正の値しか設定できない [ 条件コンパイル ] #ifdef M ここ以前に M がマクロとして定義されていれば ここ以下をコンパイルする #ifndef M ここ以前に M というマクロが定義されていなければ

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 2 回簡単な Java プログラムの作成と実行 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 簡単な Java プログラム Java プログラムのファイル名 Java プログラムのファイル名命名ルール ファイル名とクラス名は同じでなければならない HelloJava.java public class HelloJava { public

More information

クラス図とシーケンス図の整合性確保 マニュアル

クラス図とシーケンス図の整合性確保 マニュアル Consistency between Class and Sequence by SparxSystems Japan Enterprise Architect 日本語版 クラス図とシーケンス図の整合性確保マニュアル (2011/12/6 最終更新 ) 1 1. はじめに UML を利用したモデリングにおいて クラス図は最も利用される図の 1 つです クラス図は対象のシステムなどの構造をモデリングするために利用されます

More information

Functional Programming

Functional Programming PROGRAMMING IN HASKELL プログラミング Haskell Chapter 12 Lazy Evaluation 遅延評価 愛知県立大学情報科学部計算機言語論 ( 山本晋一郎 大久保弘崇 2011 年 ) 講義資料オリジナルは http://www.cs.nott.ac.uk/~gmh/book.html を参照のこと 0 用語 評価 (evaluation, evaluate)

More information

1/10 平成 29 年 3 月 24 日午後 1 時 37 分第 5 章ローレンツ変換と回転 第 5 章ローレンツ変換と回転 Ⅰ. 回転 第 3 章光速度不変の原理とローレンツ変換 では 時間の遅れをローレンツ変換 ct 移動 v相対 v相対 ct - x x - ct = c, x c 2 移動

1/10 平成 29 年 3 月 24 日午後 1 時 37 分第 5 章ローレンツ変換と回転 第 5 章ローレンツ変換と回転 Ⅰ. 回転 第 3 章光速度不変の原理とローレンツ変換 では 時間の遅れをローレンツ変換 ct 移動 v相対 v相対 ct - x x - ct = c, x c 2 移動 / 平成 9 年 3 月 4 日午後 時 37 分第 5 章ローレンツ変換と回転 第 5 章ローレンツ変換と回転 Ⅰ. 回転 第 3 章光速度不変の原理とローレンツ変換 では 時間の遅れをローレンツ変換 t t - x x - t, x 静止静止静止静止 を導いた これを 図の場合に当てはめると t - x x - t t, x t + x x + t t, x (5.) (5.) (5.3) を得る

More information

発表内容 背景 コードクローン 研究目的 4 つのテーマ 研究内容 テーマ毎に, 概要と成果 まとめ 2

発表内容 背景 コードクローン 研究目的 4 つのテーマ 研究内容 テーマ毎に, 概要と成果 まとめ 2 2012 年度ソフトウェア工学分野の先導的研究支援事業 コードクローン分析に基づくソフトウェア開発 保守支援に関する研究 大阪大学大学院情報科学研究科 楠本真二 1 発表内容 背景 コードクローン 研究目的 4 つのテーマ 研究内容 テーマ毎に, 概要と成果 まとめ 2 研究背景 ソフトウェアシステムは社会基盤として必須のもの. 現代社会で人々の日々の暮らしを支える 例 : 銀行オンラインシステム

More information

2. 目的 1RationalRose を利用する場合にプログラム仕様書としての最低限必要な記述項目を明確にする 2 プログラム仕様書として記載内容に不足がない事をチェックする 3UML の知識があるものであれば 仕様書の内容を理解できること 4Rose にて入力した内容を SoDaWord を利用

2. 目的 1RationalRose を利用する場合にプログラム仕様書としての最低限必要な記述項目を明確にする 2 プログラム仕様書として記載内容に不足がない事をチェックする 3UML の知識があるものであれば 仕様書の内容を理解できること 4Rose にて入力した内容を SoDaWord を利用 プログラム仕様書 (UML 表記法 ) ガイドライン 本仕様書に UML(Rational Rose 使用 ) を用いてプログラム仕様書を作成する際のガイドラインを記す 1. ドキュメントの様式について 1 ドキュメントは制御単位で作成する 2 表紙 及び変更履歴は SWS にて指定されたものを付加すること 3 下記の目次内で指定している UML 図 記述項目は必須項目とする 4SoDa にてドキュメントを出力する場合は

More information

Microsoft PowerPoint - IAF フォーラム2015講演資料_PLCopenJapan_A02.pptx

Microsoft PowerPoint - IAF フォーラム2015講演資料_PLCopenJapan_A02.pptx PLCopen / OPC UA 通信仕様と PLCopen XML の紹介 ~PLC プログラムの生産システムエンジニアリング連携に向けて ~ Industrial Automation Forum - Forum 2015 PLCopen Japan Page 1 PLCopen の主な取り組み PLCopen は IEC 61131-3 プログラミングの普及促進と関連技術仕様の策定を う 営利団体

More information

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx シーケンスに基づく検索モデルの検索精度について 東京工芸大学工学部コンピュータ応用学科宇田川佳久 (1/3) (2/3) 要員数 情報システム開発のイメージソースコード検索機能 他人が作ったプログラムを保守する必要がある 実務面での応用 1 バグあるいは脆弱なコードを探す ( 品質の高いシステムを開発する ) 2 プログラム理解を支援する ( 第 3 者が書いたコードを保守する ) 要件定義外部設計内部設計

More information

スライド 1

スライド 1 ( 補 1) 2018.4.18 電気通信大学大学院情報理工学研究科末廣尚士 補足 1. オブジェクト指向プログラミング プログラムを オブジェクト を中心に考える. 特徴 抽象化クラス, インスタンスの関係実装の隠ぺい カプセル化データと処理関数の一体化内部変数, 内部関数の隠ぺい 階層構造クラスの継承 多様性, 多態性関数, 演算子の上書き ( オーバーライド ), 多重化 ( オーバーロード

More information

Using VectorCAST/C++ with Test Driven Development

Using VectorCAST/C++ with Test Driven Development ホワイトペーパー V2.0 2018-01 目次 1 はじめに...3 2 従来型のソフトウェア開発...3 3 テスト主導型開発...4 4...5 5 TDD を可能にするテストオートメーションツールの主要機能...5 5.1 テストケースとソースコード間のトレーサビリティー...5 5.2 テストケースと要件間のトレーサビリティー...6 6 テスト主導型開発の例...7 2 1 はじめに 本書では

More information

JAVA入門

JAVA入門 JAVA 入門後期 10 情報処理試験例題解説 H14 年度秋問 8 次の Java プログラムの説明及びプログラムを読んで, 設問に答えよ プログラムの説明 ディジタル論理回路シミュレータを作成するためのクラスとテスト用クラスである (1) ゲートを表す抽象クラス Gate のサブクラスとして, NOT ゲートを表すクラス NotGate 及び AND ゲートを表すクラス AndGate を定義する

More information

はじめに : ご提案のポイント

はじめに : ご提案のポイント 8. モデリングプロセスの構成と手順 モデル検査を用いた設計モデリングのプロセスを分類し それぞれのプロセスの流れと手順を示す 本章の概要は以下の通りである 対象読者目的想定知識得られる知見等 (1) 開発技術者 (2) 開発プロジェクト管理者モデル検査における設計モデリングにおいて 最初に利用できる情報に応じて モデリングプロセスが分類されることを示し その中で典型的なアーキテクチャ情報に基づくモデリングプロセスについて具体的に示す

More information

storage-sdk-Java

storage-sdk-Java オブジェクトストレージ SDK Java Version 1.0 Version 更新日内容 1.0 2014 年 4 月 18 日新規作成 1.1 2014 年 5 月 23 日 RiakCS のバージョンを 1.4.5 に修正 IDC Frontier Inc. All Rights Reserved. PAGE : 1 / 7 目次 1. 概要... 3 2. 利用できる API... 3 3.

More information

Prog2_12th

Prog2_12th 2018 年 12 月 13 日 ( 木 ) 実施クラスの継承オブジェクト指向プログラミングの基本的な属性として, 親クラスのメンバを再利用, 拡張, または変更する子クラスを定義することが出来る メンバの再利用を継承と呼び, 継承元となるクラスを基底クラスと呼ぶ また, 基底クラスのメンバを継承するクラスを, 派生クラスと呼ぶ なお, メンバの中でコンストラクタは継承されない C# 言語では,Java

More information

プレポスト【問題】

プレポスト【問題】 コース名 : サーブレット /JSP/JDBC プログラミング ~Eclipse による開発 ~ 受講日 氏名 1 JDBC の説明として 間違っているものを 1 つ選びなさい 1. JDBC を使用してデータベースへアクセスするときには JDBC API が必要である 2. JDBC API は java.lang パッケージとして提供されている 3. JDBC には JDBC API JDBC

More information

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版   Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. IM- 共通マスタの拡張について 2.1. 前提となる知識 2.1.1. Plugin Manager 2.2. 表記について 3. 汎用検索画面の拡張 3.1. 動作の概要 3.1.1. 汎用検索画面タブの動作概要 3.2. 実装の詳細 3.2.1. 汎用検索画面タブの実装

More information

Microsoft Word - thesis.doc

Microsoft Word - thesis.doc 剛体の基礎理論 -. 剛体の基礎理論初めに本論文で大域的に使用する記号を定義する. 使用する記号トルク撃力力角運動量角速度姿勢対角化された慣性テンソル慣性テンソル運動量速度位置質量時間 J W f F P p .. 質点の並進運動 質点は位置 と速度 P を用いる. ニュートンの運動方程式 という状態を持つ. 但し ここでは速度ではなく運動量 F P F.... より質点の運動は既に明らかであり 質点の状態ベクトル

More information

.NET テクノロジー概説 /WindowsAzure 入門 コード P-2 0:00~7:00 ( 休憩 時間含む ) 前提条件 Windows の操作経験 ( エクスプローラの操作 ファイルの操作 ) があること 最低開講人数 0 名.NET テクノロジー概説 /WindowsAzure 入門

.NET テクノロジー概説 /WindowsAzure 入門 コード P-2 0:00~7:00 ( 休憩 時間含む ) 前提条件 Windows の操作経験 ( エクスプローラの操作 ファイルの操作 ) があること 最低開講人数 0 名.NET テクノロジー概説 /WindowsAzure 入門 プログラム開発におけるレビュー テスト技術の基礎 コード P- 0:00~7:00 ( 休憩 時間含む ) 前提条件プログラム開発作業の経験があること 最低開講人数 0 名 プログラム開発におけるレビュー テスト技術の基礎 初日 202 年 5 月 日 2 時間 0 分実施日数及び総 2 日間訓練時間数最終日 202 年 5 月 7 日時間換算時間. プログラムの品質を管理するとはどのようなことか理解する

More information

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1 JUnit 概要 2015/4/16 版今泉俊幸 1 目次 1. 手動テストと自動テスト 2. JUnitの機能 3. 検証用メソッド 4. 基本的なJUnitテストケース 5. 実践的なJUnitテストケース 6. よく使う検証用メソッド 7. テストクラスの命名 配置など 2 手動テスト 手動テストと自動テスト テスト仕様書に基づいて 人手で値を入力 結果を検証する プログラム修正の度に実施するのはコストが高い

More information

Program Design (プログラム設計)

Program Design  (プログラム設計) 7. モジュール化設計 内容 : モジュールの定義モジュールの強度又は結合力モジュール連結モジュールの間の交信 7.1 モジュールの定義 プログラムモジュールとは 次の特徴を持つプログラムの単位である モジュールは 一定の機能を提供する 例えば 入力によって ある出力を出す モジュールは 同じ機能仕様を実装しているほかのモジュールに置き換えられる この変化によって プログラム全体に影響をあまり与えない

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 3 第 03 回 (2007 年 10 月 08 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 08 日分と書いてある部分が 本日の教材です

More information

Microsoft PowerPoint - prog04.ppt

Microsoft PowerPoint - prog04.ppt プログラミング言語 3 第 04 回 (2007 年 10 月 15 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 15 日分と書いてある部分が 本日の教材です

More information

ファイナライザを理解する ~ ファイナライザに起因するトラブルを避けるために ~ 2013 年 11 月 25 日 橋口雅史 Java アプリケーションでファイナライザ (finalize() メソッド ) を使用したことがあるプログラマーは多いと思います しかし ファイナライザの仕組みや注意点につ

ファイナライザを理解する ~ ファイナライザに起因するトラブルを避けるために ~ 2013 年 11 月 25 日 橋口雅史 Java アプリケーションでファイナライザ (finalize() メソッド ) を使用したことがあるプログラマーは多いと思います しかし ファイナライザの仕組みや注意点につ ファイナライザを理解する ~ ファイナライザに起因するトラブルを避けるために ~ 2013 年 11 月 25 日 橋口雅史 Java アプリケーションでファイナライザ (finalize() メソッド ) を使用したことがあるプログラマーは多いと思います しかし ファイナライザの仕組みや注意点について 理解したうえで使っているでしょうか? アプリケーション プログラムでファイナライザを使用する場合は

More information

Microsoft PowerPoint - sfc-model-7„ö−J.ppt

Microsoft PowerPoint - sfc-model-7„ö−J.ppt Keio University SFC 2004 モデリング シミュレーション入門 第 7 回オブジェクト指向モデリングとプログラミング いば たかし 井庭崇慶應義塾大学総合政策学部専任講師 iba@sfc.keio.ac.jp http://www.sfc.keio.ac.jp/~iba/lecture/ 授業スケジュール 第 1 回 (10/1) イントロダクション第 2 回 (10/8) モデリングとは第

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 8 回目抽象クラスとインタフェース課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) 抽象クラスのオブジェクトは生成できる (2) 抽象メソッドとはメソッドの本体が未定義のメソッドである (3) 抽象メソッドをメンバーにもつクラスは抽象クラスである (4) 抽象クラスを拡張してすべての抽象メソッドをオーバーライドすれば サブクラスのオブジェクトを生成できる

More information

モデリング操作ガイド クラス図・オブジェクト図編

モデリング操作ガイド クラス図・オブジェクト図編 Modeling Operation Guide by SparxSystems Japan Enterprise Architect 日本語版 モデリング操作ガイド ( クラス図 オブジェクト図編 ) (2018/09/25 最終更新 ) 1. はじめに このモデリング操作ガイドでは 個別の図や機能について Enterprise Architect の機能 の紹介や操作方法について説明します モデリング操作ガイドは

More information

Microsoft PowerPoint - lec äº™æ‘łã…¢ã…¼ã…›

Microsoft PowerPoint - lec äº™æ‘łã…¢ã…¼ã…› 内容 Ⅱ. Web と Java 言語 WebとJava 言語 Java 言語が注目される理由 オブジェクト指向の概念 オブジェクトとは オブジェクト指向の基本的な考え方 メンバー, フィールド, クラス 継承 カプセル化 1 2 Web と Java 言語 アプレットの記述言語として注目 Java 言語の誕生 ( 公式アナウンス ) 1995 年 5 月 サン マイクロシステムズ社で開発 急速な普及

More information

4. UNO で広がる OpenOffice.org の世界 中本崇志 TAKASHI Nakamoto Copyright (C) 2006 名前 この文書は 以下の利用条件の元で公開されています クリエイティブコモンズ帰属 2.1 日本 http

4. UNO で広がる OpenOffice.org の世界 中本崇志 TAKASHI Nakamoto Copyright (C) 2006 名前 この文書は 以下の利用条件の元で公開されています クリエイティブコモンズ帰属 2.1 日本 http 4. UNO で広がる OpenOffice.org の世界 中本崇志 TAKASHI Nakamoto bluedwarf@openoffice.org Copyright (C) 2006 名前 この文書は 以下の利用条件の元で公開されています クリエイティブコモンズ帰属 2.1 日本 http://creativecommons.org/licenses/by/2.1/jp/ あなたは以下の条件に従う場合に限り

More information

C#の基本

C#の基本 C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 6 回目継承課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) 新しいクラスを宣言するとき既存のクラスを利用することはできない (2) 新しいクラスが既存のクラスのメンバーを受け継ぐことを継承という (3) クラスの拡張における既存のクラスをサブクラスという (4) サブクラスからスーパークラスの private メンバーをアクセスすることはできない (5)

More information

Delphi/400でFlash動画の実装

Delphi/400でFlash動画の実装 吉原泰介 株式会社ミガロ. RAD 事業部技術支援課顧客サポート Delphi/400 で Flash 動画の実装 YouTube プレイヤーの作成 Flash の機能を ActiveX を利用して Delphi/400 アプリケーションへ組み込む方法を紹介する Flash と ActiveX コントロール ActiveX コントロールの取り込み YouTube プレイヤーの実装 まとめ 略歴 1978

More information

kantan_C_1_iro3.indd

kantan_C_1_iro3.indd 1 章 C# の学習を始める前に プログラムの 01 基本 Keyword プログラムプログラミング言語 プログラムとは プログラムとは コンピューターへの命令の集まりです 学校の先生が プリントを持ってきて と生徒に指示した場合を考えてみましょう 先生をプログラマー ( プログラムの作成者 ) 生徒をコンピューターとしたとき プリントを持ってきて という指示がプログラムです 人間とは違い コンピューターは曖昧な指示を理解できません

More information

             論文の内容の要旨

             論文の内容の要旨 論文の内容の要旨 論文題目 Superposition of macroscopically distinct states in quantum many-body systems ( 量子多体系におけるマクロに異なる状態の重ね合わせ ) 氏名森前智行 本論文では 量子多体系におけるマクロに異なる状態の重ねあわせを研究する 状態の重ね合わせ というのは古典論には無い量子論独特の概念であり 数学的には

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 7 回目オーバーライド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) スーパークラスのメソッドと同じ名前 戻り値 引数の個数と型をもつメソッドをサブクラスで宣言すると これらのメソッドはオーバーライドの関係になる (2) メソッドのオーバーライドとは スーパークラスのメソッドに代わってサブクラスのメソッドが実行される機能のことである (3) スーパークラス型の変数にサブクラスのオブジェクトは代入できない

More information

レコード class Point attr_accessor("x", "y") インスタンス変数の宣言 point.rb

レコード class Point attr_accessor(x, y) インスタンス変数の宣言 point.rb レコードとオブジェクト レコード class Point attr_accessor("x", "y") インスタンス変数の宣言 point.rb irb(main):004:0> load ("point.rb") => true irb(main):005:0> p = Point.new() => # irb(main):006:0> p.x = 3 =>

More information

個人依存開発から組織的開発への移行事例 ~ 要求モデル定義と開発プロセスの形式化 による高生産性 / 高信頼性化 ~ 三菱電機メカトロニクスソフトウエア ( 株 ) 和歌山支所岩橋正実 1

個人依存開発から組織的開発への移行事例 ~ 要求モデル定義と開発プロセスの形式化 による高生産性 / 高信頼性化 ~ 三菱電機メカトロニクスソフトウエア ( 株 ) 和歌山支所岩橋正実  1 個人依存開発から組織的開発への移行事例 ~ 要求モデル定義と開発プロセスの形式化 による高生産性 / 高信頼性化 ~ 三菱電機メカトロニクスソフトウエア ( 株 ) 和歌山支所岩橋正実 iwahashi@est.hi-ho.ne.jp Iwahashi.Masami@wak.msw.co.jp 1 改善効果 品質 : フロントローディングが進み流出不具合 0 継続生産性 : 平均 130% 改善 工数割合分析

More information

文字列操作と正規表現

文字列操作と正規表現 文字列操作と正規表現 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 文字列と文字列クラス 0 個以上の長さの文字の列 Java では String クラス 操作 文字列を作る 連結する 文字列中に文字列を探す 文字列中の文字列を置き換える 部分文字列を得る 3 String クラス 文字列を保持するクラス 文字列は定数であることに注意 比較に注意 == : オブジェクトとしての同等性

More information

10 ソフトウェア工学 Software Engineering ソフトウェアモデリング SOFTWARE MODELING ソフトウェアモデリングとは? ソフトウェアの抽象なモデルを, さまざまな視点から簡潔に表現する作業 表現方法 グラフィカルモデル : 所定の記法による図で表現 流れ図, クラ

10 ソフトウェア工学 Software Engineering ソフトウェアモデリング SOFTWARE MODELING ソフトウェアモデリングとは? ソフトウェアの抽象なモデルを, さまざまな視点から簡潔に表現する作業 表現方法 グラフィカルモデル : 所定の記法による図で表現 流れ図, クラ 0 ソフトウェア工学 Software Engineering ソフトウェアモデリング SOFTWRE MODELING ソフトウェアモデリングとは? ソフトウェアの抽象なモデルを, さまざまな視点から簡潔に表現する作業 表現方法 グラフィカルモデル : 所定の記法による図で表現 流れ図, クラス図など 数理モデル : 数式や論理式で表現 形式手法 ( モデル検査など ) 視点 外部からの視点 :

More information

Make the Future Java FY13 PPT Template

Make the Future Java FY13 PPT Template 1 OJCP Silver SE 7 資格試験の傾向と対策 日本オラクル株式会社オラクルユニバーシティ 2 以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらないで下さい

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

ML 演習 第 4 回

ML 演習 第 4 回 ML 演習第 4 回 おおいわ Mar 6, 2003 今回の内容 補足 Ocaml のモジュールシステム structure signature functor Ocaml コンパイラの利用 2 識別子について 利用可能文字 先頭文字 : A~Z, a~z, _ ( 小文字扱い ) 2 文字目以降 : A~Z, a~z, 0~9, _, 先頭の文字の case で 2 つに区別 小文字 : 変数,

More information

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy オブジェクト指向プログラミング演習 2010/10/27 演習課題 スレッド ( その 2) 同期処理 結果不正 デッドロック 前回のスレッドの演習では 複数のスレッドを実行し 一つのプログラムの中の違う処理を同時に実行し た ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする )

More information

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name クラス ( 教科書第 8 章 p.267~p.297) 前回は処理をまとめる方法として メソッドについて学習した 今回はメソッドとその処理の対象となるデータをまとめるためのクラスについて学習する このクラスはオブジェクト指向プログラミングを実現するための最も重要で基本的な技術であり メソッドより一回り大きなプログラムの部品を構成する 今回はクラスにおけるデータの扱いとクラスの作成方法 使用方法について説明していく

More information

Java から見たオブジェクト指向入門 オブジェクト指向 AtoZ セミナー ( 株 ) 豆蔵井上樹

Java から見たオブジェクト指向入門 オブジェクト指向 AtoZ セミナー ( 株 ) 豆蔵井上樹 Java から見たオブジェクト指向入門 オブジェクト指向 AtoZ セミナー ( 株 ) 豆蔵井上樹 趣旨 M Java を通してオブジェクト指向に対する理解をより深め 次のステップへの足がかりとなるようにする 2000.10.20 オブジェクト指向 AtoZ 2 対象 M オブジェクト指向をこれから始めたい方 M Javaをもっと使いこなしたい方 M 必要な知識 Java の言語仕様 UML 2000.10.20

More information

活用が広がる 共通語彙基盤 (IMI) イベント 技術セッション 公園への応用 加藤文彦 国立情報学研究所 2016 年 6 月 3 日

活用が広がる 共通語彙基盤 (IMI) イベント 技術セッション 公園への応用 加藤文彦 国立情報学研究所 2016 年 6 月 3 日 活用が広がる 共通語彙基盤 (IMI) イベント 技術セッション 公園への応用 加藤文彦 国立情報学研究所 2016 年 6 月 3 日 アウトライン Open Park データ設計 データ作成 2 Open Park 3 Open Park 公園 都市から街区まで 場所 遊具 写真 データ 横浜市金沢区オープンデータ IMI2.3.1 RDF 版を拡張 API http://openpark.jp

More information

ファイナンスのための数学基礎 第1回 オリエンテーション、ベクトル

ファイナンスのための数学基礎 第1回 オリエンテーション、ベクトル 時系列分析 変量時系列モデルとその性質 担当 : 長倉大輔 ( ながくらだいすけ 時系列モデル 時系列モデルとは時系列データを生み出すメカニズムとなるものである これは実際には未知である 私たちにできるのは観測された時系列データからその背後にある時系列モデルを推測 推定するだけである 以下ではいくつかの代表的な時系列モデルを考察する 自己回帰モデル (Auoregressive Model もっとも頻繁に使われる時系列モデルは自己回帰モデル

More information

Prog2_9th

Prog2_9th 2017 年 11 月 30 日 ( 木 ) 実施 Canvas による描画 Canvas とは Canvas は, 描画コールを保持するためのクラスである 描画には, 次の 4 つの要素が必要である (1) ビットマップピクセル ( 画素 ) を保持 (2) キャンバス描画コール ( ビットマップへの書き出し要請 ) に対応 (3) 描画プリミティブ描画領域, パス, テキスト, ビットマップ等

More information

Microsoft Word - Java3.DOC

Microsoft Word - Java3.DOC Java 入門 ( 4) 科名 T u t o r i a l g r o u p 氏 名 2004.12 1 継承 (inheritance).. あるクラスを基にして 新しいクラスを作成することを派生 (derivation) と言い このときのデ ータメンバ / フィールドやメソッドなどを新しいクラスに引き継ぐことを継承継承 (inheritance inheritance) と 言う これにより

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 2 回クラス インスタンス メソッド フィールド コンストラクタ ICPC の宣伝 国際大学対抗プログラミングコンテスト 3 人一組のチームでプログラムを書く速さを競う 国内予選 : ネットワーク上で 6 月末 ~7 月頭 アジア地区予選 : 日本国内で秋に開催 世界大会 :2020 年は 6 月にモスクワで 参加登録締切 : 国内予選の 2~3 週間前 今年は

More information

OSSTechプレゼンテーション

OSSTechプレゼンテーション Copyright 2012 Open Source Solution Technology, Corp. 1 OAuth 入門 2012 年 4 月 24 日辻口鷹耶 オープンソース ソリューション テクノロジ株式会社 http://www.osstech.co.jp/ Copyright 2012 Open Source Solution Technology, Corp. 2 目次 OAuth

More information

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太 ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : 095739 K 氏名 : 當銘孔太 1. UNIX における正規表現とは何か, 使い方の例を挙げて説明しなさい. 1.1 正規表現とは? 正規表現 ( 正則表現ともいう ) とは ある規則に基づいて文字列 ( 記号列 ) の集合を表す方法の 1 つです ファイル名表示で使うワイルドカードも正規表現の兄弟みたいなもの

More information

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

コンピュータ中級B ~Javaプログラミング~  第3回 コンピュータと情報をやりとりするには? Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 1 プログラミング初級 (Java) 第 10 回オブジェクト指向って? 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 2 第 10

More information

基本情報STEP UP演習Java対策

基本情報STEP UP演習Java対策 トレーニング編 1. 予約語 extends アクセスレベル class サブクラス名 extends スーパクラス名 { (1) スーパクラス ( 既存のクラス ) を拡張して, サブクラス ( 新しいクラス ) を定義する場合に extends を利用する (2) extends の後ろには, スーパクラスの名前を一つだけ指定できる (3) サブクラスからインスタンスを生成すると, スーパクラスに定義されたインスタンス変数やメソッドがこのインスタンス内部に引き継がれる

More information

intra-mart Accel Platform

intra-mart Accel Platform intra-mart Accel Platform IM- 共通マスタスマートフォン拡張プログラミングガイド 2012/10/01 初版 変更年月日 2012/10/01 初版 > 変更内容 目次 > 1 IM- 共通マスタの拡張について...2 1.1 前提となる知識...2 1.1.1 Plugin Manager...2 1.2 表記について...2 2 汎用検索画面の拡張...3

More information

Caché スタジオに関するよくある質問

Caché スタジオに関するよくある質問 Caché スタジオに関する よくある質問 Version 5.1 2006-03-14 InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com Caché スタジオに関するよくある質問 Caché Version 5.1 2006-03-14 Copyright 2006 InterSystems

More information

コードテンプレートフレームワーク 機能ガイド 基礎編

コードテンプレートフレームワーク 機能ガイド 基礎編 Code Template Framework Guide by SparxSystems Japan Enterprise Architect 日本語版コードテンプレートフレームワーク機能ガイド基礎編 (2018/05/16 最終更新 ) 1. はじめに Enterprise Architect には コードテンプレートフレームワーク ( 以下 CTF と表記します ) と呼ばれる機能が搭載されています

More information

(Microsoft Word - \225\361\215\220\217\221_\215K.doc)

(Microsoft Word - \225\361\215\220\217\221_\215K.doc) 新人研修報告書 2007 年 7 月 2 日 幸博之 1. 目的 現場レベルでプログラミングが行えるスキルを身に付けることを目的とする 2. 方法 参考書 Web サイトから Java 言語の基本構文 デザインパターンを習得する また 上記の内容を応用し Java 言語を使ったデータベースへのアクセスや Struts を使った Web アプリケーションの作成を行うことで 基礎知識を習得する 3. 結果

More information

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - OOP.pptx 第 5 回 第 3 章継承 91 継承 ( インヘリタンス ): ウインドウシステムを例に説明 図 3.1: ウインドウの中にラベル, ボタン, リストの部品 各部品の属性と操作共通の属性と操作 ウインドウ内の左上を原点として (x, y) で場所指定 : 属性 (width, height) でサイズ指定 : 属性 識別のための名前 (name): 属性 置く位置の指定 (setlocation,

More information

標準化 補足資料

標準化 補足資料 高度専門データベース技術 SQL99 補足資料 ( 株 ) アイテック情報技術教育研究部 2012 年 2 月 14 日 ( はじめに ) この補足資料は,SQL99(ISO/IEC9075-2,JIS X3005-2) の必須機能 (Core SQL) のうち, SQL92に対し機能拡張が行われた部分で, 高度専門データベース技術 ( 以下, DB 技術 という ) に記載のないものについて記述する

More information

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが

More information

Microsoft PowerPoint - se05-ER&OOAD&UML.ppt [互換モード]

Microsoft PowerPoint - se05-ER&OOAD&UML.ppt [互換モード] ソフトウェア工学 05: 理工学部経営システム工学科庄司裕子 今回のテーマ 2 開発プロセスにおける位置づけ 要求分析 分析 要求定義 システム設計 プログラム設計 ウォーターフォール型開発モデル T 反復の 1 サイクル R D C T 設計 コーディング テスト 反復型開発モデル R 運用 保守 3 4 適用範囲 設計 特にデータベース設計 OOAD およびその発展形の UML 分析 / 設計フェーズ全般

More information

Sort-of-List-Map(A)

Sort-of-List-Map(A) Java オブジェクト集合のソートとラムダ式の初歩 山本富士男 2016-4-23 この資料は Java での コレクション Coections と ジェネリクス Generics に関してさらに深く学ぶためのものです 以下の事項を学びます レポート課題が 5 ページの末尾にあります 名称のない内部クラスである 匿名クラス を使う 一般のオブジェクトの集合 (List や Map など ) を何らかの基準でソートする

More information

組込みシステムにおける UMLモデルカタログの実践研究

組込みシステムにおける UMLモデルカタログの実践研究 Modeling Forum 2015 組込みシステムの設計実装への モデルカタログの活用 仙台高等専門学校 情報システム工学科 力武克彰, 新村祐太 ( 豊橋技科大 ), 菊池雄太郎 ( 仙台高専 ) 概要 組込み分野のための UML モデルカタログ (*) のモデルを実装してみました (* 以下 モデルカタログと呼びます ) 2 概要 モデルカタログ : 目標制御モデル モデルカタログより引用

More information