登录  /  注册

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

易达
发布: 2020-05-21 17:44:44
原创
1730人浏览过

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

(一)、基本实践

一、类的概念

548e5a3539c95154da88ba2d6bc8168.png

一、共同点:

都有相同的属性

都有相同的方法

二、不同点:

具体的值是不一样的

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

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

1)   类定义

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

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

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

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

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

72dd83a9bfa96ca7399325986ea571e.png

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

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

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

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

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

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

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

二、实例化的概念

1)    类的实例化定义

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

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

114579ede39441be89ebff8ee5c2f4e.png

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

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

2)类的实例化

2) 举例:以乔丹为例

776672fd14c2a56bb5c54afb70e9003.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 "跑步<br/>";
    }
    //定义跳跃方法
    public function jump(){
        echo "跳跃<br/>";
    }
    //定义运球方法
    public function dribble(){
        echo "运球<br/>";
    }
    //定义投篮的方法
    public function shoot(){
        echo "投篮<br/>";
    }
    //定义扣篮方法
    public function dunk(){
        echo "扣篮<br/>";
    }
    //定义传球
    public function pass(){
        echo "传球<br/>";
    }
} 
//类到对象的实例化
/*总结:
    1、类的实例化过程= 通过new 类名() 即可完成一个类的实例化过程
*/
//1.创建乔丹
$jordan = new NbaPlayer();//类的实例化
//类赋值
$jordan->name = "乔丹";
$jordan->height = "1.98米";
$jordan->weight = "98公斤";
$jordan->team = "公牛";
$jordan->playerName = "23";
//输出对象值
print_r("乔丹名称:".$jordan->name."<br/>");
print_r("乔丹身高:".$jordan->height."<br/>");
//总结:通过->可以调用对象里的属性
echo "<br/>";
//输出对象方法
$jordan->dribble();
$jordan->pass();
//总结:通过->符号可以调用对象的方法
?>
登录后复制

以上就是PHP中的面向对象实践-基本实践案例的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号