SHOEISHA iD

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

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

Cでわかるオブジェクト指向

【第3回】継承


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

継承の実行サンプル

 それでは、上記できちんと継承ができているか、サンプルを動かして試してみましょう。

リスト15:継承の実行サンプル
#include "ObjectClass.h"
#include "SubObjectClass.h"

/* エントリポイント */
int main(int argc, char* argv[])
{
    ObjectClass* parent = Object_new("親クラス", 1);
    SubObjectClass* child = SubObject_new("派生クラス", 2, 3);
	
    parent->message(parent);
 
    child->message((ObjectClass*)child);
    child->message2(child);
	
    Object_delete(parent);
    SubObject_delete(child);
	
    return 1;
}
リスト16:実行結果
>gcc main.c ObjectClass.c SubObjectClass.c
>a.out
親クラス.status = 1
派生クラス.status = 2
派生クラス.type = 3

 無事に実行できました。構造を受け継ぐという継承の仕組みについて、少し具体的なイメージが持てましたでしょうか。

まとめ

 いかがだったでしょうか。今回はOOPでよく使われる継承の概念について、C言語を用いた簡単な実装例とともに解説しました。次回は、今回解説した継承と共に、オブジェクト指向でよく使われる概念であるポリモーフィズムについて解説してみたいと思います。

 本稿が、少しでも皆さんのオブジェクト指向の理解に貢献できたのなら幸いです。次回もお楽しみに。

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
Cでわかるオブジェクト指向連載記事一覧

もっと読む

この記事の著者

島田 浩二(Ruby札幌)(シマダ コウジ)

1978年生まれ。電気通信大学電気通信学部情報工学科卒業後、メーカ系ソフトウェア会社にて携帯電話の開発業務に従事した後、2006年より札幌にてフリーのプログラマとして活動。2009年7月に株式会社えにしテックを設立し、同社代表取締役に就任。 日本Rubyの会理事、一般社団法人LOCAL理事、Ruby札幌主宰。

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3708 2009/03/17 13:04

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング