- 相关推荐
PHP中的类与对象入门知识
语法比较好理解,但面向对象是编程思想,需要一定的代码量才能理解存在的意义。我们不妨来看看PHP中的类与对象入门知识,以下仅供参考!
基本语法
定义类
class name{
public $user = '张三';
function getUser(){
return $this->user;
}
}
class 关键字,定义类的时候必须要有
name 类名称,命名规则雷同变量
{ … } 类的代码,写在这里面
public 定义可见性,后面会讲
$user 定义类属性,很像变量
function getUser(){..} 定义类方法,很像函数
$this 伪变量,在类内部调用方法、属性时使用
调用类
只要看到 new xxx,这样的语法,就一定是在实例化类。
//实例化类,$n 是一个对象
$n = new name();
//调用类属性
echo $n->name;
//调用类方法,有括号的是方法
echo $n->getUser();
//静态调用类属性
name::$user;
name::getUser();
静态调用,需要有 static 的修饰符,非本文重点,略过。
类属性
功能和语法 和 变量非常接近。
在类的内部定义。
调用时,必须通过类的实例化对象。
类方法
功能和语法 和 函数非常接近。
在类的内部定义。
调用时,必须通过类的实例化对象。
能使用 $this,而函数没有。
$this
PHP预先定义好的伪变量,用于在类的内部,调用其他方法和属性。
只能用,不能对它赋值。
可见性
在类的内部,可以使用可见性修饰符,来修饰类的属性和方法。
class name{
public $user = 'test';
//定义受保护的类方法
protected function get(){
return $this->user;
}
function get2(){
// 正确,在类内部可调用
$this->get();
}
}
$n = new name();
// 报错,受保护的方法,外部不能调用。
$n->get();
public (公有)类的内部、外部都可以调用
protected (受保护)只能在类的内部调用,包括子类
private (私有)只能在类的内部调用,排除子类
魔术方法
由PHP 定义好的一系列有特殊意义的方法。
构造方法
它是魔术方法中比较常用的一种。
class name{
function __construct( $name ){
echo $name;
}
}
$n = new name( '张三' );
问题:上面的代码会输出 ‘张三’ 吗?
答案:原本不会,因为没有调用的类方法。
实际:会输出,因为 __construct() 是构造方法,实例化类的时候自动执行。
注意:你给对象传的参数,会由构造方法来接收。
还有别的魔术方法吗?
下面的全是,用的不多,新人知道就好。
__destruct(),__call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo()
魔术方法有什么特征
原则上,以“__”两个下划线开头的都应该是。
在特定场景自动执行。
类继承
子类继承父类的方法和属性,来强化自己。
基本语法
class a{
function get(){
echo 'a';
}
}
class b extends a{
function get2(){
echo 'b';
}
}
$obj = new b();
//正确,继承了 父类 a 的方法。
$obj->get();
子类 extends 父类 (继承语法)
可见性为 private 的方法,不能继承
父子类同名的方法、属性,优先调用子类
子类可通过 parent::方法() 来调用父类方法,包括构造函数
总结
类与对象,是语法学习时的一座大山,想理解它的精髓更非一日之功,所以新人在这里,能了解语法即可,至于为什么这样用,需要实战中慢慢提高。
【PHP中的类与对象入门知识】相关文章:
php编程语言入门知识05-22
php关于PHP上传入门学习知识点07-20
PHP编程:类和对象、方法调用09-26
php编程语言入门需要掌握哪些知识05-12
php学习笔记:类的声明与对象实例化05-14
PHP编程入门的基本语法知识点总结06-22
新手怎么入门PHP07-03
什么是PHP面向对象中的重载重写07-03
PHP中的Memcache基础知识10-25
PHP面向对象的进阶学习09-06