【前言】
? ?本文总结下面向对象的基础知识点,大概有以下几个
? ?①类的声明;②属性的声明;③方法的声明;④对类进行实例化出一个对象;⑤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();
?>
?
?
?
?
?
?
?
?
?
?
.