添付ファイルの追加

ログイン済のユーザのみが添付ファイルをアップロード出来ます。

添付ファイル一覧

Kind Attachment Name Size Version Date Modified Author Change note
png
class_history01.png 10.0 kB 1 27-1-2011 00:07 ytp
png
class_history02.png 16.5 kB 1 27-1-2011 00:19 ytp
png
class_history03.png 38.4 kB 1 27-1-2011 00:19 ytp
png
class_history04.png 20.1 kB 1 27-1-2011 00:19 ytp
png
class_history05.png 25.0 kB 1 27-1-2011 00:19 ytp

This page (revision-22) was last changed on 18-6-2014 13:36 by ytp

This page was created on 26-1-2011 01:44 by ytp

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 9 changed 3 lines
正解は「データ構造が異なる」です。\\
クラスの根本は、データ構造(構造体)とそれを扱う処理(関数orメソッド)を一体化させたものです。
データ構造というのは属性(プロパティ)の集まりのことで、処理というのはそれらの属性の値を読んだり編集するために存在します。\\
正解は「__3.データ構造が異なる__」です。\\
クラスの根本は、
*データ構造(構造体)とそれを扱う処理(関数orメソッド)を一体化させたもの
です。\\
データ構造というのは属性(プロパティ)の集まりのことで、それら属性の値を読んだり編集したりするために処理は存在します。\\
At line 13 changed one line
次の図はSunのJava入門のページに書いてあるものです。[What Is an Object?|http://download.oracle.com/javase/tutorial/java/concepts/object.html]\\
次の図はOracleのJava入門のページに書いてあるものです。出典: [What Is an Object?|http://download.oracle.com/javase/tutorial/java/concepts/object.html]\\
At line 17 changed 4 lines
この図からも解るように、データ構造を持たないクラスはそもそもクラスとして機能しません。データ構造と処理の一体化というクラスの原理に反するからです。\\
ですが、データ構造を持たないクラスをJavaなどの言語では定義出来てしまうため、単なる関数を定義しただけのclassをクラスと勘違いしている設計者/プログラマーが大勢います。
public staticなメソッドのみのクラスがそれです%%sup ※/%。ユーティリティクラスとも呼ばれます。\\
※正確に言うと、インスタンス変数にもクラス変数にもアクセスしないメソッドだけのクラスです。
この図からも解るように、
*データ構造を持たないクラスはそもそもクラスとして機能しない
のです。データ構造と処理の一体化というクラスの原理に反するからです。\\
At line 23 changed one line
{{{手続き型の言語においても共通するデータ構造(構造体)をまず最初に決めます。}}}
{{{手続き型の言語においても共通するデータ構造(構造体)を最初に決めます。}}}
At line 39 changed 4 lines
上記で見たように、クラスの最初に必要なのは共通化されたデータ構造です。\\
共通関数というものを開発したことのある人は解ると思いますが、関数(処理)を共通化するためには受け渡されるパラメータを共通化する必要があります。パラメータが複数ある場合、それらをひとかたまりにまとめるとデータ構造(構造体)になります。\\
つまり手続き型の言語においても、処理を共通化するためにはまず最初にデータ構造を共通化していたのです。\\
クラスにおいては、共通化されたデータ構造が処理も持てるようになっています。これがオブジェクト指向の原理です。
上記で見たように、クラスの最初に必要なのは
*共通化されたデータ構造
です。\\
共通関数というものを開発したことのある人は解ると思いますが、
*関数(処理)を共通化するためには受け渡されるパラメータをまず共通化する
必要があります。パラメータが複数ある場合、それらをひとかたまりにまとめるとデータ構造(構造体)になります。\\
つまり手続き型の言語においても、
*処理を共通化する前にデータ構造を共通化
していたのです。クラスにおいては、
*共通化されたデータ構造が処理も持てる
ようになっています。
*そのクラスを基にした個体(インスタンスあるいはオブジェクト)をメモリ上に複数生成
出来ます。これがオブジェクト指向の原理です。
At line 53 changed one line
またプログラマー達がコードのみで考える状態から脱却するため、早いうちからクラス図の読み書きを修得するよう指導することも重要です。
またプログラマー達がコードのみで考える状態から脱却するため、早いうちからクラス図の読み書きを修得するよう指導することも重要です。\\
\\
次: [責務はクラスではない]
Version Date Modified Size Author Changes ... Change note
22 18-6-2014 13:36 2.05 kB ytp to previous
21 23-5-2014 17:47 2.047 kB ytp to previous | to last
« This page (revision-22) was last changed on 18-6-2014 13:36 by ytp