余志刚php学习笔记之php面向对象学习.docx

上传人:b****7 文档编号:9220307 上传时间:2023-02-03 格式:DOCX 页数:18 大小:17.50KB
下载 相关 举报
余志刚php学习笔记之php面向对象学习.docx_第1页
第1页 / 共18页
余志刚php学习笔记之php面向对象学习.docx_第2页
第2页 / 共18页
余志刚php学习笔记之php面向对象学习.docx_第3页
第3页 / 共18页
余志刚php学习笔记之php面向对象学习.docx_第4页
第4页 / 共18页
余志刚php学习笔记之php面向对象学习.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

余志刚php学习笔记之php面向对象学习.docx

《余志刚php学习笔记之php面向对象学习.docx》由会员分享,可在线阅读,更多相关《余志刚php学习笔记之php面向对象学习.docx(18页珍藏版)》请在冰豆网上搜索。

余志刚php学习笔记之php面向对象学习.docx

余志刚php学习笔记之php面向对象学习

余志刚php学习笔记之面向对象

面向对象之一

php

/*

*Createdon2012-3-8上午09:

44:

38

*AuthorbyYUZhigang

*

*今天学习的是面向对象

*/

classmypc{

public$key;

public$name;

functiondispaly(){

echo"我爱杨丹";

}

}

$pc1=newmypc();

$pc1->key='我爱php';//赋值,注意没$

echo$pc1->key;

$pc1->dispaly();

?

>

面向对象之二

php

/*php学习

*Createdon2012-3-8上午09:

51:

56

*AuthorbyYUZhigang

*

*今天学习的是

*1、创建一个和多个对象

2、对象中的$this关键字

3、初始化对象__construct()

4、析构函数__destruct()

*/

classmypc{

public$name;//可以用var

public$type;

functionvod(){

return'playfilm';

}

functiongame(){

return$this->name.'playgame';

}

functioninternet(){

return$this->game().'serfingonline';

}

}

$pc1=newmypc;

$pc2=newmypc;

$pc1->name='homecomputer';

$pc2->name='companycomputer';

echo$pc1->name.$pc1->vod()."
";//不用this就这样调用,很麻烦

echo$pc1->game()."
";

echo$pc2->internet()."
";

?

>

面向对象之三

php

/*php学习

*Createdon2012-3-8上午10:

19:

14

*AuthorbyYUZhigang

*

*今天学习的是

*3、初始化对象__construct()

4、析构函数__destruct()

*/

classmypc{

public$name;//可以用var

public$type;

function__construct($name='',$type=''){//初始化对象

$this->name=$name;

$this->type=$type;

}

functionvod(){

return'playfilm';

}

functiongame(){

return$this->name.'playgame';

}

functioninternet(){

return$this->game().'serfingonline';

}

function__destruct(){//后进先出的原则

echo"
=========".$this->name;

}

}

$pc1=newmypc('homecomputer','table');//给函数赋值

$pc2=newmypc('companycomputer','laptop');

echo$pc1->game()."
";

echo$pc2->game()."
";

?

>

面向对象之四

php

/*

*Createdon2012-3-8上午10:

43:

30

*AuthorbyYUZhigang

*

*今天学习的是析构函数__destruct()

*/

classconn{

public$hostname;

public$username;

public$userpwd;

public$conn;

publicfunction__construct($x,$y,$z){//应用构造函数对类体中的属性进行初始化

$this->hostname=$x;

$this->username=$y;

$this->userpwd=$z;

}

publicfunctiongetConn(){//建立与数据库的连接

$this->conn=mysql_connect($this->hostname,$this->username,$this->userpwd);

return$this->conn;

}

publicfunction__destruct(){//应用析构函数自动释放连接资源

mysql_close($this->conn);

}

}

/*

*析构函数是在对象销毁时调用的代码。

当这个对象用完之后,会自动执行这个函数中的语句。

把数据库关闭的代码放在这里。

就是在对象被销毁的时候顺便把数据库连接关闭了。

*/

?

>

面向对象之五

php

/*

*Createdon2012-3-8上午10:

49:

31

*AuthorbyYUZhigang

*

*今天学习的是publicprotectedprivate

*public表示全局,类内部外部子类都可以访问;

protected表示受保护的,只有本类或继承类或父类中可以访问;

private表示私有的,只有本类内部可以使用;

*/

classmypc{

private$name;//可以用var

function__construct($name=''){//初始化对象

return$this->name=$name;

}

function__get($name){//有这里后面才可以访问private

return$this->name."=======";

}

function__set($n,$v){//有这里后面才可以修改private

$this->$n=$v;

}

privatefunctionpower(){

echo$this->name."正在开机......";

}php学习

functionok(){

echo$this->name."开机完成"."
";

}

}

$pc1=newmypc("我的电脑");

echo$pc1->name;//上面__get起作用

$pc1->name="ok";//上面__set起作用

echo$pc1->name;

?

>

面向对象之六

php

/*

*Createdon2012-3-8下午12:

32:

57

*AuthorbyYUZhigang

*

*今天学习的是方法名一样可以用:

:

处理

*protected属性

*protected表示受保护的,只有本类或继承类或父类中可以访问

*/

classfather{

protectedfunctionblood(){//protected属性

return"bloodtypeA"."
";

}

}

classsonextendsfather{

functionblood(){

returnfather:

:

blood()."bloodtypeAB";//同名的方法名要用:

:

,不然出现错误

}

}

$my=newson();

echo$my->blood();//有protected属性就在继承类中可以访问

echo"
---------
";

$you=newfather();

