<?php
#面向对象(opp)
#类(class)和对象(object)面向对象的核心概念.{数据类型和数据操作}对象是是实力
#简单来说,类是用于生成生成对象代码模块。
#key $age="23";#关键字key可以是public protected private static 和final中任意一个。
#public(公有):表示变量在类的内部和外部都可以被读取和修改.
#protected(受保护)表示变量可以被其自身以及其子类和父亲读取和求改.
#private(私有):表示变量只能被其定义所在的类访问.
#要访问成员变量,可以使用“->”符号连接对象和变量名。在方法(函数)内部通过$this->访问同一对象的变量.
class SimpleClass{
public $nationality="China";//定义公用变量$nationality
public $age="23";//定义公用变量$age
}
$s=new SimpleClass();//创建对象
echo "女孩的国籍是:".$s->nationality."<br>";
echo "女孩的年龄是:".$s->age."<br>";
#private修饰的变量不能在当前对象之外被直接访问,一般用用于隐藏数据,以保证某些数据的安全
//在php中,☞向对象的变量是引用变量,该变量里储存的是所☞对象的内存地址。引用变量值传递时,传递的时对象的地址,而非复制该对象
class sl{
public $zxc="z";
}
$s=new sl();
$sl1=$s;
$sl1->zxc="x";
echo "对象sl1的属性值是:".$sl1->zxc."<br>";
echo "对象s的属性值是:".$s->zxc."<br>";
class SimpleClass2{
#类中的方法
//类中的方法(又叫成员方法)是☞在类中声明的特殊的函数.他与普通的函数的区别在于,普通函数实现的是某个独立的功能;而成员方法是实现类的一个行为,是类的一个部分
/*成员变量*/
public $age=22;
/*成员方法*/
public function setAge($age){
$this->age=$age;//$this是php的伪变量
}
public function getAge(){
return $this->age;
}
}
$a=new SimpleClass2();//创建对象
$a->setAge("26");//改变$a的age的值
echo $a->getAge()."<br>";//输出改变后的值*/
class m{
public $age=23;
}
class n{
public function getAge($a){
return $a->age;
}
}
$a=new m();
$p=new n();
echo $p->getAge($a);
#方法内接受到的变量是局部变量,仅在方法内部有有效。可以通过向属性传递变量值的方式,让该变量应用于整个对象。同属性的访问一样,可以使用“->”连接对象和方法名来调用方法,所以不同的是,调用方法时必须带有圆括号(参数可选)
#php允许在定义函数时为参数设定默认值。在调用该该方法时若没有传递参数,将使用默认值填充该参数变量。同时允许一个方法内部传递另一个对象的应用。