SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

知っておきたいCurl文法の要点(AD)

ここがポイント!Curlプログラミング
データ型とTypeクラス

第3回

  • このエントリーをはてなブックマークに追加

クラス型

 オブジェクト指向の中心となるクラスを表します。define-class で定義されます。

 Curlでプログラムを書くということは、多くの場合クラスの実装になります。プリミティブ型との大きな違いは、クラスはデータとメソッド(振る舞い)の両方を持つことです。また、多くのクラスは、ひな形(クラス定義)から、インスタンスを生成して使用します。

 クラスについて説明をするのは、ほぼオブジェクト指向言語の説明になってしまいますので、ここでは、Curlの特徴的な部分についてのみ触れておきます。

多重継承

 最近のオブジェクト指向言語の多くが1つのクラスのみを継承できる単一継承ですが、Curlは複数のクラスを継承できる多重継承をサポートしています。

パラメータ化クラス

 クラス設計をするときには取り扱える型を指定せず、プログラマの使いたい型を指定して利用するクラスをパラメータクラスと言います。コレクションフレームワークなどで威力を発揮します。Javaではジェネリックスと呼ばれています。

Objectクラスを暗黙の継承とする

 多重継承ではありますが、必ずObjectクラスを継承します。メソッドのオーバーライドは可能ですが、オーバーロードはサポートしていません。

プロシージャ型

 プリミティブ型とは反対に、データを持たずに、メソッドだけを記述するのがプロシージャです。define-proc で定義されます。プロシージャ型もオブジェクトです。配列やハッシュテーブルに入れることができます。一般的にはクロージャと呼ばれています。Curlの特徴的な点は以下のとおりです。

複数の引数指定方法を持つ

 位置パラメータ、キー付きパラメータ、残余パラメータと豊富な引数指定方法を持ちます。

複数の値の戻り値を返せる

 戻り値を複数返すことができます。ポインタを使わない1つの値のみしか返せない言語では、戻り値用のクラスを作ったりしなければなりませんが、Curlは簡単に複数の値を返せます。

次のページ
列挙型

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
知っておきたいCurl文法の要点連載記事一覧

もっと読む

この記事の著者

久保田 一郎(クボタ イチロウ)

財団法人日本自動車研究所電算システムGr所属。Macintosh HyperCardとOracleを使った業務システムの開発から始まって、4D、Java、AIRを経由してCurl に到達。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4622 2009/12/03 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング