php面向对象实践,PHP中的面向对象实践-基本实践案例

PHP中的面向对象实践-基本实践

(一)、基本实践

一、类的概念

5aea447d5a35446d23d1768b0038f384.png

一、共同点:

都有相同的属性

都有相同的方法

二、不同点:

具体的值是不一样的

三、总结:他们都是一类的对象

说到类,现在来说说类的概念

1) 类定义

-我们说物以类聚,人以群分,把具有相似特性的对象归类到一个类中

所以我们去看对象的时候,试着去对比他们的属性和方法,如果他们的属性和方法都很相似,我们就可以把他们归到一类

-类定义了这些相似的对象都拥有相同的属性和方法

举例:一个NBA球员就是一个类的定义,它规定了只要是一个NBA球员,它就一定会具有:年龄,姓名,身高,体重,所在球队,球员号码

然后他们也会具有相同的技能:

7b134a25140ef67768b3a3586d6fa6fc.png

但是问题是,这个类里面有定义具体的身高吗,有具体的姓名吗,有具体的体重吗,都没有,但是如果我们把这些属性都写上去以后,是不是就是成为了具体的一个对象

这就是类和对象的关系,具体点就是,类是相似对象的描述,这个称之为类的定义,类是所有这些相似对象的蓝图或者原型

比如詹姆斯这个对象怎么来的,就是把这个类的属性值设置好就可以了

类的对象就是类的一个实例(Instance),这个操作也叫做类的实例化

比如詹姆斯,乔丹,科比都是NBA球员这个类的实例,实例的他们的这个过程就叫做类的实例化

类我们可以了解为,它就是一个空架子,它只是定义了对象怎么分,而对象的话它就定义了,具体的值,必须要把所有的属性值都写具体才行

补充一个概念:我们把类的对象和方法都统称为类成员

二、实例化的概念

1) 类的实例化定义

就是通过类创建一个具体的对象,这个过程就是类的实例化,相当于就是把这个空架子填满

举例:比如通过NBA球员这个类我们创建了詹姆斯,科比,乔丹,这其中就是把这个NBA球员类实例了3次

924bd7b9a9a7f94b24f82c309316b83b.png

总结:类只有一个,但是它可以被多次实例化,得到多个具体的对象

Tip:具体怎么实现,我们之后会在代码里进行具体的演示

2)类的实例化

2) 举例:以乔丹为例

252cb47c672131ab68c89265350bfd62.png

左边是类,没有数据,右边是乔丹,那么要实例化它怎么实例化呢,就是直接把这些姓名,身高,体重,所在球队,球员号码这些值填写具体,那么乔丹这个对象就实例出来了

Tip:实例化,可以理解为 将类 化作成一个实际的例子

三、具体案例

1) 案例学习目标

1. 如何定义一个类

2. 如何实例化一个类

3. 如何调用类的属性和方法

2) 具体见以下代码<?php

/***

* 案例目标:

* 1.类的定义

* 2.类的实例化

* 3.属性的赋值

* 4.方法的调用

*

*/

/***定义一个类,类的名字叫NbaPlayer(中文=NBA球员)

* 提示:

* 1.定义类的过程:我们首先以class开始,然后写上类 名称:NbaPlayer,最后要写上一对{}

* 2.类的名字通常首字母要大写

* 3

*

***/

class NbaPlayer{

//定义属性

public $name = "";

public $height = "";

public $weight = "";

public $team = "";

public $playerName = "";

//定义方法

//定义跑的方法

//提示:

//方法定义的过程:

//1.写上方法的类型,public,表示公共的方法,可以被外部直接调用

//2.写上function

//3.定义方法的名称,然后写上一对(),最后{}结尾

//总结:

//方法定义和之前js中函数的定义是一样的,只是类中的方法多了一个public

public function run(){

//里面的代码我们称之为业务逻辑

echo "跑步
";

}

//定义跳跃方法

public function jump(){

echo "跳跃
";

}

//定义运球方法

public function dribble(){

echo "运球
";

}

//定义投篮的方法

public function shoot(){

echo "投篮
";

}

//定义扣篮方法

public function dunk(){

echo "扣篮
";

}

//定义传球

public function pass(){

echo "传球
";

}

}

//类到对象的实例化

/*总结:

1、类的实例化过程= 通过new 类名() 即可完成一个类的实例化过程

*/

//1.创建乔丹

$jordan = new NbaPlayer();//类的实例化

//类赋值

$jordan->name = "乔丹";

$jordan->height = "1.98米";

$jordan->weight = "98公斤";

$jordan->team = "公牛";

$jordan->playerName = "23";

//输出对象值

print_r("乔丹名称:".$jordan->name."
");

print_r("乔丹身高:".$jordan->height."
");

//总结:通过->可以调用对象里的属性

echo "
";

//输出对象方法

$jordan->dribble();

$jordan->pass();

//总结:通过->符号可以调用对象的方法

?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值