(一)、基本实践
一、类的概念
一、共同点:
都有相同的属性
都有相同的方法
二、不同点:
具体的值是不一样的
三、总结:他们都是一类的对象
说到类,现在来说说类的概念
1) 类定义
-我们说物以类聚,人以群分,把具有相似特性的对象归类到一个类中
所以我们去看对象的时候,试着去对比他们的属性和方法,如果他们的属性和方法都很相似,我们就可以把他们归到一类
举例:一个NBA球员就是一个类的定义,它规定了只要是一个NBA球员,它就一定会具有:年龄,姓名,身高,体重,所在球队,球员号码
然后他们也会具有相同的技能:
但是问题是,这个类里面有定义具体的身高吗,有具体的姓名吗,有具体的体重吗,都没有,但是如果我们把这些属性都写上去以后,是不是就是成为了具体的一个对象
这就是类和对象的关系,具体点就是,类是相似对象的描述,这个称之为类的定义,类是所有这些相似对象的蓝图或者原型
比如詹姆斯这个对象怎么来的,就是把这个类的属性值设置好就可以了
类的对象就是类的一个实例(Instance)
,这个操作也叫做类的实例化
比如詹姆斯,乔丹,科比都是NBA球员这个类的实例,实例的他们的这个过程就叫做类的实例化
类我们可以了解为,它就是一个空架子,它只是定义了对象怎么分,而对象的话它就定义了,具体的值,必须要把所有的属性值都写具体才行
二、实例化的概念
1) 类的实例化定义
就是通过类创建一个具体的对象,这个过程就是类的实例化,相当于就是把这个空架子填满
举例:比如通过NBA球员这个类我们创建了詹姆斯,科比,乔丹,这其中就是把这个NBA球员类实例了3次
总结:类只有一个,但是它可以被多次实例化,得到多个具体的对象
Tip:具体怎么实现,我们之后会在代码里进行具体的演示
2)类的实例化
2) 举例:以乔丹为例
左边是类,没有数据,右边是乔丹,那么要实例化它怎么实例化呢,就是直接把这些姓名,身高,体重,所在球队,球员号码这些值填写具体,那么乔丹这个对象就实例出来了
Tip:实例化,可以理解为 将类 化作成一个实际的例子
三、具体案例
1) 案例学习目标
1. 如何定义一个类
2. 如何实例化一个类
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(); //总结:通过->符号可以调用对象的方法 ?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。