PHP面向对象编程学习之一
继承
1、父类里面定义的类成员可以不用在子类中重复定义,节约了编程时间和代价
2、同一个父类的子类拥有相同的父类定义的类成员,因此外部代码调用他们的时候可以一视同仁。
3、子类可以修改和调整父类定义的类成员
<?php class Animal { private $weight; public function getWeight() { return $this->weight; } public function setWeight($w) { $this->weight = $w; } } class Dog extends Animal { /** *子类新增方法 */ public function Bark() { echo "Wang~~Wang~~~ "; } } $myDog = new Dog(); $myDog->setWeight(20); echo "Mydog's weight is ".$myDog->getWeight().'<br/>'; $myDog->Bark(); ?>
1、面向对象的三种权限
(1)public:共有的类成员,可以在任课地方访问
(2)protected:受保护的类成员,可以被其自身以及其子类访问
(3)private:私有的类成员,只能被自身访问。
静态关键词(static)
1、静态属性用于保存类的共有数据
2、静态方法里面只能访问静态属性
3、静态成员不需要实例化对象就可以访问
4、类的内部可以通过self或者是static关键词访问自身静态成员
5、通过parent关键字可以访问父类的静态成员
6、可以通过类的名称在类定义外部访问静态成员
final成员
1、对于不想被任何类继承的类可以在class之前添加final关键字
2、对于不想被子类重写的方法,可以在方法定义的前面添加final关键字
数据访问
1、parent关键词可以用于访问父类中被子类重写的方法
2、self关键字可以访问类自身的成员方法,也可以用于访问自身的静态成员和类常量;不能用于访问类自身的属性;使用常量的时候不需要再常量名称前面添加'$'符号
3、static关键字用于访问类自身定义的的静态成员,访问静态属性时需要在属性前面添加‘$’符号。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

報錯的原因NameResolutionError(self.host,self,e)frome是由urllib3函式庫中的例外類型,這個錯誤的原因是DNS解析失敗,也就是說,試圖解析的主機名稱或IP位址無法找到。這可能是由於輸入的URL位址不正確,或DNS伺服器暫時無法使用所導致的。如何解決解決此錯誤的方法可能有以下幾種:檢查輸入的URL地址是否正確,確保它是可訪問的確保DNS伺服器可用,您可以嘗試在命令行中使用"ping"命令來測試DNS伺服器是否可用嘗試使用IP位址而不是主機名稱來存取網站如果是在代理

Java中final、finally、finalize的區別,需要具體程式碼範例在Java程式設計中,經常會遇到final、finally、finalize這三個關鍵字,它們雖然拼字相似,但卻有不同的意思和用法。本文將詳細解釋這三個關鍵字的區別,同時給出程式碼範例以幫助讀者更好地理解。一、final關鍵字final關鍵字可以用於類別、方法和變數。它的作用是使被修飾的類

常量變數是其值固定且程式中只存在一個副本的變數。一旦你聲明了一個常數變數並給它賦值,你就不能在整個程式中再次改變它的值。與其他語言不同,Java不直接支援常數。但是,你仍然可以透過宣告一個變數為靜態和final來創建一個常數。靜態-一旦你聲明了一個靜態變量,它們將在編譯時加載到內存中,即只有一個副本可用。 Final-一旦你宣告了一個final變量,就不能再修改它的值。因此,你可以透過將實例變數宣告為靜態和final來在Java中創建一個常數。範例 示範classData{&am

在介紹Python的self用法之前,先來介紹下Python中的類別和實例我們知道,物件導向最重要的概念就是類別(class)和實例(instance),類別是抽象的模板,例如學生這個抽象的事物,可以用一個Student類別來表示。而實例是根據類別創建出來的一個個具體的“物件”,每個物件都從類別中繼承有相同的方法,但各自的資料可能不同。 1.以Student類別為例,在Python中,定義類別如下:classStudent(object):pass(Object)表示該類別從哪個類別繼承下來的,Object類別是所有

在java中,final可以用來修飾類別、方法和變數。 final修飾類,表示該類是無法被任何其他類繼承的,意味著此類在一個繼承樹中是一個葉子類,並且此類的設計已被認為很完美而不需要進行修改或擴展。 final修飾類別中的方法,表示該類別是無法被任何其他類別繼承的,不可以被重寫;也就是把該方法鎖定了,以防止繼承類別對其進行更改。 final修飾類別中的變量,表示該變數一旦被初始化就不可改變。

Java中建立final物件有兩種方法:宣告final變數或使用final修飾符宣告類別。宣告final變數時,物件透過初始化器建立;宣告final類別時,該類別實例不可變。重要的是,final物件的引用仍然可以改變,但它們指向的物件不可變。

最終變數只能明確初始化一次。宣告為Final的引用變數永遠不能重新指派以引用不同的物件。但是,物件內的資料是可以更改的。因此,物件的狀態可以更改,但引用不能更改。對於變量,final修飾符通常與static一起使用以使常數成為類別變量。範例publicclassTest{ finalintvalue=10; //Thefollowingareexamplesofdeclaringconstants: &a

在物件導向程式設計中,繼承允許我們創建繼承現有類別的屬性和方法的新類別。這個強大的概念可以在我們的程式中實現程式碼重複使用、模組化和可擴展性。在深入研究存取父類別屬性之前,讓我們先了解一下
