ObjectOrientedProgramming
をテンプレートにして作成
LECTURE
担当科目一覧
コンピュータ概論/2024
データサイエンス/2024
3DCG演習/2024
情報デザイン研究/2024
卒業研究/2024
KEYWORDS
WEB DESIGN
SOCIAL DESIGN
SQUARES
LINKS
九州産業大学
芸術学部
芸術研究科
九産大美術館
九産大図書館
年間スケジュール
動画ニュース他
交通情報
気象・環境情報
危機に備えて
K'sLife
Office365Mail
Tools
SEARCH
開始行:
* オブジェクト指向プログラミング
''OOP''|Object-Oriented Programming
~
オブジェクト指向プログラミングはプログラミング手法一つで...
~
~
**はじめに
***プログラミング言語のパラダイム
初期のコンピュータプログラミングは、入力>処理>出力とい...
-[[構造化プログラミング>Google:構造化プログラミング]]|[[...
-[[手続き型プログラミング>Google:手続き型プログラミング]]...
//-[[非手続き型プログラミング>Google:非手続き型プログラミ...
-[[関数型プログラミング>Google:関数型プログラミング]]|[[...
-[[''イベント駆動型プログラミング''>Google:イベント駆動型...
-[[''オブジェクト指向プログラミング''>Google:オブジェクト...
-[[参考:スパゲティプログラム>Google:スパゲティプログラム...
~
***オブジェクト指向のプログラミング言語
現在では、多くのプログラミング言語が「オブジェクト指向」...
-[[C++>Google:C++]]
-[[C#>Google:C#]]
-[[Java>Google:Java]]
-[[JavaScript]] &small(サイト内記事);
-[[Objective-C>Google:Objective-C]]
-[[PHP]] &small(サイト内記事);
-[[Python]] &small(サイト内記事);
-[[Ruby>Google:Ruby]]
~
***オブジェクト指向が社会を更新する
人間と道具は「共進化」するものです。今日の社会は、オブジ...
コンピュータの設計と人間の活動は、共に進化しなければなら...
&small(Apple Computer, 1987, Human Interface Guidelines);
道具の使い方を学ぶことが私たち自身を変える・・
という点に人間と道具の関係の本質がある。
&small(アラン・ケイ, 1994, 人間のためのコンピュータ, Addi...
~
~
**Keywords
***クラスとインスタンス
オブジェクト指向プログラミングには、''クラス(class)''((...
-クラス(設計図)→ インスタンス(製品)
-クラス(設計図)→ 継承 → 応用的なクラス → インスタンス(...
オブジェクトという言葉との関係で言うと「クラスを元に作り...
-×:オブジェクトはインスタンスである
-◯:インスタンスはオブジェクトである
~
***プロパティとメソッド
クラスには、オブジェクトに内包される''データ'' を意味する...
オブジェクトに内包されるもの全体を''メンバ''というので、...
-''プロパティ'':オブジェクトの「状態」を表す「データ」
-''メソッド'':オブジェクトの「操作」を表す「処理」
~
オブジェクトを具体的な「モノ・コト」に例えみましょう。例...
//[[参考 w3schools.com>https://www.w3schools.com/js/js_ob...
-''プロパティ'':車の名前、型式、重量、色、現在位置、スピ...
-''メソッド'':エンジン始動、エンジン停止、走る、止まる、...
~
我々が使っている自然言語で例えると・・・
-''プロパティ'':名詞・形容詞(title, place, time, size,...
-''メソッド'':自動詞・他動詞(Start(), Stop(), EditText(...
~
ただ、実際にプログラミングをはじめると、具体的な「モノ・...
~
~
**プログラムの中でのオブジェクトの記述
プログラムの中でオブジェクトを扱う記法はどの言語でも基本...
~
***インスタンス(オブジェクト)の生成
Car というクラスから、car というインスタンスを生成するコ...
car = new Car( 'Fiat', '500', 850 , 'white' );
~
***プロパティ
プロパティは、オブジェクトが持つ様々な「属性データ」です。
オブジェクト名.プロパティ名
car.name // Fiat
car.mode // 500
car.weight // 850(kg)
car.color // white
~
***メソッド
メソッドは、クラスの中では関数として定義されるので、一般...
オブジェクト名.メソッド名(引数)
car.start( )
car.drive( )
car.brake( )
car.stop( )
参考:https://www.w3schools.com/js/js_objects.asp
~
~
**オブジェクト指向の哲学
***従来型のプログラミングとオブジェクト指向の違い
従来の「手続き型プログラミング」では、「データ」と「処理...
-プログラムの規模が大きくなるにつれて全体像の把握が難しく...
-機能の追加・拡張・変更が難しい
-コードの再利用が難しい
オブジェクト指向プログラミングでは「''データ(プロパティ...
~
~
***オブジェクトとしての生命体
実は、私たち「生き物」も、またそれを構成する単位である「...
~
***自律分散協調系
社会をオブジェクト指向の視点で眺めると、個々の人間や、人...
個々の人はそれぞれが自分の特性(プロパティ)とスキル(メ...
個々のオブジェクトは独立した存在として機能するとともに、...
BAND(結束・絆)は、音楽のバンドを意味すると同時に、かつ...
社会は中央集権(ツリー構造・トップダウン)ではうまくいか...
インターネットの登場は、この「自律分散協調システム」を飛...
&aname(ObjectSample);
~
~
**APPENDIX
身近な物事をオブジェクト指向(Python風)で記述すると・・・
~
***投稿記事オブジェクト
# クラスの定義
class article :
def __init__( self, what ) : # コンストラクタ(新...
self.what = what
self.when = ""
self.where = ""
self.who = ""
self.how = ""
def edit( self, ・・・ ) : # メソッド
# 記事の編集するコード
def release( self ) :
# 記事を公開するコード
def __del__( self ) : # デストラクタ(削除)
# 記事を削除するコード
# メインプログラム
post01 = article( "卒展20XX" ) # 初期化
post01.edit( ) # 記事の詳細執筆
post01.release( ) # 記事の公開
post02 = article( "Pythonワークショップのご案内" ) # ...
post02.edit( ) # 記事の詳細執筆
post02.release( ) # 記事の公開
:
~
***プロジェクトオブジェクト
# クラスの定義
class project :
def __init__( self, title ) : # コンストラクタ(新...
self.title = title
self.sub_title = ""
self.purpose = ""
self.member = ""
self.period = ""
:
def empathize( self, ・・・ ) :
# 共感のプロセス
def define( self, ・・・ ) :
# 課題の定義
def ideate( self, ・・・ ) :
# アイデア創出
def prototype( self, ・・・ ) :
# プロトタイピング
def test( self, ・・・ ) :
# テスト
def meeting( self, ・・・ ) :
# 会議の開催
def task( self ) :
# タスクの実行
def __del__( self ) : # デストラクタ(削除)
# プロジェクトの解散
# メインプログラム
project01 = project( ''20XX春期商品開発'') #初期化
project01.meeting(・・・・) #目的、メンバー、期間等の...
project01.empathize(・・・・)
project01.define(・・・・)
:
~
***付記:オブジェクト指向とコマンド指向
コンピュータのインターフェイスには、現在の標準である GUI...
-GUI:操作対象を選択 > (右クリック)操作を選択
文法的には、目的語>動詞 の順になります。
-CUI:コマンドに続けて、操作対象を記述
文法的には、動詞>目的語 の順になります。
例:$ cat file1.txt ・・・・ 表示しなさい・file1.txt を
世の中にあるあらゆる「モノ」は、基本的には、目に見える対...
-新式の自動販売機:オブジェクト指向(買い手の視点)
商品を選択 > スマホ(ICカード)をあてる、あるいは現金を...
-旧式の自動販売機:プロセス指向(機械の作り手の視点)
お金を入れる > システム起動 > 商品選択
&small(このパターンだと、キャンセルしたい場合、返却ボタン...
~
~
~
終了行:
* オブジェクト指向プログラミング
''OOP''|Object-Oriented Programming
~
オブジェクト指向プログラミングはプログラミング手法一つで...
~
~
**はじめに
***プログラミング言語のパラダイム
初期のコンピュータプログラミングは、入力>処理>出力とい...
-[[構造化プログラミング>Google:構造化プログラミング]]|[[...
-[[手続き型プログラミング>Google:手続き型プログラミング]]...
//-[[非手続き型プログラミング>Google:非手続き型プログラミ...
-[[関数型プログラミング>Google:関数型プログラミング]]|[[...
-[[''イベント駆動型プログラミング''>Google:イベント駆動型...
-[[''オブジェクト指向プログラミング''>Google:オブジェクト...
-[[参考:スパゲティプログラム>Google:スパゲティプログラム...
~
***オブジェクト指向のプログラミング言語
現在では、多くのプログラミング言語が「オブジェクト指向」...
-[[C++>Google:C++]]
-[[C#>Google:C#]]
-[[Java>Google:Java]]
-[[JavaScript]] &small(サイト内記事);
-[[Objective-C>Google:Objective-C]]
-[[PHP]] &small(サイト内記事);
-[[Python]] &small(サイト内記事);
-[[Ruby>Google:Ruby]]
~
***オブジェクト指向が社会を更新する
人間と道具は「共進化」するものです。今日の社会は、オブジ...
コンピュータの設計と人間の活動は、共に進化しなければなら...
&small(Apple Computer, 1987, Human Interface Guidelines);
道具の使い方を学ぶことが私たち自身を変える・・
という点に人間と道具の関係の本質がある。
&small(アラン・ケイ, 1994, 人間のためのコンピュータ, Addi...
~
~
**Keywords
***クラスとインスタンス
オブジェクト指向プログラミングには、''クラス(class)''((...
-クラス(設計図)→ インスタンス(製品)
-クラス(設計図)→ 継承 → 応用的なクラス → インスタンス(...
オブジェクトという言葉との関係で言うと「クラスを元に作り...
-×:オブジェクトはインスタンスである
-◯:インスタンスはオブジェクトである
~
***プロパティとメソッド
クラスには、オブジェクトに内包される''データ'' を意味する...
オブジェクトに内包されるもの全体を''メンバ''というので、...
-''プロパティ'':オブジェクトの「状態」を表す「データ」
-''メソッド'':オブジェクトの「操作」を表す「処理」
~
オブジェクトを具体的な「モノ・コト」に例えみましょう。例...
//[[参考 w3schools.com>https://www.w3schools.com/js/js_ob...
-''プロパティ'':車の名前、型式、重量、色、現在位置、スピ...
-''メソッド'':エンジン始動、エンジン停止、走る、止まる、...
~
我々が使っている自然言語で例えると・・・
-''プロパティ'':名詞・形容詞(title, place, time, size,...
-''メソッド'':自動詞・他動詞(Start(), Stop(), EditText(...
~
ただ、実際にプログラミングをはじめると、具体的な「モノ・...
~
~
**プログラムの中でのオブジェクトの記述
プログラムの中でオブジェクトを扱う記法はどの言語でも基本...
~
***インスタンス(オブジェクト)の生成
Car というクラスから、car というインスタンスを生成するコ...
car = new Car( 'Fiat', '500', 850 , 'white' );
~
***プロパティ
プロパティは、オブジェクトが持つ様々な「属性データ」です。
オブジェクト名.プロパティ名
car.name // Fiat
car.mode // 500
car.weight // 850(kg)
car.color // white
~
***メソッド
メソッドは、クラスの中では関数として定義されるので、一般...
オブジェクト名.メソッド名(引数)
car.start( )
car.drive( )
car.brake( )
car.stop( )
参考:https://www.w3schools.com/js/js_objects.asp
~
~
**オブジェクト指向の哲学
***従来型のプログラミングとオブジェクト指向の違い
従来の「手続き型プログラミング」では、「データ」と「処理...
-プログラムの規模が大きくなるにつれて全体像の把握が難しく...
-機能の追加・拡張・変更が難しい
-コードの再利用が難しい
オブジェクト指向プログラミングでは「''データ(プロパティ...
~
~
***オブジェクトとしての生命体
実は、私たち「生き物」も、またそれを構成する単位である「...
~
***自律分散協調系
社会をオブジェクト指向の視点で眺めると、個々の人間や、人...
個々の人はそれぞれが自分の特性(プロパティ)とスキル(メ...
個々のオブジェクトは独立した存在として機能するとともに、...
BAND(結束・絆)は、音楽のバンドを意味すると同時に、かつ...
社会は中央集権(ツリー構造・トップダウン)ではうまくいか...
インターネットの登場は、この「自律分散協調システム」を飛...
&aname(ObjectSample);
~
~
**APPENDIX
身近な物事をオブジェクト指向(Python風)で記述すると・・・
~
***投稿記事オブジェクト
# クラスの定義
class article :
def __init__( self, what ) : # コンストラクタ(新...
self.what = what
self.when = ""
self.where = ""
self.who = ""
self.how = ""
def edit( self, ・・・ ) : # メソッド
# 記事の編集するコード
def release( self ) :
# 記事を公開するコード
def __del__( self ) : # デストラクタ(削除)
# 記事を削除するコード
# メインプログラム
post01 = article( "卒展20XX" ) # 初期化
post01.edit( ) # 記事の詳細執筆
post01.release( ) # 記事の公開
post02 = article( "Pythonワークショップのご案内" ) # ...
post02.edit( ) # 記事の詳細執筆
post02.release( ) # 記事の公開
:
~
***プロジェクトオブジェクト
# クラスの定義
class project :
def __init__( self, title ) : # コンストラクタ(新...
self.title = title
self.sub_title = ""
self.purpose = ""
self.member = ""
self.period = ""
:
def empathize( self, ・・・ ) :
# 共感のプロセス
def define( self, ・・・ ) :
# 課題の定義
def ideate( self, ・・・ ) :
# アイデア創出
def prototype( self, ・・・ ) :
# プロトタイピング
def test( self, ・・・ ) :
# テスト
def meeting( self, ・・・ ) :
# 会議の開催
def task( self ) :
# タスクの実行
def __del__( self ) : # デストラクタ(削除)
# プロジェクトの解散
# メインプログラム
project01 = project( ''20XX春期商品開発'') #初期化
project01.meeting(・・・・) #目的、メンバー、期間等の...
project01.empathize(・・・・)
project01.define(・・・・)
:
~
***付記:オブジェクト指向とコマンド指向
コンピュータのインターフェイスには、現在の標準である GUI...
-GUI:操作対象を選択 > (右クリック)操作を選択
文法的には、目的語>動詞 の順になります。
-CUI:コマンドに続けて、操作対象を記述
文法的には、動詞>目的語 の順になります。
例:$ cat file1.txt ・・・・ 表示しなさい・file1.txt を
世の中にあるあらゆる「モノ」は、基本的には、目に見える対...
-新式の自動販売機:オブジェクト指向(買い手の視点)
商品を選択 > スマホ(ICカード)をあてる、あるいは現金を...
-旧式の自動販売機:プロセス指向(機械の作り手の視点)
お金を入れる > システム起動 > 商品選択
&small(このパターンだと、キャンセルしたい場合、返却ボタン...
~
~
~
ページ名: