面向對象編程指南
⑴ 什麼是面向對象的編程語言啊
面向對象語言(Object-Oriented Language)是一類以對象作為基本程序結構單位的程序設計語言。指用於描述的設計是以對象為核心,而對象是程序運行時刻的基本成分。
其特點如下:
(1)任何事物都是對象。
(2)運行期的基本實體,也是一個包括數據和操作這些數據的代碼的邏輯實體。
(3)每個對象可以有自己的內存空間包含其他對象。
(4)類是具有相同類型的對象的抽象。一個對象所包含的所有數據和代碼可以通過類來構造。
(5)程序由一系列的對象組合,它們通過發送消息告訴彼此做什麼。
(6)封裝是將數據和代碼捆綁到一起,避免了外界的干擾和不確定性。
(7)一個特定類型的所有對象都可以接受同樣的消息。
(8)繼承是讓某個類型的對象獲得另一個類型的對象的特徵。
(9)每一個對象都有類型。
(10)多態是指不同事物具有不同表現形式的能力。
注意事項:
Java是一門面向對象編程語言,具有功能強大和簡單易用兩個特徵。
C語言是面向過程的程序設計語言,與C++,Java等面向對象的編程語言有所不同。
VB是一種面向對象的可視化程序設計語言,採取了事件驅動的編程機制。
(1)面向對象編程指南擴展閱讀:
面向對象編程的優點:
易維護 :可讀性高,由於繼承的存在,即使改變需求,那麼維護也只是在局部模塊。
易擴展 :通過繼承,我們可以大幅減少多餘的代碼,並擴展現有代碼的用途;
模塊化 :封裝可以定義對象的屬性和方法的訪問級別,通過不同的訪問修飾符對外暴露安全的介面,防止內部數據在不安全的情況下被修改。
方便建模:很多時候可以使用現實生活中對象的概念抽象後稍作修改來進行建模,極大方便了建模的過程。
⑵ 面向對象的程序設計語言是一種什麼語言
面向對象程序設計語言是一類以對象作為基本程序結構單位的程序設計語言,指用於描述的設計是以對象為核心,而對象是程序運行時刻的基本成分。
面向對象程序設計語言中提供了類、繼承等成分,有識認性、多態性、類別性和繼承性四個主要特點。
面向對象設計的結果,既可以用面向對象語言實現,也可以用非面向對象語言實現。面向對象程序設計語言本身就支持面向對象概念的實現,其編譯程序可以自動地實現面向對象概念到目標程序的映射。
(2)面向對象編程指南擴展閱讀
面向對象語言刻畫客觀系統較為自然,便於軟體擴充與復用。有四個主要特點:
(1)識認性,系統中的基本構件可識認為一組可識別的離散對象;
(2)類別性,系統具有相同數據結構與行為的所有對象可組成一類;
(3)多態性,對象具有惟一的靜態類型和多個可能的動態類型;
(4)繼承性,在基本層次關系的不同類中共享數據和操作。
參考考資料來源:網路-面向對象語言
參考考資料來源:網路-面向對象程序設計語言
⑶ 如何學習面向對象編程
盡管我們都是從OOP發展而來,事實上,真正的面向對象來自於OOD。沒有OOD的過程,就無法真正的面向對象。
書上那些小例子只不過是在展示「如何OOP」的手段,也就是在告訴大家「面向對象的語言有哪些特點」,而並沒有回答「什麼是面向對象」以及「為什麼要面向對象」。
事實上,這種小程序永遠也不能體現出「為什麼要面向對象」。面向對象與傳統的面向功能與面向數據的開發相比,最大的優勢在於業務邏輯的可重用性。傳統的開發最容易重用的是數據結構和底層代碼,而上面的調用代碼則很難重用,而面向對象則專注於如何另維護了業務邏輯的調用代碼更容易地被其它項目或是後繼項目使用。
同時,面向對象的開發也有利於提高可移植性。我前面說過,傳統的開發成果越是底層的代碼可重用性就越高,但如果牽涉到大量OS相關的內容時——比如GUI,則越是底層的調用就越難以移植,這就形成了一個矛盾。而面向對象的方法解決了調用代碼的可重用性,也就順帶提高了代碼的可移植性。
⑷ 什麼是面向對象的程序設計思想
一種程序設計范型,同時也是一種程序開發的方法。對象指的是類的實例。它將對象作為程序的基本單元,將程序和數據封裝其中,以提高軟體的重用性、靈活性和擴展性。
面向對象程序設計可以看作一種在程序中包含各種獨立而又互相調用的對象的思想,這與傳統的思想剛好相反:傳統的程序設計主張將程序看作一系列函數的集合,或者直接就是一系列對電腦下達的指令。
面向對象程序設計中的每一個對象都應該能夠接受數據、處理數據並將數據傳達給其它對象,因此它們都可以被看作一個小型的「機器」,即對象。
(4)面向對象編程指南擴展閱讀
面向對象程序設計的優點:
1、數據抽象的概念可以在保持外部介面不變的情況下改變內部實現,從而減少甚至避免對外界的干擾。
2、通過繼承大幅減少冗餘的代碼,並可以方便地擴展現有代碼,提高編碼效率,也減低了出錯概率,降低軟體維護的難度。
3、結合面向對象分析、面向對象設計,允許將問題域中的對象直接映射到程序中,減少軟體開發過程中中間環節的轉換過程。
4、通過對對象的辨別、劃分可以將軟體系統分割為若干相對為獨立的部分,在一定程度上更便於控制軟體復雜度。
5、以對象為中心的設計可以幫助開發人員從靜態(屬性)和動態(方法)兩個方面把握問題,從而更好地實現系統。
6、通過對象的聚合、聯合可以在保證封裝與抽象的原則下實現對象在內在結構以及外在功能上的擴充,從而實現對象由低到高的升級。
⑸ 什麼叫做面向對象編程
簡記為OOP)立意於創建軟體重用代碼,具備更好地模擬現實世界環境的能力,這使它被公認為是自上而下編程的優勝者。它通過給程序中加入擴展語句,把函數「封裝」進編程所必需的「對象」中。面向對象的編程語言使得復雜的工作條理清晰、編寫容易。說它是一場革命,不是對對象本身而言,而是對它們處理工作的能力而言。對象並不與傳統程序設計和編程方法兼容,只是部分面向對象反而會使情形更糟。除非整個開發環境都是面向對象的,否則對象產生的好處還沒有帶來的麻煩多。有人可能會說php不是一個真正的面向對象編程的語言, PHP 是一個混合型 語言,你可以使用面向對象編程,也可以使用傳統的過程化編程。然而,對於大型項目的開發,你可能想需要在PHP中使用純的面向對象編程去聲明類,而且在你的項目開發只用對象和類。隨著項目越來越大,使用面向對象編程可能會有幫助,面向對象編程代碼很容易維護,容易理解和重復使用,這些就是軟體工程的基礎。在基於Web的項目中應用這些概念就成為將來網站成功的關鍵。
對象(Object)是問題域或實現域中某些事物的一個抽象,它反映此事物在系統中需要保存的信息和發揮的作用;它是一組屬性和有權對這些屬性進行操作的一組服務的封裝體。 關於對象要從兩方面理解:一方面指系統所要處理的現實世界中的對象;另一方面對象是計算機不直接處理的對象,而是處理相應的計算機表示,這種計算機表示也稱為對象。簡單的來說,一個人就是一個對象,一個尺子也可以說是個對象。當這些對象可以用數據直接表示時,我們就稱他為屬性,尺子的度量單位可以是厘米,公尺或英尺,這個度量單位就是尺子的屬性。
在PHP里我們可以定義一個類,類(Class)就是指變數與一些使用這些變數的函數的集合。PHP是一種鬆散類型的語言,所以通過類型重載不起作用,通過參數的個數不同來重載也不起作用。 有時在面向中重載構造函數非常好,這樣你可以通過不同的方法創建對象(傳遞不同數量的參數)。在PHP中就是通過類來實現的。
在PHP中是通過類來完成信息封裝的,在PHP中定義類的語法是:
<?php
class Class_name // 在面向對象編程類中,習慣上類的第一個字元為大寫,並且必須符合變數的命名規則。
{
//函數與變數的集合
}
?>
在定義類時你可以按自已的喜好的格式進行定義,但最好能保持一種標准,這樣開發起來會更有效些。
數據成員在類中使用"var"聲明來定義,在給數據成員賦值之前,它們是沒有類型的。一個數據成員可以是一個整數,一個數組,一個相關數組(Associative Array)或者是一個對象。
下面是一個類定義的實際例子:
<?php
class Student
{
var $str_Name; //姓名
var $str_Sex; //性別
var $int_Id; //學號
var $int_English; //英語成績
var $int_maths; //數學成績
}
?>
這是一個很普通定義類的簡單例子,用於顯示學生的學習成績,類名為Student,Student類包涵了一個學生的基本屬性:姓名、性別、學號、英語成績和數學成績。
function我們稱之為在類中被定義的函數,在函數中訪問類成員變數時,你應該使用$this->var_name,其中var_name指的是類中被聲明的變數,否則對一個函數來說,它只能是局部變數。 我們先定義一個Input()的函數,用來給實例中的對象賦以初值:
function Input ( $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()」的函數,用於列印學生的基本情況:
function ShowInfo() //定義ShowInfo()函數
{
echo (「姓名:$this->str_Name<br>
」);
echo (「性別:$this->str_Sex <br>
」);
echo (「學號:$this->int_Id <br>
」);
echo (「英語成績:$this->int_English <br>
」);
echo (「數學成績:$this->int_Maths <br>
」);
}
而定義好的類則必須使用new關鍵詞來生成對象:
$A_student=new Student;
例如我們要為一個名為$Wing的對象創建實例,並進行賦值,可以使用下面的代碼:
$Wing =new Student; //用new關鍵詞來生成對象
$Wing ->Input (「Wing」,」男」,33,95,87);
//分別輸入Wing的姓名、性別、學號、英語成績、數學成績,其中姓名和性別是字元型變數,所以需要用雙引號,其它為數值型變數則不需要。
通過下面這段完整的源代碼,我們就可以很清楚的看到類在PHP是怎麼被運用的:
<?php
class Student
{
var $str_Name;
var $str_Sex;
var $int_Id;
var $int_English;
var $int_maths;
function Input ( $Name, $Sex, $Id, $English, $Maths)
{
$this->str_Name=$Name;
$this->str_Sex =$Sex;
$this->int_Id =$Id;
$this->int_English=$English;
$this->int_Maths=$Maths;
}
function ShowInfo()
{
echo (「姓名:$this->str_Name<br>
」);
echo (「性別:$this->str_Sex <br>
」);
echo (「學號:$this->int_Id <br>
」);
echo (「英語成績:$this->int_English <br>
」);
echo (「數學成績:$this->int_Maths <br>
」);
}
}
$Wing = new Student;
$Wing->Input (「Wing」,」男」,33,95,87);
$Paladin = new Student;
$Paladin->Input (「paladin」,」女」,38,58,59.5);
$Wing->ShowInfo();
$Paladin->ShowInfo();