SlideShare a Scribd company logo
1 of 29
オブジェクト指向
プログラミング入門
ソフトウェア基礎講座 第2回
2011年2月16日
服部健太
2011/2/16
モジュール性
 モジュール性が高いソフトウェア
 拡張性が高い
 再利用性に優れる
 具体的にはどういうことか?
 何を「モジュール」とするかは言語やシステ
ムに対する見方によって異なる
 サブルーティン,クラス,パッケージ,プロセ
ス,・・・
 これらは広い意味でのモジュール
2011/2/16
モジュール性の5つの基準
 モジュール性を高める設計手法の必要条件
 分解しやすさ( Decomposability )
 組合せやすさ( Composability )
 分かりやすさ( Understandability )
 連続性( Continuity )
 保護性( Protection )
2011/2/16
モジュールの分解しやすさ
 作業が分割でき,複数人での並行開発が可能
になる
 依存関係を最小限にする必要がある
 依存関係をあらかじめ知っておく必要がある
あるソフトウェア構築手法が,ソフトウェアの問
題を,単純な構造によって組み合わされ,個別に
作業を進められるだけの独立性を保った,少数の
より複雑ではない問題に分解するのを助けるとき
,その手法は「モジュールの分解しやすさ」の基
準を満たす.
2011/2/16
分解しやすさの悪い例
 作成するすべてのソフトウェアシステムの中
にグローバルな初期化モジュールを入れてし
まう
 初期化モジュールは他のモジュールの内部構
造を覗かなくてはならなくなる
Initializer
Module A Module B Module C
2011/2/16
モジュールの組合せやすさ
 再利用性を促進する
 いろいろな場面で利用可能なソフトウェアの部品を設計す
る
 分解しやすさと相容れないこともある
 トップダウン vs ボトムアップ
ある手法が,もともと開発されたのとは全く異な
る環境においても,互いを自由に組み合わせるこ
とにより,新しいシステムを製作できるようなソ
フトウェア要素の生産を助けるならば,その手法
は「モジュールの組合せやすさ」を満たす.
2011/2/16
例
 サブプログラムライブラリ
 様々なライブラリを組み合わせて使うことができ
る
 行列演算,ソケット,グラフィクス, etc
 Unix のシェル規約
 様々なコマンドをパイプでつないで組み合わせら
れる
 cat, grep, wc, sed, sort, ・・・
 悪い例:プリプロセッサ
 複数のプリプロセッサで互換性が無い
 データベースのプリプロセッサ( Pro*C/C++ )
とグラフィックス用のプリプロセッサ( Qt )を
2011/2/16
モジュールの分かりやすさ
 ソフトウェアの保守性を高める
 モジュールに関する情報はモジュールの中に
埋め込んで置くとよい(自己文書化)
ほかのモジュールの知識を必要とせずに,あるい
は最悪でも,ほかのわずかなモジュールについて
知るだけで,読み手が理解できるソフトウェアの
生成を助ける場合,その構築手法は「モジュール
の分かりやすさ」を高める.
2011/2/16
悪い例
 順序に依存する場合
 特定の決められた順序で起動しないと上手く機能
しない設計
 A B C⇒ ⇒
 A と C を理解しないと B は理解できない
2011/2/16
モジュールの連続性
 拡張性の高いソフトウェアを構築できる
 インクリメンタルな開発手法が使える
 小さな変更がシステム全体の構造に影響を与えな
い
ある手法によって生み出されたソフトウェアアー
キテクチャ内で問題の仕様に小さな変更が生じた
際に 1 つまたは少数のモジュールの変更しか引き
起こされない場合,その手法は「モジュールの連
続性」を満たしている.
2011/2/16
例
 シンボリック定数
 マジックナンバーを使わずにマクロや定数定義を
用いる
 統一形式アクセスの原則
 オブジェクトの属性は統一した仕方でアクセスで
きるようにする( getter と setter )
 悪い例:物理的表現の使用
 データの物理的実装に依存したプログラム
 悪い例:静的配列
 事前に配列の大きさを決めなくてはならない
2011/2/16
モジュールの保護性
 実行時エラーの問題
 ハードウェア故障,誤入力,リソース不
足,・・・, etc.
 エラーの伝播と増殖を抑えたい
ある手法が,実行時にモジュール内で発生した異
常な条件のそのモジュール内に閉じ込めることが
できるか,最悪周辺の少数のモジュールにしか影
響が広がらない場合,その手法は「モジュールの
保護性」を満たしている.
2011/2/16
例
 入口で入力を検査する
 入力データの妥当性を常にチェックする
 悪い例:制御されていない例外処理
 例外がモジュール境界を越えて伝播していく
 例外は出さないほうが良い
 発生した例外はきちんとキャッチして正しく処置
