認識面向對象-PHP8知識詳解
導讀:面向對象編程,也叫面向對象程序設計,是在面向過程程序設計的基礎上發(fā)展而來的,它比面向過程編程具有更強的靈活性和擴展性。 它用類、對象、關系、屬性等一系列東西來提高編程的效率,其主要的特性是可封裝性、可繼承性和多態(tài)性。
永久美國免備案虛擬主機1元1天,15元1月,100元1年,1000元永久
站長在線旗下答案網(wǎng)站,全站所有題目,免費查看答案和答案解析
面向對象編程,也叫面向對象程序設計,是在面向過程程序設計的基礎上發(fā)展而來的,它比面向過程編程具有更強的靈活性和擴展性。
它用類、對象、關系、屬性等一系列東西來提高編程的效率,其主要的特性是可封裝性、可繼承性和多態(tài)性。
面向對象編程的主要好處就是吧編程的重心從處理過程轉移到對現(xiàn)實世界實體的表達。這十分符合人們的正常思維方法。
1、什么是類?
將具有相同屬性及相同行為的一組對象稱為類(class)。
廣義地講,具有共同性質(zhì)的事物的集合稱為類。在面向對象程序設計中,類是一個獨立的單位,它有一個類名,其內(nèi)部包括成員變量和成員方法,分別用于描述對象的屬性和行為。
類是一個抽象的概念,要利用類的方式來解決問題,必須先用類創(chuàng)建一個實例化的對象,然后通過對象訪問類的成員變量及調(diào)用類的成員方法,來實現(xiàn)程序的功能。就如同“手機”本身是一個抽象的概念,只有使用了一個具體的手機,才能感受到手機的功能。
類(class)是由使用封裝的數(shù)據(jù)及操作這些數(shù)據(jù)的接口函數(shù)組成的一群對象的集合。類可以說是創(chuàng)建對象時所使用的模板。
2、什么是對象?
對象(object)是面向對象技術的核心??梢园盐覀兩畹恼鎸嵤澜缈闯墒怯稍S多大小不同的對象所組成。對象是指現(xiàn)實世界中的對象在計算機中的抽象表示,即仿照現(xiàn)實對象而建立的。例如,人和手機可以看成兩個不同的對象。
對象是類的實例化。對象有靜態(tài)特征和動態(tài)特征。靜態(tài)特征指對象的外觀、性質(zhì)、屬性等,動態(tài)特征指對象具有的功能、行為等。客觀事物是錯綜復雜的,人們總是習慣從某一目的出發(fā),運用抽象分析的能力從眾多特征中抽取具有代表性、能反映對象本質(zhì)的若干特征加以詳細研究。
人們將對象的靜態(tài)特征抽象為屬性,用數(shù)據(jù)來描述,在 PHP 語言中稱為變量。將對象的動態(tài)特征抽象為行為,用一組代碼來表示,完成對數(shù)據(jù)的操作,在PHP語言中稱為方法(method)。一個對象由一組屬性和一系列對屬性進行操作的方法構成。
3、面向對象中的對象是什么?
面向對象的對象(Object),通常是指客觀世界中的真實存在的事物,實物,實象。每一個對象都具有唯一性,都有自己的運動規(guī)律和運動狀態(tài)。對象之間相互聯(lián)系相互作用。另外,對象也可以是一個抽象的事物。
通常情況下,我們把對象分為兩個部分:靜態(tài)部分和動態(tài)部分。其中靜態(tài)部分我們稱為“屬性”,任何的對象都有自己的屬性,是客觀存在的,如人的性別高矮胖瘦等屬性;動態(tài)部分是指對象的行為,如人的走路,吃飯,睡覺等可以執(zhí)行的動作行為。
如,把人比做人類,那么人類就有了頭,頸,軀干,四肢等屬性,吃飯,睡覺,走路,碼字等行為,而一個正在碼字的程序員被視為人類的一個對象,人類和人類對象的關系示意圖如下:
在計算機語言中也存在對象,可以定義為相關變量和方法的軟件集。對象主要由下面兩部分組成。
(1)一組包含各種類型數(shù)據(jù)的屬性。
(2)對屬性中的數(shù)據(jù)進行操作的相關方法。面向對象中常用的技術術語及其含義如下。
A、類(Class):用來描述具有相同屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。
B、類變量:類變量在整個實例化的對象中是公用的。類變量定義在類中且在函數(shù)體之外。類變量通常不作為實例變量使用。
C、數(shù)據(jù)成員:類變量或實例變量用于處理類及其實例對象的相關數(shù)據(jù)。
D、方法重寫:如果從父類繼承的方法不能滿足子類的需求,那么可以對其進行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫。
E、實例變量:定義在方法中的變量只作用于當前實例的類。
F、繼承:即一個派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個派生類的對象作為一個基類對象對待。
G、實例化:創(chuàng)建一個類的實例,即類的具體對象。(8)方法:類中定義的函數(shù)。
H、對象:通過類定義的數(shù)據(jù)結構實例。對象包括兩個數(shù)據(jù)成員(類變量和實例變量)和方法。
4、面向對象編程的特點
OOP 是面向對象編程(Object-Oriented Programming)的縮寫。對象(Object)在OOP 中是由屬性和操作組成的。屬性(Attribute)是對象的特性或是與對象關聯(lián)的變量。操作(Operation)是對象中的方法(Method)或函數(shù)(Function)。
由于OOP中最為重要的特性之一就是可封裝性,所以對 Object 內(nèi)部數(shù)據(jù)的訪問,只能通過對象的“操作”來完成,這也被稱為對象的“接口”(interfaces)。
因為類是對象的模板,所以類描述了對象的屬性和方法。另外,面向對象編程具有3大特點。
1.封裝性
將類的使用和實現(xiàn)分開管理,只保留類的接口,這樣開發(fā)人員就不用知道類的實現(xiàn)過程,只需要知道如何使用類即可,從而提高了開發(fā)效率。
2.繼承性
繼承是面向對象軟件技術中的一個概念。如果一個類A繼承自另一個類B,就把這個 A稱為“B的子類”,而把B稱為“A的父類”。繼承可以使得子類具有父類的各種屬性和方法,而不需要再次編寫相同的代碼。在子類繼承父類的同時,可以重新定義某些屬性,并重寫某些方法,即覆蓋父類的原有屬性和方法,從而獲得與父類不同的功能。另外,還可以為子類追加新的屬性和方法。繼承可以實現(xiàn)代碼的可重用性,簡化了對象和類的創(chuàng)建過程。另外,PHP支持單繼承,也就是一個子類只能有一個父類。
3、多態(tài)性
多態(tài)是面向對象程序設計的主要特征之一,是擴展性在繼承之后的又一重大表現(xiàn)。
同一操作作用于不同類的實例,將產(chǎn)生不同的執(zhí)行效果,即不同類的對象收到相同的消息時,將得到不同的結果。
本文地址:http://003188.cn/renshimianxiangduixiang.html
阿里云虛擬主機1G空間,120元一年
香港、美國虛擬主機100元一年,1000元永久
騰訊云雙十一0.4折起,2核8G5M三年僅700元,2核4G8M三年僅198元
猜你喜歡