首頁 php教程 php手册 PHP面向对象编程学习之一

PHP面向对象编程学习之一

Jun 21, 2016 am 08:47 AM
final parent protected self static

继承
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&#39;s weight is ".$myDog->getWeight().&#39;<br/>&#39;;
$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关键字用于访问类自身定义的的静态成员,访问静态属性时需要在属性前面添加‘$’符号。



本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1653
14
CakePHP 教程
1413
52
Laravel 教程
1304
25
PHP教程
1251
29
C# 教程
1224
24
為什麼NameResolutionError(self.host, self, e) from e,怎麼解決 為什麼NameResolutionError(self.host, self, e) from e,怎麼解決 Mar 01, 2024 pm 01:20 PM

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

Java中final、finally、finalize的區別 Java中final、finally、finalize的區別 Feb 19, 2024 pm 12:16 PM

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

在Java中,僅使用final關鍵字可以定義一個常數嗎? 在Java中,僅使用final關鍵字可以定義一個常數嗎? Sep 20, 2023 pm 04:17 PM

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

Python中的self怎麼使用 Python中的self怎麼使用 May 17, 2023 pm 10:40 PM

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

java final關鍵字的作用是什麼 java final關鍵字的作用是什麼 Nov 25, 2022 pm 04:26 PM

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

Java中final物件的創建方式是什麼? Java中final物件的創建方式是什麼? Apr 11, 2024 pm 02:00 PM

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

Java中的最終變數 Java中的最終變數 Sep 24, 2023 pm 08:49 PM

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

如何在Python中存取父類別屬性? 如何在Python中存取父類別屬性? Aug 26, 2023 am 10:17 AM

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

See all articles