先週からの続きとして、C言語によるオブジェクト指向のエッセンスを 取り入れた短いプログラム例を通して、説明を行う。 関数による 手続き抽象 の説明、三角形のデータ表現を例に用いて データ抽象 の説明および、メンバのアクセス制限の必要性の説明を行う。
この後、Cによる説明から、C++を用いたプログラム例に書き換える。 先週の説明での Person[氏名,年齢,身長]を class 化し、 set,printのメソッドを定義したプログラム例を用いる。 private/publicによるアクセス制限にも言及。 これによりデータ抽象、手続き抽象の効果が得られ、 プログラム開発の役割分担が容易、原因究明の線引きが容易という点を強調。
ただしコンストラクタ、デストラクタなどは用いない。
class Person { private: // private指定では、メソッド外からのアクセスを禁止 char name[20] ; int age ; float height ; public: // public指定では、メソッド外から参照できる void set( char s[] , int a , float h ) { // データ初期化のメソッド strcpy( name , s ) ; age = a ; height = h ; } void print() { // データ表示のメソッド printf( "%s %d %f\n" , name , age , height ) ; } } ; int main() { Person saitoh ; saitoh.set( "斉藤" , 39 , 172.3 ) ; Person mitsuki ; mitsuki.set( "充輝" , 4 , 97.4 ) ; saitoh.print() ; mitsuki.print() ; }