すべし
2011/2/16
モジュール性の5つの規則
 モジュール性を保証するために守るべき規則
 直接的な写像( Direct Mapping )
 少ないインタフェース( Few Interfaces )
 小さなインタフェース( Small Interfaces )
 明示的なインタフェース( Explicit
Interface )
 情報隠蔽( Information Hiding )
2011/2/16
直接的な写像
 ソフトウェアによって提供される解決手法の
構造とモデルとして表現される問題の構造と
の間のマッピングは明快な方が良い.
 「連続性」と「分解のしやすさ」の基準から
導かれる.
ソフトウェアシステムの構築過程で考案されたモ
ジュール構造は,それに先立つ問題領域のモデル
化の過程で考案された任意のモジュール構造との
互換性を維持していなければならない.
2011/2/16
少ないインタフェース
 手続き,データ構造の共有を少なくする
 「連続性」と「保護性」の基準から導き出さ
れる
すべてのモジュールができる限り少ない数のモ
ジュールとの通信で済むようにすべきである.
2011/2/16
小さいインタフェース
 「連続性」と「保護性」の基準から導き出さ
れる
 不必要なデータを一緒に渡さない
 悪い例:構造体を丸ごと引数に渡す⇒ ×
2つのモジュールが通信する場合,そこで交信さ
れる情報はできるだけ少なくすべきである.
2011/2/16
明示的なインタフェース
 悪い例:データ共有によるモジュール結合
A と B の 2 つのモジュールが通信するときは,必
ず,そのことが A または B あるいはその両方のテ
キストから明らかに分からなければならない.
データ項目
x
モジュール
A
モジュール
B
変更 アクセス
2011/2/16
情報隠蔽
 公開( public )属性と非公開( private )属性
 モジュールの公開属性はインタフェースでもある
 公開部分が少なければ,モジュールの変更の影響が
小さくて済む
 機能を実装から分離する
どのようなモジュールであれ,モジュールを設計
する人は,そのモジュールの属性の中からいくつ
かの属性をそのモジュールに関する正式な情報と
して選択し,顧客モジュールの作成者がその情報
を利用できるようにしなければならない.
2011/2/16
ソフトウェア構築の5つの原則
 言語としてのモジュール単位( Linguistic
Modular Units )の原則
 自己文書化( Self-Documentation )の原則
 統一形式アクセス( Uniform Access )の原
則
 開放/閉鎖( Open-Closed )の原則
 単一責任選択( Single Choice )の原則
2011/2/16
言語としてのモジュール単位
 適切な言語を使用するべし
 あるいは,言語が提供するモジュールを使っ
て設計,実装すべし
 例:
 C 言語におけるモジュールはファイル (xxx.
[ch]) ,ライブラリ
 Java におけるモジュールは,クラス,パッケー
ジ
モジュールは仕様される言語の構文単位に対応し
ていなければならない.
2011/2/16
自己文書化
 あるモジュールの情報を取得するのに,別に管理さ
れているドキュメントを参照する必要がある⇒ ×
 変更をメンテするのが大変
 間違ったドキュメントよりはドキュメントが無いほうがま
し
 ヘッダファイルを見れば,モジュールの仕様が理解
できる⇒◎
モジュールを設計する人は,モジュールについて
のすべての情報をそのモジュールの一部として作
るようにあらゆる努力をすべきである.
2011/2/16
統一形式アクセス
 Ruby や C# はサポートしている
あるモジュールによって提供されるサービスはす
べて統一された表記によって利用できなければな
らない.その表記はサービスが記憶領域によって
実装されるか計算によって実装されるかにかかわ
らず一定でなければならない.
2011/2/16
銀行口座の2つの表現
 残高フィールドを設ける
 残高をその都度計算する
 空間と時間のトレードオフ
balance
withdrawals_list
depsits_list
withdrawals_list
depsits_list
2011/2/16
閉鎖/開放の原則
 モジュールが拡張を受け入れられる状態にあ
る場合,そのモジュールは開放されている.
 モジュールがほかのモジュールから使用でき
る状態にある場合,そのモジュールは閉鎖さ
れている.
モジュールは開いていると同時に閉じているべき
である.
2011/2/16
典型的なシナリオ
 古い状況
 新しい状況
