-
1、继承的关键字是extends
2、关键字$this
3、记住格式是$this ->speed +=60;
return $this ->speed;
查看全部 -
1、非静态方法调用时需要实例化对象,通过对象调用方法,格式是$car = new Car(); echo $car -> getName()。
2、静态方法调用时不需要实例化对象,直接调用即可,格式是echo Car : : getName();
查看全部 -
对象比较,当同一个类的两个实例的所有属性都相等时,可以使用比较运算符==进行判断,当需要判断两个变量是否为同一个对象的引用时,可以使用全等运算符===进行判断。
class Car { } $a = new Car(); $b = new Car(); if ($a == $b) echo '=='; //true if ($a === $b) echo '==='; //false
对象复制,在一些特殊情况下,可以通过关键字clone来复制一个对象,这时__clone方法会被调用,通过这个魔术方法来设置属性的值。
class Car { public $name = 'car'; public function __clone() { $obj = new Car(); $obj->name = $this->name; } } $a = new Car(); $a->name = 'new car'; $b = clone $a; var_dump($b);
对象序列化,可以通过serialize方法将对象序列化为字符串,用于存储或者传递数据,然后在需要的时候通过unserialize将字符串反序列化成对象进行使用。
class Car { public $name = 'car'; } $a = new Car(); $str = serialize($a); //对象序列化成字符串 echo $str.'<br>'; $b = unserialize($str); //反序列化为对象 var_dump($b);
查看全部 -
代码正确,但总是不通过!!
<?php
$subject = "my email is spark@imooc.com";
//在这里补充代码,实现正则匹配,并输出邮箱地址
//$pattern = '/\w+\@\w+\.\w+/';
$pattern ='/\w\s(\w+\@\w+\.\w+)/';
preg_match($pattern,$subject,$matches);
print_r($matches);
查看全部 -
<?php
//定义一个Car类并实例化一个对象
class Car {
public $name = "Carcar";
public $type = "type of";
public $price = 100000;
public $topSpeed = 300;
public function getInfo() {
echo "这是一个名字叫".$this->name."的".$this->type.", 她可以很温柔,有".$this->price."的感觉,想起她的时候有,".$this->topSpeed."次";
}
}
$bus = new Car();
$bus -> name = "刘何娟";
$bus -> type = "女子";
$bus -> price = 520520;
$bus -> topSpeed = 100;
$bus -> getInfo();
查看全部 -
· 类 − 定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。
· 对象 − 是类的实例。
对象的主要三个特性:
· 对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为。
· 对象的形态:当施加那些方法是对象如何响应,颜色,尺寸,外型。
· 对象的表示:对象的表示就相当于身份证,具体区分在相同的行为与状态下有什么不同。
比如 Animal(动物) 是一个抽象类,我们可以具体到一只狗跟一只羊,而狗跟羊就是具体的对象,他们有颜色属性,可以写,可以跑等行为状态。
· 多态:不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
· 重载:同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。
· 抽象性: 是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质。
· 封装:是指将现实世界中存在的某个客体的属性与行为绑定在一起,并放置在一个逻辑单元内。
· 构造函数 :主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。
· 析构函数: 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做"清理善后" 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。
查看全部 -
cookie将数据存储在客户端,建立起用户与服务器之间的联系,通常可以解决很多问题,但是cookie仍然具有一些局限:
cookie相对不是太安全,容易被盗用导致cookie欺骗
单个cookie的值最大只能存储4k
每次请求都要进行网络传输,占用带宽session是将用户的会话数据存储在服务端,没有大小限制,通过一个session_id进行用户识别,PHP默认情况下session id是通过cookie来保存的,因此从某种程度上来说,seesion依赖于cookie。但这不是绝对的,session id也可以通过参数来实现,只要能将session id传递到服务端进行识别的机制都可以使用session。
查看全部 -
在面向过程的程序设计中function叫做函数,在面向对象中function则被称之为方法。
同属性一样,类的方法也具有public,protected 以及 private 的访问控制。
访问控制的关键字代表的意义为:
public:公开的
protected:受保护的
private:私有的使用关键字static修饰的,称之为静态方法,静态方法不需要实例化对象,可以通过类名直接调用,操作符为双冒号::。
查看全部 -
在类中定义的变量称之为属性,通常属性跟数据库中的字段有一定的关联,因此也可以称作“字段”。
属性声明是由关键字 public,protected 或者 private 开头,后面跟一个普通的变量声明来组成。
属性的变量可以设置初始化的默认值,默认值必须是常量。
访问控制的关键字代表的意义为:
public:公开的
protected:受保护的
private:私有的调用对象属性方法:
默认都为public,外部可以访问。一般通过->对象操作符来访问对象的属性或者方法,
对于静态属性则使用::双冒号进行访问。
当在类成员方法内部调用的时候,可以使用$this伪变量调用当前对象的属性。
受保护的属性与私有属性不允许外部调用,在类的成员方法内部是可以调用的。
查看全部 -
上一节,我们使用汽车举例来认识了类与对象,本节我们来了解一下类的定义方法,类通过关键字class开头,然后是类名与花括号,在花括号中定义类的属性与方法。类名必须是字母或下划线开头,后面紧跟若干个字母、数字或下划线,类名最好能够表意,可以采用名词或者英文单词。
查看全部 -
先理解意思操作符意思:
无论是"->"还是"::",可以理解为"的",
this :当前对象的指针
self:当前类的指针 调用静态方法时
parent:当前父类的指针 调用静态方法时查看全部 -
__construct(),类的构造函数
__destruct(),类的析构函数
__call(),在对象中调用一个不可访问方法时调用
__callStatic(),用静态方式中调用一个不可访问方法时调用
__get(),获得一个类的成员变量时调用
__set(),设置一个类的成员变量时调用
__isset(),当对不可访问属性调用isset()或empty()时调用
__unset(),当对不可访问属性调用unset()时被调用。
__sleep(),执行serialize()时,先会调用这个函数查看全部 -
class 类名 extends 父类名 {}
查看全部 -
=> 是数组成员访问符号
-> 是对象成员访问符号
比如:
$array = array("site map"=>"map.php"); //定义了一个数组,包含一个数组成员:键名为site map,值为map.php
$this->$name = $value
$this 在php语言里是个特定的变量,它代表了类本身,->是访问其类成员的操作符,$this->$name = $value,这句代码意思是:将当前类的name变量的值设置为 $value.
(转自百度知道)查看全部 -
对象比较,当同一个类的两个实例的所有属性都相等时,可以使用比较运算符==进行判断,当需要判断两个变量是否为同一个对象的引用时,可以使用全等运算符===进行判断。
对象复制,在一些特殊情况下,可以通过关键字clone来复制一个对象,这时__clone方法会被调用,通过这个魔术方法来设置属性的值。
对象序列化,可以通过serialize方法将对象序列化为字符串,用于存储或者传递数据,然后在需要的时候通过unserialize将字符串反序列化成对象进行使用。
查看全部
举报