【前言】
? ?本文总结下面向对象的基础知识点,大概有以下几个
? ?①类的声明;②属性的声明;③方法的声明;④对类进行实例化出一个对象;⑤this伪变量
?
【主体】
class="php"><?php //对象的声明,将函数放到对象里 class oneclass{ //方法 function one(){ echo "666"; } } //实例化对象 $class = new oneclass(); // 函数调用 $class -> one(); ?>
?
(1)属性和方法
将变量赋值放到类中,便成为了属性;将函数放到类里,便成了方法
属性和方法的调用:
<?php //放到对象里 class oneclass{ public $name = '我是属性'; function one(){echo "我是方法";} } //实例化对象 $class = new oneclass(); // 方法调用 $class -> one(); //属性调用 echo $class->name;//调用属性时可以不加$ ?>
?
注意:方法和属性加到类里时前面要加入权限声明,否则默认public
?
(2)类的声明
语法:class 类名{...}
注意:类名不区分大小写,但是Linux下区分,所以要保持一致。且命名采用驼峰法,一般首字母大写
<?php //类的声明 class person{ //属性声明 public $name = 'wang'; //方法声明 public function man(){ echo "1111"; } } //调用类的话,要先new一个对象,且实例化时不区分大小写,但在Linux下严格区分大小写, //所以要避免不一致的情况。命名时用驼峰法 $person = new PERSON(); $person -> man(); echo $person->name; ?>
?
?
(3)属性赋值的变化
属性不能赋值表达式?
5.6版本开始支持表达式,例如public $rand = 1+1;
?
(4)类与对象关系
类是同类事物共同特点的抽象描述;而对象是以类作为模板,形成的具体实例
所以当new + 类名时,便成为new一个对象,即实例化对象
<?php //类的声明 class person{ //属性声明 public $name = 'tony'; //方法声明 public function man(){ echo "1111"; } } //实例化一个对象,赋值给变量 //new类名时,内存便会产生一个对象,开辟新空间存放属性和方法名 $person = new PERSON(); $person1 = new PERSON(); echo $person->name; $person1 ->name = 'tony1'; echo $person1->name; ?>
?
注意:
①这里改变的属性值不是类里的属性值,而是开辟出的新空间的值;
②开辟的新空间只存放属性和属性值,至于方法只存放方法名,不存放函数
?
(5)this
$this是伪变量,谁实例化对象就是谁。简单理解谁调用就是谁
<?php class Person{ public $name = 'tony'; public $goods = 'dogs'; public function buy(){ echo "拍电影吧".$this->name; } } $person = new Person(); //调用new出来的对象中的方法,所以this指的是new出来的对象。而不是类本身 $person -> buy(); ?>
?
?
?
?
?
?
?
?
?
?
.