モジュール
A
モジュール
C
モジュール
E
モジュール
D
モジュール
B
モジュール
’A モジュール
H
モジュール
I
モジュール
F
モジュール
G
継承
2011/2/16
単一責任選択
 選択肢の内容を1つのモジュールに閉じ込め
ることで,将来の変更に備えることができる
 多相性,動的束縛によって解決することが可
能
ソフトウェアシステムが選択肢を提供しなければ
ならないとき,そのシステムの中の 1 つのモ
ジュールだけがその選択肢のすべてを把握すべき
である.
悪い例
Publication p;
…
switch (p.type) {
case BOOK: … //  何かする
case JOURNAL: … //
case PROCEEDINGS: …
…
}
2011/2/16
次回予定
 日時:2011年2月21日(月)10:3
0~
 場所: LB  2 F / A 会議室
 内容:再利用の方法
2011/2/9 オブジェクト指向プログラミング入門 1 29

More Related Content

Similar to オブジェクト指向入門2

ChatGPT Impact - その社会的/ビジネス価値を考える -
ChatGPT Impact - その社会的/ビジネス価値を考える -ChatGPT Impact - その社会的/ビジネス価値を考える -
ChatGPT Impact - その社会的/ビジネス価値を考える -Daiyu Hatakeyama
 
20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道
20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道
20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道Osamu Takazoe
 
Oxygen Cloud at cloudian seminar 2012
Oxygen Cloud at cloudian seminar 2012Oxygen Cloud at cloudian seminar 2012
Oxygen Cloud at cloudian seminar 2012CLOUDIAN KK
 
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primerオブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer増田 亨
 
加速するクラウドサービス Office 365の中小組織へのインパクト
加速するクラウドサービス Office 365の中小組織へのインパクト加速するクラウドサービス Office 365の中小組織へのインパクト
加速するクラウドサービス Office 365の中小組織へのインパクトkumo2010
 
いまさら学ぶオブジェクト指向
いまさら学ぶオブジェクト指向いまさら学ぶオブジェクト指向
いまさら学ぶオブジェクト指向Daisuke Hirayama
 
短距離ハイブリッド並列分子動力学コードの設計思想と説明のようなもの 〜並列編〜
短距離ハイブリッド並列分子動力学コードの設計思想と説明のようなもの 〜並列編〜短距離ハイブリッド並列分子動力学コードの設計思想と説明のようなもの 〜並列編〜
短距離ハイブリッド並列分子動力学コードの設計思想と説明のようなもの 〜並列編〜Hiroshi Watanabe
 
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-Hiroki Kondo
 
Relationship betweenddd and mvc
Relationship betweenddd and mvcRelationship betweenddd and mvc
Relationship betweenddd and mvcTakao Tetsuro
 
MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)
MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)
MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)kumo2010
 
ソースコードの改善について
ソースコードの改善についてソースコードの改善について
ソースコードの改善についてTakahiko Matsuda
 
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)Shin-ya Koga
 
2画面折り畳みデバイスのアプリ開発について
2画面折り畳みデバイスのアプリ開発について2画面折り畳みデバイスのアプリ開発について
2画面折り畳みデバイスのアプリ開発についてShinya Nakajima
 
IT エンジニアのための 流し読み M365 - Microsoft Defender for Endpoint 概要
IT エンジニアのための 流し読み M365 - Microsoft Defender for Endpoint 概要IT エンジニアのための 流し読み M365 - Microsoft Defender for Endpoint 概要
IT エンジニアのための 流し読み M365 - Microsoft Defender for Endpoint 概要TAKUYA OHTA
 
オブジェクト指向入門3
オブジェクト指向入門3オブジェクト指向入門3
オブジェクト指向入門3Kenta Hattori
 
COCOMITE_店舗DX向けサービス紹介資料_240202.pdf
COCOMITE_店舗DX向けサービス紹介資料_240202.pdfCOCOMITE_店舗DX向けサービス紹介資料_240202.pdf
COCOMITE_店舗DX向けサービス紹介資料_240202.pdferikawase2
 

Similar to オブジェクト指向入門2 (20)

分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
Kspin20121201 kobayashi
Kspin20121201 kobayashiKspin20121201 kobayashi
Kspin20121201 kobayashi
 
ChatGPT Impact - その社会的/ビジネス価値を考える -
ChatGPT Impact - その社会的/ビジネス価値を考える -ChatGPT Impact - その社会的/ビジネス価値を考える -
ChatGPT Impact - その社会的/ビジネス価値を考える -
 
20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道
20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道
20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道
 