echo$you->blood();//有protected属性就访问不到

 

?

>

面向对象之七

php

/*

*Createdon2012-3-8下午12:

20:

07

*AuthorbyYUZhigang

*

*今天学习的是继承extends

*/

classfather{

functionbloodfather(){

return"bloodtypeA"."
";

}

}

classsonextendsfather{

functionbloodson(){

return$this->bloodfather()."bloodtypeAB";

}

}

$my=newson();

echo$my->bloodfather();

echo"
---------
";

echo$my->bloodson();

?

>

面向对象之八

php

/*

*Createdon2012-3-8下午12:

53:

11

*AuthorbyYUZhigang

*

*今天学习的是抽象类abstract

*抽象类的特点:

*1.不能实例化,但可以被继承

*2.继承类中要把所有的抽象方法重载才可以实例化

*/

abstractclassmypc{

abstractfunctionfun1();

abstractfunctionfun2();

abstractfunctionfun3();

functionok(){

}

}

classpc1extendsmypc{//上面的抽象方法必须全部重载

functionfun1(){

echo"第一个";

}

functionfun2(){

echo"第二个";

}

functionfun3(){

echo"第三个";

}

}

$pc=newpc1();

$pc->fun2();

?

>

面向对象之九

php

/*

*Createdon2012-3-8下午01:

13:

10

*AuthorbyYUZhigang

*

*今天学习的是

*fianl锁的作用

*当定义为类时,该类不可以被继承

*当定义为方法是,该方法不可以被重载

*self

*self:

:

类内部成员或者

*类名:

:

类内部成员

*static

*const常量

*/

classmypc{

constNAME="我的电脑";//当声明为常量

functionpower(){

echoself:

:

NAME."开机中.....";//在自己类中调用常量,这里还可以用mypc

}

}

classnewpcextendsmypc{

functionpower1(){

echomypc:

:

NAME."loading.....";//在继承类中调用

}

}

$pc1=newmypc();

$pc1->power();

echo"
";

$pc2=newnewpc();

$pc2->power1();

?

>

面向对象之十

php

/*

*Createdon2012-3-8下午01:

13:

10

*AuthorbyYUZhigang

*

*今天学习的是

*fianl锁的作用

*当定义为类时,该类不可以被继承

*当定义为方法是,该方法不可以被重载

*/

classmypc{//当在类前加final,则该类不可被继承

public$name;

functionpower(){//当定义在方法前加final,该方法不可以被重载

echo"开机中.....";

}

}

classnewpcextendsmypc{

functionpower(){

echo"loading.....";

}

}

$pc=newnewpc();

$pc->power();

?

>

面向对象之十一

php

/*

*Createdon2012-3-9上午04:

20:

56

*AuthorbyYUZhigang

*

*今天学习的是static

*static声明静态属性

*/

classmypc{//当在类前加final,则该类不可被继承

static$name="我的电脑";//当声明为静态属性时,下面要用self调用,$this不可用

functionpower(){

echoself:

:

$name."开机中.....";//这里还可以用mypc,本类中调用

}

}

classnewpcextendsmypc{

functionpower(){

echo"loading.....";

echomypc:

:

$name;//在继承类中调用,中能用mypc:

:

$name,不可用self

}

}

$pc1=newnewpc();

$pc1->power();

echo"
";

mypc:

:

$name="你的手机";//重新赋值,赋值后在它自己类中和继承类中的值一起改变

$pc1->power();

?

>

面向对象之十一

php

/*

*Createdon2012-3-9上午04:

47:

34

*AuthorbyYUZhigang

*

*今天学习的是接口

*关键字interface创建

*implements接口引用

*

*/

interfacedemo1{

constNAME='名称';//必须为常量

functionfun1();//必须全部为抽象方法,且不用abstract

functionfun2();

}php学习

interfacedemo2{

functionfun3();

functionfun4();

}

interfacedemo3{

constPLAY="播放";

functiongame();

}

//接口多引用

classmypcimplementsdemo1,demo2{//单继承多引用

functionfun1(){

echo"_________";

}

functionfun2(){

echo"########";

}

functionfun3(){

echo"111111111";

}

functionfun4(){

echo"222222222";

}

}

//单继承

classnewpcextendsmypcimplementsdemo3{//继承mypc,且引用接口demo3

functiongame(){

echo"玩游戏
";

}

}

$p=newmypc();

$p->fun2();

echomypc:

:

NAME;

echo"
--------------------
";

$pc=newnewpc();

$pc->game();

echonewpc:

:

PLAY;

?

>

面向对象之十二

php

/*

*Createdon2012-3-9上午05:

35:

22

*AuthorbyYUZhigang

*

*今天学习的是

*/

interfacemyusb{

functiontype();

functionalert();

}

classupanimplementsmyusb{

functiontype(){

echo"2.0";

}

functionalert(){

echo"正在检查U盘驱动.......";

}

}

classmp3implementsmyusb{

functiontype(){

echo"3.0";

}

functionalert(){

echo"正在检查MP3驱动.......";

}

}

classmypc{

functionpcusb($what){

$what->type()."
";

$what->alert();

}

}

$pc=newmypc();

$where=newmp3();

$pc->pcusb($where);

 

?

>

面向对象之十三

php

/*

*Createdon2012-3-9上午05:

28:

15

*AuthorbyYUZhigang

*

*今天学习的是instanceof多态

*/

classA{}

classB{}

$where=newB;

if($whereinstanceofA){//判断来自哪个类

echo"ComefromclassA";

}

if($whereinstanceofB){

echo"ComefromclassB";

}

?

>

php学习

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1