関連サイト
本書の関連ページが用意されています。
内容紹介
強力かつ簡潔、表現力と可読性、学習にもプロの開発にも最適。これが現在のObject Pascalの端的な特徴です。
Object Pascalは多面的な言語です。伝統的な手続き型プログラミングスタイルのサポートを維持しながら、オブジェクト指向プログラミングのパワー、ジェネリックプログラミングの強力なサポート、属性などといった動的な構文要素を併せ持っています。モバイル時代に対応したコンパイラと開発環境を備えた多才なツールであり、過去からの確固たるルーツを持ちながらも、将来にも対応した言語なのです。
現在使用されているObject Pascal言語の中核は、1995年の定義に由来します。Object PascalのルーツはPascalの前身に遡りますが、その進化は1995年で止まることはありませんでした。現在もコア機能の改良は続けられ、エンバカデロ・テクノロジーズによってデスクトップコンパイラとモバイルコンパイラが作成され、Delphi、RAD Studioで使用することができます。
この言語の役割の変化、長年にわたる拡張、そして今日新しい開発者からも注目を集めているという事実を考えると、現在のObject Pascal言語について網羅した本を書くことは重要であると考えました。そのゴールは、新たな開発者や他の似たような言語から移行した開発者だけでなく、この言語の最新の変更点について学習しようとしているさまざまなPascal系言語の古くからの開発者も対象とした、言語マニュアルを提供することです。
Object Pascalはここ数年、停滞どころか非常に速いペースで進化しています。そこで本書では、この言語がどのように進化してきたかではなく、トピックごとに、現在のこの言語がどのように機能するか、最も良い使用方法は何かについて説明します。この言語を過去に使用したことがあっても、最後の数章だけでなく、本書全体にざっと目を通し、新しい機能を確認することをお勧めします。
本書では、まず中核的な概念を説明し、そのすぐ後に読者が実行したり、試してみたくなるような簡単なサンプルデモを示し、概念の理解と習得につなげることを基本的な考え方としています。本書はリファレンスマニュアルではありません。この言語が理論上なすべきことについて説明し、考えられる状況をすべて示します。正確であることを心がけていますが、言語について説明すること、実践的で段階的なガイドを提供することによりフォーカスしています。
書誌情報
- 著者: Marco Cantù(著), 藤井 等(監訳), エンバカデロ・テクノロジーズ(翻訳)
- 発行日: 2016-06-01 (紙書籍版発行日: 2016-06-01)
- 最終更新日: 2016-06-01
- バージョン: 1.0.0
- ページ数: 592ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: カットシステム
対象読者
著者について
Marco Cantù
イタリア在住。Delphi のエキスパートとして世界的に知られており、Delphi に関する技術書の執筆のほか、世界各国でのDelphi カンファレンス/セミナーでの講演で活躍している。現在は、エンバカデロ・テクノロジーズに在籍し、Delphi/RAD Studio のプロダクトマネージャとしても活躍する。「Mastering Delphi」シリーズは、日本でも翻訳(「Delphi 6 プログラミングバイブル」(インプレス)など)されており、日本の開発者の間でも著名な存在である。
藤井 等
千葉大学文学部行動科学科卒業。石油関連会社でシステム開発を手がけ、データベースシステムやGIS、ナビゲーションシステムなどの開発を経験したのち、ボーランドに入社。Delphi、C++Builder、JBuilder、VisiBroker などを担当する。2008 年、エンバカデロ・テクノロジーズによるボーランドの開発ツール部門買収を受け、同社の日本法人マーケティングディレクターに就任。2009 年1 月からは、日本法人代表を務める。著書に、「Borland JBuilder J2EE アプリケーション構築入門」(カットシステム)、「Borland C++Builder 入門」(アスキー)など。訳書にMarco Cantù著「Delphi 2009 Handbook」(カットシステム)がある。
目次
第I部 基礎
第1章 Pascalでのコーディング
- 1.1 コードから始めよう
- 1.2 構文とコーディングスタイル
- 1.3 言語キーワード
- 1.4 プログラムの構造
- 1.5 コンパイラ指令
第2章 変数とデータ型
- 2.1 変数と代入
- 2.2 データ型
- 2.3 シンプルなユーザー定義データ型
- 2.4 式と演算子
- 2.5 日付と時刻
- 2.6 型キャストと型変換
第3章 言語の文
- 3.1 単純文と複合文
- 3.2 if文
- 3.3 case文
- 3.4 forループ
- 3.5 while文とrepeat文
第4章 手続きと関数
- 4.1 手続きと関数
- 4.2 パラメータと戻り値
- 4.3 インライン化
- 4.4 関数の高度な機能
第5章 配列とレコード
- 5.1 配列データ型
- 5.2 レコードデータ型
- 5.3 メソッド付きレコード
- 5.4 バリアント
- 5.5 ポインタとは
- 5.6 ファイル型とは
第6章 文字列のすべて
- 6.1 Unicode:世界共通の文字体系
- 6.2 Char型の再検討
- 6.3 文字列データ型
- 6.4 文字列とエンコード
- 6.5 文字列の他の型
第II部 Object PascalでのOOP
第7章 オブジェクト
- 7.1 クラスとオブジェクトについて
- 7.2 オブジェクト参照モデル
- 7.3 private、protected、public
- 7.4 Selfキーワード
- 7.5 コンストラクタ
- 7.6 ネストした型とネストした定数
第8章 継承
- 8.1 既存の型からの継承
- 8.2 共通の基底クラス
- 8.3 protectedフィールドとカプセル化
- 8.4 継承から多態性へ
- 8.5 抽象メソッドと抽象クラス
- 8.6 安全な型キャスト演算子
- 8.7 ビジュアルフォームの継承
第9章 例外の処理
- 9.1 try-exceptブロック
- 9.2 finallyブロック
- 9.3 実際の例外
- 9.4 グローバル例外処理
- 9.5 例外とコンストラクタ
- 9.6 高度な例外
第10章 プロパティとイベント
- 10.1 プロパティの定義
- 10.2 publishedアクセス指定子
- 10.3 イベント駆動型プログラミング
- 10.4 TDateコンポーネントの作成
- 10.5 クラスでの列挙サポートの実装
- 10.6 RADとOOPを混在させる場合の15のヒント
第11章 インターフェイス
- 11.1 インターフェイスの使用
- 11.2 高度なインターフェイスの手法
- 11.3 インターフェイスによるAdapterパターンの実装
第12章 クラスの操作
- 12.1 クラスメソッドとクラスデータ
- 12.2 クラスコンストラクタ(およびデストラクタ)
- 12.3 クラス参照
- 12.4 クラスとレコードヘルパー
第13章 オブジェクトとメモリ
- 13.1 グローバルデータ、スタック、ヒープ
- 13.2 オブジェクト参照モデル
- 13.3 伝統的なメモリ管理のTips
- 13.4 ARC入門
- 13.5 メモリの追跡とチェック
- 13.6 堅牢なアプリケーションの記述
第III部 高度な機能
第14章 ジェネリクス
- 14.1 ジェネリックKey-Valueペア
- 14.2 Object Pascalにおけるジェネリクス
- 14.3 ジェネリック制約
- 14.4 既定のジェネリックコンテナ
- 14.5 ジェネリックインターフェイス
- 14.6 Object Pascalのスマートポインタ
- 14.7 ジェネリクスと共変戻り値型
第15章 無名メソッド
- 15.1 無名メソッドの構文と意味
- 15.2 ローカル変数の使用
- 15.3 無名メソッドの詳細
- 15.4 無名メソッドの実際の利用
第16章 リフレクションと属性
- 16.1 拡張RTTI
- 16.2 RTTIユニット
- 16.3 TValue構造体
- 16.4 属性の使用
- 16.5 仮想メソッドインターセプタ
- 16.6 RTTIケーススタディ
第17章 TObjectおよびSystemユニット
- 17.1 TObjectクラス
- 17.2 Systemユニット
第18章 その他のコアRTLクラス
- 18.1 Classesユニット
- 18.2 最新のファイルアクセス
- 18.3 文字列および文字列リストの作成
- 18.4 巨大なランタイムライブラリ
- 18.5 おわりに
付録 Object Pascalの発展
- WirthのPascal
- Turbo Pascal
- 初期のDelphiのObject Pascal
- Object Pascal — CodeGearからエンバカデロまで
- モバイルへの進出