Oxygen Cloud at cloudian seminar 2012
Oxygen Cloud at cloudian seminar 2012Oxygen Cloud at cloudian seminar 2012
Oxygen Cloud at cloudian seminar 2012
 
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primerオブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
 
加速するクラウドサービス Office 365の中小組織へのインパクト
加速するクラウドサービス Office 365の中小組織へのインパクト加速するクラウドサービス Office 365の中小組織へのインパクト
加速するクラウドサービス Office 365の中小組織へのインパクト
 
いまさら学ぶオブジェクト指向
いまさら学ぶオブジェクト指向いまさら学ぶオブジェクト指向
いまさら学ぶオブジェクト指向
 
短距離ハイブリッド並列分子動力学コードの設計思想と説明のようなもの 〜並列編〜
短距離ハイブリッド並列分子動力学コードの設計思想と説明のようなもの 〜並列編〜短距離ハイブリッド並列分子動力学コードの設計思想と説明のようなもの 〜並列編〜
短距離ハイブリッド並列分子動力学コードの設計思想と説明のようなもの 〜並列編〜
 
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
 
Relationship betweenddd and mvc
Relationship betweenddd and mvcRelationship betweenddd and mvc
Relationship betweenddd and mvc
 
MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)
MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)
MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)
 
ソースコードの改善について
ソースコードの改善についてソースコードの改善について
ソースコードの改善について
 
DevOps を前提としたユーザー インターフェイスの構造解析
DevOps を前提としたユーザー インターフェイスの構造解析DevOps を前提としたユーザー インターフェイスの構造解析
DevOps を前提としたユーザー インターフェイスの構造解析
 
Citrix eco new
Citrix eco newCitrix eco new
Citrix eco new
 
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
 
2画面折り畳みデバイスのアプリ開発について
2画面折り畳みデバイスのアプリ開発について2画面折り畳みデバイスのアプリ開発について
2画面折り畳みデバイスのアプリ開発について
 
IT エンジニアのための 流し読み M365 - Microsoft Defender for Endpoint 概要
IT エンジニアのための 流し読み M365 - Microsoft Defender for Endpoint 概要IT エンジニアのための 流し読み M365 - Microsoft Defender for Endpoint 概要
IT エンジニアのための 流し読み M365 - Microsoft Defender for Endpoint 概要
 
オブジェクト指向入門3
オブジェクト指向入門3オブジェクト指向入門3
オブジェクト指向入門3
 
COCOMITE_店舗DX向けサービス紹介資料_240202.pdf
COCOMITE_店舗DX向けサービス紹介資料_240202.pdfCOCOMITE_店舗DX向けサービス紹介資料_240202.pdf
COCOMITE_店舗DX向けサービス紹介資料_240202.pdf
 

More from Kenta Hattori

オブジェクト指向入門1
オブジェクト指向入門1オブジェクト指向入門1
オブジェクト指向入門1Kenta Hattori
 
オブジェクト指向入門10
オブジェクト指向入門10オブジェクト指向入門10
オブジェクト指向入門10Kenta Hattori
 
オブジェクト指向入門9
オブジェクト指向入門9オブジェクト指向入門9
オブジェクト指向入門9Kenta Hattori
 
オブジェクト指向入門8
オブジェクト指向入門8オブジェクト指向入門8
オブジェクト指向入門8Kenta Hattori
 
オブジェクト指向入門7
オブジェクト指向入門7オブジェクト指向入門7
オブジェクト指向入門7Kenta Hattori
 
オブジェクト指向入門6
オブジェクト指向入門6オブジェクト指向入門6
オブジェクト指向入門6Kenta Hattori
 
オブジェクト指向入門5
オブジェクト指向入門5オブジェクト指向入門5
オブジェクト指向入門5Kenta Hattori
 
オブジェクト指向入門4
オブジェクト指向入門4オブジェクト指向入門4
オブジェクト指向入門4Kenta Hattori
 
ソフトウェア・テスト入門2
ソフトウェア・テスト入門2ソフトウェア・テスト入門2
ソフトウェア・テスト入門2Kenta Hattori
 
ソフトウェア・テスト入門1
ソフトウェア・テスト入門1ソフトウェア・テスト入門1
ソフトウェア・テスト入門1Kenta Hattori
 
ソフトウェア・テスト入門8
ソフトウェア・テスト入門8ソフトウェア・テスト入門8
ソフトウェア・テスト入門8Kenta Hattori
 
