什么是面向對象 編程方面的 通俗的說是什么意思?

簡單面向對象編程的方法或思路
轉自:伊圖網[]在闡述類的概念之前我們說說面向對象編程的概念:面向對象的程序設計(Object-OrientedProgramming , 簡記為OOP)立意于創建軟件重用代碼 , 具備更好地模擬現實世界環境的能力 , 這使它被公認為是自上而下編程的優勝者 。它通過給程序中加入擴展語句 , 把函數“封裝”進編程所必需的“對象”中 。面向對象的編程語言使得復雜的工作條理清晰、編寫容易 。說它是一場革命 , 不是對對象本身而言 , 而是對它們處理工作的能力而言 。對象并不與傳統程序設計和編程方法兼容 , 只是部分面向對象反而會使情形更糟 。除非整個開發環境都是面向對象的 , 否則對象產生的好處還沒有帶來的麻煩多 。有人可能會說PHP不是一個真正的面向對象編程的語言 , PHP是一個混合型語言 , 你可以使用面向對象編程 , 也可以使用傳統的過程化編程 。然而 , 對于大型項目的開發 , 你可能想需要在PHP中使用純的面向對象編程去聲明類 , 而且在你的項目開發只用對象和類 。隨著項目越來越大 , 使用面向對象編程可能會有幫助 , 面向對象編程代碼很容易維護 , 容易理解和重復使用 , 這些就是軟件工程的基礎 。在基于Web的項目中應用這些概念就成為將來網站成功的關鍵 。對象(Object)是問題域或實現域中某些事物的一個抽象 , 它反映此事物在系統中需要保存的信息和發揮的作用;它是一組屬性和有權對這些屬性進行操作的一組服務的封裝體 。關于對象要從兩方面理解:一方面指系統所要處理的現實世界中的對象;另一方面對象是計算機不直接處理的對象 , 而是處理相應的計算機表示 , 這種計算機表示也稱為對象 。簡單的來說 , 一個人就是一個對象 , 一個尺子也可以說是個對象 。當這些對象可以用數據直接表示時 , 我們就稱他為屬性 , 尺子的度量單位可以是厘米 , 公尺或英尺 , 這個度量單位就是尺子的屬性 。在PHP里我們可以定義一個類 , 類(Class)就是指變量與一些使用這些變量的函數的集合 。PHP是一種松散類型的語言 , 所以通過類型重載不起作用 , 通過參數的個數不同來重載也不起作用 。有時在面向中重載構造函數非常好 , 這樣你可以通過不同的方法創建對象(傳遞不同數量的參數) 。在PHP中就是通過類來實現的 。在PHP中是通過類來完成信息封裝的 , 在PHP中定義類的語法是:在定義類時你可以按自已的喜好的格式進行定義 , 但最好能保持一種標準 , 這樣開發起來會更有效些 。數據成員在類中使用"var"聲明來定義 , 在給數據成員賦值之前 , 它們是沒有類型的 。一個數據成員可以是一個整數 , 一個數組 , 一個相關數組(AssociativeArray)或者是一個對象 。下面是一個類定義的實際例子:這是一個很普通定義類的簡單例子 , 用于顯示學生的學習成績 , 類名為Student , Student類包涵了一個學生的基本屬性:姓名、性別、學號、英語成績和數學成績 。function我們稱之為在類中被定義的函數 , 在函數中訪問類成員變量時 , 你應該使用$this->var_name , 其中var_name指的是類中被聲明的變量 , 否則對一個函數來說 , 它只能是局部變量 。我們先定義一個Input()的函數 , 用來給實例中的對象賦以初值:functionInput($Name,$Sex,$Id,$Englis,$Maths){$this->str_Name=$Name;$this->str_Sex=$Sex;$this->int_Id=$Id;$this->int_Englis=$English;$this->int_Maths=$Maths;}現在我們再定義一個叫“ShowInfo()”的函數 , 用于打印學生的基本情況:functionShowInfo()//定義ShowInfo()函數{echo(“姓名:$this->str_Name”);echo(“性別:$this->str_Sex”);echo(“學號:$this->int_Id”);echo(“英語成績:$this->int_English”);echo(“數學成績:$this->int_Maths”);}而定義好的類則必須使用new關鍵詞來生成對象:$A_student=newStudent;例如我們要為一個名為$Wing的對象創建實例 , 并進行賦值 , 可以使用下面的代碼:$Wing=newStudent;//用new關鍵詞來生成對象$Wing->Input(“Wing”,”男”,33,95,87);//分別輸入Wing的姓名、性別、學號、英語成績、數學成績 , 其中姓名和性別是字符型變量 , 所以需要用雙引號 , 其它為數值型變量則不需要 。通過下面這段完整的源代碼 , 我們就可以很清楚的看到類在PHP是怎么被運用的:str_Name=$Name;$this->str_Sex=$Sex;$this->int_Id=$Id;$this->int_English=$English;$this->int_Maths=$Maths;}functionShowInfo(){echo(“姓名:$this->str_Name”);echo(“性別:$this->str_Sex”);echo(“學號:$this->int_Id”);echo(“英語成績:$this->int_English”);echo(“數學成績:$this->int_Maths”);}}$Wing=newStudent;$Wing->Input(“Wing”,”男”,33,95,87);$Paladin=newStudent;$Paladin->Input(“paladin”,”女”,38,58,59.5);$Wing->ShowInfo();$Paladin->ShowInfo();?>執行結果應是這樣的:姓名:Wing性別:男學號:33英語成績:95數學成績:87姓名:Paladin性別:女學號:38英語成績:58數學成績:59.5PHP現有的版本較以前的版本在對面向對象編程的支持方面有了很大的改善 , 但支持的還不是很完整 , 不過現階段PHP對面向對象編程語言提供的支持不但有利于我們設計程序的結構 , 對于對程序的維護也能提供很大的幫助 。
什么是面向對象 編程方面的 通俗的說是什么意思
現實世界中任何一個東西都是對象 , 比如人、電腦、火車、汽車 , 面向對象就類似于拿這些對象來組織你的世界(編程) 。
編程里面我對面相過程跟面相對象的概念我的認為 。
理解的太片面了 。走偏了 。
面向對象和面向過程指兩種不同的編程思維方式 。
面向過程就是分析出解決問題所需要的步驟 , 然后用函數把這些步驟一步一步實現 , 使用的時候一個一個依次調用就可以了 。
面向對象是把構成問題事務分解成各個對象 , 建立對象的目的不是為了完成一個步驟 , 而是為了描敘某個事物在整個解決問題的步驟中的行為 。
例如五子棋 , 面向過程的設計思路就是首先分析問題的步驟:1、開始游戲 , 2、黑子先走 , 3、繪制畫面 , 4、判斷輸贏 , 5、輪到白子 , 6、繪制畫面 , 7、判斷輸贏 , 8、返回步驟2 , 9、輸出最后結果 。把上面每個步驟用分別的函數來實現 , 問題就解決了 。
而面向對象的設計則是從另外的思路來解決問題 。整個五子棋可以分為 1、黑白雙方 , 這兩方的行為是一模一樣的 , 2、棋盤系統 , 負責繪制畫面 , 3、規則系統 , 負責判定諸如犯規、輸贏等 。第一類對象(玩家對象)負責接受用戶輸入 , 并告知第二類對象(棋盤對象)棋子布局的變化 , 棋盤對象接收到了棋子的i變化就要負責在屏幕上面顯示出這種變化 , 同時利用第三類對象(規則系統)來對棋局進行判定 。
可以明顯地看出 , 面向對象是以功能來劃分問題 , 而不是步驟 。同樣是繪制棋局 , 這樣的行為在面向過程的設計中分散在了總多步驟中 , 很可能出現不同的繪制版本 , 因為通常設計人員會考慮到實際情況進行各種各樣的簡化 。而面向對象的設計中 , 繪圖只可能在棋盤對象中出現 , 從而保證了繪圖的統一 。
功能上的統一保證了面向對象設計的可擴展性 。比如我要加入悔棋的功能 , 如果要改動面向過程的設計 , 那么從輸入到判斷到顯示這一連串的步驟都要改動 , 甚至步驟之間的循序都要進行大規模調整 。如果是面向對象的話 , 只用改動棋盤對象就行了 , 棋盤系統保存了黑白雙方的棋譜 , 簡單回溯就可以了 , 而顯示和規則判斷則不用顧及 , 同時整個對對象功能的調用順序都沒有變化 , 改動只是局部的 。
再比如我要把這個五子棋游戲改為圍棋游戲 , 如果你是面向過程設計 , 那么五子棋的規則就分布在了你的程序的每一個角落 , 要改動還不如重寫 。但是如果你當初就是面向對象的設計 , 那么你只用改動規則對象就可以了 , 五子棋和圍棋的區別不就是規則嗎?(當然棋盤大小好像也不一樣 , 但是你會覺得這是一個難題嗎?直接在棋盤對象中進行一番小改動就可以了 。)而下棋的大致步驟從面向對象的角度來看沒有任何變化 。
面向過程-->面向對象 這是一種思維的進步
如何使用面相對象編程和c實現:警察抓小偷的任務
如果發熱鐧懼害鍦板浘【什么是面向對象 編程方面的 通俗的說是什么意思?】本數據來源于地圖 , 最終結果以地圖最新數據為準 。

怎么編程才有面相對象的思想
有類 。。。