本文目錄一覽:
- 1、php實例化
- 2、php怎麼樣實例化數據庫對象
- 3、php幾種排序算法實例詳解
- 4、PHP多態代碼實例
- 5、php類的實例化問題
- 6、php類實例化
php實例化
有幾個書寫錯誤,現在已經訂正!
$arr = $this-GetRecord($SQL);//這不是調用父類中的方法嗎?
我跟你說過,什麼叫繼承,就是說子類擁有父類的所有成員(在可繼承的情況下),你可以通過作用域連接符使用父類成員,也可以通過$this關鍵字(靜態的,私有的不行!!!!!)!!!!!!!
怎樣來認識面向對象編程:
給你舉個例子:
class student{
public $name;
public statics $age;
public function set_name($name){
$this-name=$name;//這是正確的
self::$name=$name;//正確
$name=$name;//這句錯誤
}
public function set_age($age){
$this-age=$age;//錯誤
self::$age=$age;//正確
}
}
//為什麼會這樣呢,也就是說,如果你要在類裏面另外的成員,那麼你就要通過
//$this關鍵字,或者作用域解析符,但是如果是靜態成員,不能使用$this訪問,來引用它,不能像普通的代碼一樣直接使用.
$this-name你可以這樣理解,學生的名字,也就是說$this代表的就是類名
class boy_student extents students{
//這個類擴展自students,也就是說有students類的所有成員,
//當然你也可以添加students沒有的成員
$aadress;
:
:
:
//如果你要應用父類的方法:可以這樣:
parent::set_name(….)
//當然這裡涉及到的東西足足可以寫成一本書,不是說有的父類成員都能子類訪問,有些甚至連繼承都不行,這裡涉及到可見性的問題!
}
*********************************
$this-xxx 實例化來調用的嗎?
*******************************
這不是實例化,什麼叫實例化,就是說,剛才我們定義的是一個抽象的東西,就像學生,他是一個類別;
$zhangshan = new students();
這才是實利化,明白嗎!
php怎麼樣實例化數據庫對象
php 連接數據庫的幾種方式
$con = mysql_connect(服務器,服務器用戶名,服務器密碼默認為「」)
mysql_select_db(數據庫,$con)選擇數據庫
mysql_query($sql,$con);
$con = mysqli_connect(服務器,服務器用戶名,服務器密碼默認為「」,數據庫名)
$query = mysqli_query($conn,$sql);
$conn = new mysqli(服務器,服務器用戶名,服務器密碼默認為「」,數據庫名);
$query = $conn-query($sql);
php幾種排序算法實例詳解
下面給你介紹四種排序方法:
1) 插入排序(Insertion Sort)的基本思想是:
每次將一個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子文件中的適當位置,直到全部記錄插入完成為止。實現代碼如下:
2) 選擇排序(Selection Sort)的基本思想是:
每一趟從待排序的記錄中選出關鍵字最小的記錄,順序放在已排好序的子文件的最後,直到全部記錄排序完畢。實現代碼如下:
3) 冒泡排序的基本思想是:
兩兩比較待排序記錄的關鍵字,發現兩個記錄的次序相反時即進行交換,直到沒有反序的記錄為止。實現代碼如下:
4) 快排也是一個高效的排序算法,它的時間複雜度也是O(nlogn)。原理是:選擇一個基準元素,然後把數組中小於這個元素的元素放在基準元素左邊,大於它的,放在基準元素右邊。然後對這兩邊繼續同樣的操作。代碼如下:
PHP多態代碼實例
這篇文章主要介紹了PHP多態代碼實例,本文用2個代碼實例來演示PHP中的多態,需要的朋友可以參考下
多態定義:只關心一個接口或者基類,而不關心一個對象的具體類。(同一類型,不同結果)
這裡兩個例子:
第一個,我們發現,基類定義了標準,子類進行了自我規則的實現。這是多態的一個要求。同時,這是滿足重寫;實際上這是不同類的不同表現;沒有嚴格滿足一個接口,或者基類編程。因為你調用的時候不是
stu-showGrade()
而是各自自己的方法;
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class
stu{
public
function
showGrade(){
echo
base
class;
}
}
class
xiaomin
extends
stu{
public
function
showGrade(){
echo
is
son
show
80;
}
}
class
xiaoli
extends
stu{
public
function
showGrade(){
echo
is
son
show
60;
}
}
function
doit($obj){
if(get_class($obj)
!=
stu){
$obj-showGrade();
}
}
doit(new
xiaoli());
doit(new
xiaomin());
第二個例子:dovoice
參數規定了$obj
為animal,意識就是用接口
接受了
實現類對象。了向上轉型。這就符合同一類型,不同結果了,這就是多態;
實際上在Java中
會是
animal
a
=
new
dog();這樣子的;因為PHP
是若類型語言。沒有對象轉型機制。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
interface
animal{
public
function
voice();
}
class
cat
implements
animal{
public
function
voice(){
echo
miao~~~br;
}
}
class
dog
implements
animal{
public
function
voice(){
echo
wang
~~~br;
}
}
function
dovoice(animal
$obj){
$obj-voice();
}
dovoice(new
dog());
dovoice(new
cat());
php類的實例化問題
只要是實例化一個類,不論是不是在同一個文件夾下,只要不是在當前腳本聲明的,都是需要include的. 加入一個對象實例化一個不存在的類,這時候機會調用類的一個魔術方法__autoload方法,參數是你要實例化的這個類名,如果你將這個autoload聲明成了一個方法,方法裏面定義如何查找你需要的這個類,在哪裡查找,並且找到了就自動引入,那就不需要你時時刻刻都來引入類文件了
php類實例化
get_navigation(){……} 內,query之前 加一句 global $db;
或者改為
function get_navigation($db){……}
$navigation = get_navigation($db);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/255079.html