情報システム辞典
モジュールの階層化と独立化、部品化を積極的に意識して、データとその手続きを物と目的が同じ管理の中で一つにまとめながら組むプログラム。
例えば、在る会社が食品と文房具を販売していて、そのデータベースを作ろうとしたとき、
会社
食品 文房具
のデータベースがあった場合、入庫出庫の日付けは互いの共通項目であるので、同じ手続きをしますが、食品は賞味期限があるので、こちらだけは特殊な期限の管理が必要となりますし、文房具では色々なメーカーの多くの種類の文房具がありある商品はあるメーカーでしか入荷できないかもしれません。この場合では、入庫出庫の日付はデータ項目が共通なので親である会社で手順などを決め運用し食品専用である特殊な期限管理の手順は食品の方だけで対応するプログラムをし、同じように文房具だけの手順は文房具のプログラムに任せる。データの内容で動きを変えると言う考え方が基本です。
実際ではこれらの様にある問題に対してオブジェクト指向プログラミングをするためには、現状の分析からはじめ、多くの知識と経験がないと、そう簡単にはプログラムすることは出来ません。オブジェクト指向プログラムの思想が良いのに初心者に敷居が高いのはこの辺に問題があると思います。
オブジェクト指向プログラムの出来る言語で有名なのは、Javaの他、SmalltalkやC++などがあります。