脐守睫段吝矫驰培贪触康厢狄
新建目录14 在14下新建类GirlFriend1.php
要求:
1.类声明代码应该单独创建一个php文件
2.类名必须要与类文件名一致
3.必须使用命名空间(暂未学到,后面再说)
当前类共有5个成员:3个属性,二个方法
属性就是类中声明的变量,命名规则与普通变量完全一致
方法就是类中声明的函数,与普通函数的命名与使用规则完全一样
由于定义在类中,所以与普通变量与函数相比,有一些特殊地方,例如访问控制
类成员访问控制,也叫外部可见性,目前不限制外部访问,统一设置为public(默认)
代码:
<?php class GirlFriend1 { //类成员:属性和方法 //类属性的初始化必须使用标量的字面量,数组也行,不能使用变量,表达式,对象 //类属性:$name 姓名 public $name="冰冰姐"; //类属性: 年龄 public $age=18; // public $age2=18+10;错误,不能使用表达式 // public $age2=$value;错误,不能使用变量 // public $age2=new Object;错误,不能使用对象 //类属性: 身材三维stature['stætʃə]: 胸,腰,臀 public $stature=[90,80,90]; //类方法类似于函数 //类方法: getInfo() 获取女友姓名和年龄 public function getInfo($name='',$age=0) { //对象属性的初始化,引用类成员使用伪变量$this:当前类的实例对象 //->:对象访问符,指向符 // $name=''错误,属性的初始化要用$this $this->name=empty($name)?$this->name:$name; $this->age=($age==0)?$this->age:$age; //返回当前对象的name与age属性值 return "姓名:".$this->name." 年龄:".$this->age."<br>"; } //类方法: getStature() 获取女友身材信息 public function getStature($stature=[]) { //对象属性初始化 $this->stature=empty($stature)?$this->stature:$stature; return "胸围:".$this->stature[0]." 腰围:".$this->stature[1]." 臀围:".$this->stature[2]."<br>"; } }
新建demo1.php
实现:
1.对象的创建
2.对象成员(属性)的初始化
3.对象成员的访问
代码:
<?php //导入类Girlfriend require "./class/GirlFriend1.php"; //访问类中声明的成员,必须先创建类的实例,即对象 $girlfriend1=new GirlFriend1(); var_dump($girlfriend1);
执行:
访问属性,修改demo.php
<?php //导入类Girlfriend require "./class/GirlFriend1.php"; //访问类中声明的成员,必须先创建类的实例,即对象 $girlfriend1=new GirlFriend1(); //var_dump($girlfriend1); //对象成员初始化:属性赋值 $girlfriend1->name="波波姐"; $girlfriend1->age=25; $girlfriend1->stature=[88,90,98]; //访问对象的成员属性:使用指向符: -> echo "<p>姓名:".$girlfriend1->name."</p>"; echo "<p>年龄:".$girlfriend1->age."</p>"; echo "<p>身材:</p>"; echo "<pre/>"; print_r($girlfriend1->stature);
执行:
类方法的访问,修改demo.php
<?php //导入类Girlfriend require "./class/GirlFriend1.php"; //访问类中声明的成员,必须先创建类的实例,即对象 $girlfriend1=new GirlFriend1(); //类方法的访问: echo $girlfriend1->getInfo(); echo $girlfriend1->getInfo('波波姐',30); echo $girlfriend1->getStature(); echo $girlfriend1->getStature([120,130,90]);
执行:
赏泌巢琳谓懂佳娜吩媚兜建潘