C#で学ぶオブジェクト指向プログラミング(田中 正造)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. C#で学ぶオブジェクト指向プログラミング

C#で学ぶオブジェクト指向プログラミング


形式:
書籍
発売日:
ISBN:
9784798102177
定価:
3,520(本体3,200円+税10%)
仕様:
B5変・376ページ

図解でおぼえるデータ構造とアルゴリズム

本書では、データ構造の基本とも言うべき存在であるスタック、キューを手始めとして、多様なリンクを線形に応用したリスト、階層的なデータ構造である2分木やそれを探索に応用した2分探索木、そして節から多くの枝を分岐させて多くのデータを格納する多分木をリストによって作成する方法など、アルゴリズムとその実装を、細かく説明しています。
最低限のC#のプログラミングができる方、ビジネスに21世紀のインターネットを活用したアプリケーションを開発されようと考えている方、プログラミングの学習や研究にオブジェクト指向を取り入れたデータ構造を記述しようと考えている方などには、本書を順番に読み進めながら、プログラムやアルゴリズムやその実装を体験することで、オブジェクト指向とデータ構造(アルゴリズム)、さらにC#のプログラミングを習得できると思います。

1章 クラスとオブジェクト

1-1 オブジェクト指向プログラミングとは
クラスとオブジェクト
フォード
メソッド
データクラスでデータを表現する
データクラスの差別化
データクラスの配列化のメリットとデメリット
データクラスのリスト化
データクラスのリスト化のメリットとデメリット
1-2 プロジェクトの作成から実行まで
C#のプロジェクトの作成方法
プログラムをビルドする
プログラムの実行
1-3 スタック(Stack)
クラスのネスト
Push()メソッドを記述する
Pop()メソッドを記述する
プログラムの実行
1-4 キュー(Queue)
Enqueue()メソッドを記述する
Dequeue()メソッドを記述する
プログラムの実行

2章 線形リスト(1)

2-1 線形リスト
リスト
Listクラスの作成
先頭にノードを追加するAddNede()を記述する
先頭ノードを削除するRemoveNode()を記述する
リストを表示する
末尾にノードを追加するAddNode()を記述する
末尾からモードを削除するには
2-2 重連結リスト(DoublyLinkedList)
ノードにアクセスする
リストの先頭にノードを追加するAddNodeToHead()を記述する
リストの末尾にノードを追加するAddNodeToTail()を記述する
リストの先頭からノードを削除するRemoveNodeFromHead()を記述する
リストの末尾からノードを削除するRemoveNedeFromTail()を記述する

3章 線形リスト(2)

3-1 ソート済み重連結リスト
IComparableインターフェイスを継承しCompareTo()メソッドを実現する
コラム:IComparableインターフェイスとは
コラム:XMLを活用した注釈
3-2 リストからノードをサーチする
2つのSearchNode()メソッドを作成する
int SearchNode(object key)の動作
Node SearchNode(object key)の動作
3-3 リスト間に新規ノードを追加する
リスト間にノードを追加する1
リスト間にノードを追加する2
3-4 ノード間のノードを削除する
リストからノードを削除するRemoveNede()
プログラムの実行

4章 リストの継承と多態性

4-1 Listクラスのサブクラス化
重連結リストを4つのクラスに分類する
クラスの関係をクラス図にまとめる
直接ノードを扱うメソッドと間接的に扱うメソッドに分ける
4-2 Add()メソッド

SortedListクラスのAdd()メソッドの動作
ListToHeadクラスのAdd()メソッドの動作
ListToTailクラスのAdd()メソッドの動作
4-3 Updateメソッド
SortedListクラスのUpdate()メソッドの動作
ListToHeadクラスとListToTailクラスのUpdate()メソッドの動作
4-4 Remove()メソッド
SortedListクラスのRemone()メソッドの動作
ListToHaedクラスとListToHaedクラスのRemove()メソッドの動作
プログラムの実行

5章 クラスに列挙子を追加する

5-1 クラスライブラリプロジェクトの作成
5-2 コレクションクラスには列挙子を実装する
列挙子を実装する前の準備
5-3 ジェネリックコレクションを作成する
ステップ1 汎用的な列挙子を実装する
ステップ2 IEnumerableインターフェイスを継承したクラスを実装する
ライブラリのビルド
5-4 Visual Basic.NETからListLibraryライブラリを利用する
アセンブリの参照
プログラムの実行
5-5 C#からListLibraryクラスライブラリを利用する
アセンブリの参照
プログラムの実行

6章 木構造データをクラス化する

6-1 ツリー
バイナリツリー
バイナリサーチツリー
6-2 バイナリサーチツリークラスの作成
バイナリサーチツリークラスの宣言
NodeクラスのコンストラクタとCompareTo()メソッドを追加する
バイナリサーチツリーを再帰的に検索する
バイナリサーチツリーにノードを追加する
バイナリサーチツリーからノードを削除する
左に子ノードをもっているノードの削除
右に子ノードをもっているノードの削除
左右に2つの子ノードをもっているノードの削除
再帰的にノードを表示する

7章 リファクタリングとテスティング

7-1 リファクタリングとは
7-2 DeleteNode()メソッドでリファクタリングをおこなう
条件文の構成
冗長なコードをシンプルなコードにする
Nodeクラスのparentフィールドの活用
7-3 テストファースト
7-4 テストクラス
TestDateクラス
テスティングの概要
正しくノードが追加されたかどうかをチェックする
バイナリサーチツリーのデータがすべて削除されたかどうかをチェックする
継続的の連続してテストをおこなう
テストプログラムの実行

8章 XMLとシリアル化

8-1 XMLドキュメントを扱うための新規プロジェクトを作成する
Visual Studioを使ってXMLドキュメントを作成する
XMLドキュメントを入力する
8-2 XMLスキーマの作成
スキーマの作成
8-3 XMLドキュメントオブジェクトモデル(XML Document Object Model)
Document
Element
Text
XmlDeclaration
8-4 XmlTextReaderでXMLドキュメントを読み込む
ノード型の一覧
クラスの宣言と追加するメソッド
プログラムの実行
8-5 XMLシリアル化クラスでXMLドキュメントにアクセスする
シリアル化クラスを自動生成する
XSDでXMLシリアル化クラスを生成する手順
クラスやフィールドに追加されるシリアル化属性
XMLドキュメントの逆シリアル
TerminologyMainクラスでXMLの読み込みを記述する
プログラムの実行
8-6 DateSetクラスでXMLドキュメントにアクセスする
Visual Studioでデータセットクラスを生成する
データセットとは
データセットオブジェクトモデル
スキーマを読み込む
型指定をおこなったデータセット
型指定をしないデータセット
プログラムの実行

9章 情報を格納する多分木

9-1 多分木とは
多分木の作り方
InfoTreeのオブジェクトモデル
9-2 多分木のノードを追加する操作
ルートを親にして子ノードを追加する
子ノードを親にして子ノードを追加する
子ノードの祖父母ノードを親にして子ノードを追加する
9-3 多分木のすべてのノードを縦断するための操作
ノードの操作をするメソッド
ノードを取得/設定するプロパティ
多分木にノードを追加する-AddChild
多分木を探索する-SearchInformation
データの照合に正規表現クラスを使う
多分木を階層的に表示するPrintInformation()
9-4 InfoTreeオブジェクトのシリアル化
何をシリアル化できるか
XMLを使ったオブジェクトのシリアル化
InfoTreeMainクラス
InfoTreeクラス
Listクラス プログラムの実行

付属データはこちら

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。
正誤表の登録はありません。