ソフトウェア・テスト入門7
ソフトウェア・テスト入門7ソフトウェア・テスト入門7
ソフトウェア・テスト入門7Kenta Hattori
 
ソフトウェア・テスト入門6
ソフトウェア・テスト入門6ソフトウェア・テスト入門6
ソフトウェア・テスト入門6Kenta Hattori
 
ソフトウェア・テスト入門5
ソフトウェア・テスト入門5ソフトウェア・テスト入門5
ソフトウェア・テスト入門5Kenta Hattori
 
ソフトウェア・テスト入門4
ソフトウェア・テスト入門4ソフトウェア・テスト入門4
ソフトウェア・テスト入門4Kenta Hattori
 
ソフトウェア・テスト入門3
ソフトウェア・テスト入門3ソフトウェア・テスト入門3
ソフトウェア・テスト入門3Kenta Hattori
 
アルゴリズムとデータ構造15
アルゴリズムとデータ構造15アルゴリズムとデータ構造15
アルゴリズムとデータ構造15Kenta Hattori
 
アルゴリズムとデータ構造14
アルゴリズムとデータ構造14アルゴリズムとデータ構造14
アルゴリズムとデータ構造14Kenta Hattori
 
アルゴリズムとデータ構造13
アルゴリズムとデータ構造13アルゴリズムとデータ構造13
アルゴリズムとデータ構造13Kenta Hattori
 
アルゴリズムとデータ構造12
アルゴリズムとデータ構造12アルゴリズムとデータ構造12
アルゴリズムとデータ構造12Kenta Hattori
 

More from Kenta Hattori (20)

オブジェクト指向入門1
オブジェクト指向入門1オブジェクト指向入門1
オブジェクト指向入門1
 
オブジェクト指向入門10
オブジェクト指向入門10オブジェクト指向入門10
オブジェクト指向入門10
 
オブジェクト指向入門9
オブジェクト指向入門9オブジェクト指向入門9
オブジェクト指向入門9
 
オブジェクト指向入門8
オブジェクト指向入門8オブジェクト指向入門8
オブジェクト指向入門8
 
オブジェクト指向入門7
オブジェクト指向入門7オブジェクト指向入門7
オブジェクト指向入門7
 
オブジェクト指向入門6
オブジェクト指向入門6オブジェクト指向入門6
オブジェクト指向入門6
 
オブジェクト指向入門5
オブジェクト指向入門5オブジェクト指向入門5
オブジェクト指向入門5
 
オブジェクト指向入門4
オブジェクト指向入門4オブジェクト指向入門4
オブジェクト指向入門4
 
ソフトウェア・テスト入門2
ソフトウェア・テスト入門2ソフトウェア・テスト入門2
ソフトウェア・テスト入門2
 
ソフトウェア・テスト入門1
ソフトウェア・テスト入門1ソフトウェア・テスト入門1
ソフトウェア・テスト入門1
 
ソフトウェア・テスト入門8
ソフトウェア・テスト入門8ソフトウェア・テスト入門8
ソフトウェア・テスト入門8
 
ソフトウェア・テスト入門7
ソフトウェア・テスト入門7ソフトウェア・テスト入門7
ソフトウェア・テスト入門7
 
ソフトウェア・テスト入門6
ソフトウェア・テスト入門6ソフトウェア・テスト入門6
ソフトウェア・テスト入門6
 
ソフトウェア・テスト入門5
ソフトウェア・テスト入門5ソフトウェア・テスト入門5
ソフトウェア・テスト入門5
 
ソフトウェア・テスト入門4
ソフトウェア・テスト入門4ソフトウェア・テスト入門4
ソフトウェア・テスト入門4
 
ソフトウェア・テスト入門3
ソフトウェア・テスト入門3ソフトウェア・テスト入門3
ソフトウェア・テスト入門3
 
アルゴリズムとデータ構造15
アルゴリズムとデータ構造15アルゴリズムとデータ構造15
アルゴリズムとデータ構造15
 
アルゴリズムとデータ構造14
アルゴリズムとデータ構造14アルゴリズムとデータ構造14
アルゴリズムとデータ構造14
 
アルゴリズムとデータ構造13
アルゴリズムとデータ構造13アルゴリズムとデータ構造13
アルゴリズムとデータ構造13
 
アルゴリズムとデータ構造12
アルゴリズムとデータ構造12アルゴリズムとデータ構造12
アルゴリズムとデータ構造12
 

Recently uploaded

UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdfTEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdfyukisuga3
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 

Recently uploaded (6)

UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdfTEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdf
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 

オブジェクト指向入門2